第一章 Python入门
一、 语言
计算机语言:人和计算机之间沟通的语言
计算机语言:
按照级别分类:(越高级月进阶人类)
机器语言:
汇编语言: 助记符 ag. add 2 3
高级语言: c, PHP, java , .net
二、 语言的执行方式
编译执行: 源文件,在执行时会被编译成二进制文件(文件里只有0和1)
优点:在没有修改的的情况下,只修改一次,因此运行速度快
缺点:可移植性插差。底层连接紧密,因此二进制文件移植到其他操作系统不能运行。
场合:底层开发,不做底层修改,使用编译语言。(C\C++)
解释执行: 只有源文件,少了编译的而过程,使用解释器(IDE)去执行
优点: 可移植性好,只需要在不同操作系统安装对应的解释器
缺点: 速度慢。没执行一次,就需要编译一次,所以运行速度慢
场合: 做系统级(不同系统)、web对外开发 (Python, JavaScript)
编译&解释: Java神器
三、Python语言介绍
1. 发展史
龟叔,荷兰人,曾经开发ABC语言,但是由于不开源失败。
于1989年决定写一门语言,避免ABC错误,开源语言并升级
兴起的原因:
1. torch开发了python版本;
2. google期初论文基于python;
2. Python版本
2.x --- 知道2.7版本截止;
3.x --- (进行了规范化、简洁化)
3. Python的特点
a. 语法简洁;
b. 既面向过程也面向对象(同PHP)
c. 可扩展性(可以使用其他语言) --- 几乎每个语言都有这个功能
d. 解释执行,跨平台
e. 强大的库和第三方库
4. 应用方向
(1) web开发
(2) 网络爬虫
(3) 游戏编程
(4) 人工智能,数据分析、科学计算
5. python缺点
(1) 速度慢 --- 翻译复杂 --- 但是具体看需求
(2) 不可加密 --- 不能封装成exe类似文件
四、 开发环境,环境变量
即,操作系统中特殊的信息。不同环境变量有不同的名字。
设置方法:
a. 窗口设置(永久性)
> 用户变量适用于当前账户,系统变量适用于所有账户
> % *** % 为引用其他变量
eg1.我的anaconda路径
C:\ProgramData\Anaconda3;
C:\ProgramData\Anaconda3\Scripts;
C:\ProgramData\Anaconda3\Library\bin
b. 使用cmd命令(临时,仅限cmd窗口有效。)
set path = %修改内容%
Tip: 退出python环境的命令,exit()
五、 Python的执行
1. 分类
交互模式:每输入一个命令,输出结果
脚本模式:在磁盘中建立脚本文件(.py),执行时通过<cd到脚本文件路径+脚本文件名>
> 这两种模式对应的变量生命周期不同,脚本将py文件执行完才清空内存,而交互模式为一行一行的执行。
2. 区别:
交互模式相当于一行一行输入原代码,每输入一行,执行一次;
脚本模式是一次性把脚本全部执行,不进行交互
六、 Python 基础知识
1. 变量
--- 使用特定的名绑定特定的值,相当于给值贴标签。(即指向模式)
2. 存储结构 ********** 附图 ***********
(1) 内存中创建一个变量'ABC';
(2) 内存中创建一个变量名a
(3) 变量名指向变量值
3. 多变量指向同一变量值
<Python基于内存管理机制>不可变类型,数值类型、字符串、字节不占用相同内存
> 可以使用id()函数验证
4. 修改变量的绑定
> 第一次赋值相当于定义变量
> 第二次赋值相当于修改变量名的指向修改,因此对变量值的类型不限制
5. 变量名(标识符)的命名规则
(1) 支持数字、字母和下划线,但是不能以数字开头
(2) 变量在使用之前必须赋值,只有赋值才会创建变量名
(3) 鸭子类型,即变量没有类型,可以使用同一变量名绑定多种类型的变量值。
6. 动态语言和静态语言
区别: 给变量赋值或者定义是否需要指明变量类型,即变量类型是否固定
7. 强类型语言和弱类型语言
强力型语言: 一旦一个变量被指定了某一个数据类型,如果不强制转换,永远是这种数据类型
弱类型语言:
可以根据情况自动更改变量类型
--- Python是动态强类型语言
PHP是动态弱类型语言
C\C++是静态强类型语言
eg2.
# Python
a = 'ABC'
print(a+2)
# PHP
¥ a = 'ABC'
$ b = a + 1
8. 变量值的交换 --- 平行赋值
a ,b = b, a (相当于用temp进行了交换)
a,b,c = 1,2,3 --- 特殊类型元组,不是平行赋值
9. 变量的销毁(垃圾回收,自己删除)
格式: del 变量名
> 一般不需要删除多余变量,变量值得删除需要依赖内存管理机制,变量名可以依靠del命令和垃圾回收
> del命令删除的是变量名
10. 常量 --- 不能改变的变量
(1) 普通变量 定义: 用大写字母、数字组合来命名(约定成俗的开发规范)
(2) None --- python内置常量,表示变量内置值的缺失,即变量名没有指向内容
注意: 和空串''不是一个概念,空串是有指向的,只是没有内容,类型为str
11. 输入输出
(1)输出: print(*values, sep = '\空格', end = '\n', file, flush)
#######此处需完善#######
(2)输出 input(字符串)_
> 以字符串格式,返回输入值
> 阻塞函数
(3)输入 raw_input()
随便输都是字符串,而input()必须按照Python的规则来,即字母必须加引号。
12. 注释
(1) 单行注释 #
从#到当前行结束的部分,不会被python解释器解析
(2) 特殊注释(经过Python解释器)
a. 指定设置pthon解释器的位置
#!/user/bin/python3
b. 设置文件的编码集
#-*-coding:UTF-8-*- , python3默认utf-8
13. 标识符
变量名、类名、方法名、函数名
命名规则:
a. 字符、数字、下划线,不能以数字开头
b. 不能是关键字
c. 区分大小写
d. 一般不以@ ¥ *等命名,易混淆
14. 关键字
import keyword
keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
第一章 Python入门的更多相关文章
- Python之旅_第一章Python入门
一.编程语言分类 1.机器语言:即计算机能听懂的二进制语言,0000 0001,直接操控硬件: 2.汇编语言:简写的英文标识符代替二进制语言,本质同样是直接操控硬件: 3.高级语言:用更贴近人类的语言 ...
- 第二章Python入门
第二章 Python入门 2.1.简介 Python是著名的"龟叔"(Guido van Rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言 Pytho ...
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- Kettle解决方案: 第一章ETL入门
第一章ETL入门 1.1 OLPT和数据仓库对比 普通的事务系统和商业智能系统(BI)有什么区别? 1个独立的普通事务系统也被称为在线事务处理系统(OLTP) 商业智能系统也常被称为决策支持系统(DS ...
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- Java Persistence with MyBatis 3(中文版) 第一章 MyBatis入门
本章将涵盖以下话题: ž MyBatis是什么? ž 为什么选择MyBatis? ž MyBatis安装配置 ž 域模型样例 1.1 MyBatis是什么 MyBatis是一个简化和实现了Ja ...
- 第一章 Kubernetes入门
第一章 Kubernetes入门 kubernetes是基于容器技术的分布式架构领先方案,是一个完备的分布式系统支撑平台. kubernetes带来的好处:1)全面拥抱微服务:2)统可以随时随地整体“ ...
- 第一章python 简介
python语言是目前最流行的编程语言之一,在笔者写这篇文章的前一周,2018年的IEEE的编程语言排行出来了,python又雄踞第一. Python 强势霸榜第一名!排名第二的 C++ 得分是 98 ...
- 第一章 Python程序语言简介
第一节 Python概述 1. 什么是Python Python是一种 解释型.面向对象.动态数据类型 的高级程序设计语言.由Guido van Rossum与1989年发明,第一个公开发行版本发行于 ...
随机推荐
- SpringMVC跨重定向请求传递数据
(1)使用URL模板以路径变量和查询参数的形式传递数据(一些简单的数据) @GetMapping("/home/index") public String index(Model ...
- 【工具测试】Acunetix 11-登录后扫描的功能
1.概要 在测试的过程中,会给一些只有登录口的测试站点,只有登录后才能访问更多的页面. Acunetix 11的登录后扫描功能摸索了老半天,原来这么神奇.学习了! 2.操作 登录之后 - [Add T ...
- freeRTOS中文实用教程2--队列
1.前言 freeRTOS中所有任务的通信和同步机制都是基于队列来实现. 2.队列的特点 图 队列的读写操作 队列的数据存储 (1)队列可以保存有限个具有确定长度的数据单元,队列可以保存的最大单元数目 ...
- STOMP Over WebSocket
Show Table of Contents What is STOMP? STOMP is a simple text-orientated messaging protocol. It defin ...
- 编码实现字符串类CNString实现运算符重载
题目描述: 编码实现字符串类CNString,该类有默认构造函数.类的拷贝函数.类的析构函数及运算符重载,需实现以下"="运算符."+"运算."[]& ...
- Qt5 json 数据处理
QT4中使用第三方库QJson解析JSON文件. QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中. 用到的头文件 #include <QJsonArray> ...
- KVM -> 虚拟机管理&console登录_02
1.KVM虚拟机管理操作 virsh命令常用参数总结 1.开机关机: virsh list (只可以查看运行的虚拟机) virsh list --all (全部都可以查看) 开机与关机: virsh ...
- html中hr的各种样式使用
第一种: <hr style=" height:2px;border:none;border-top:2px dotted #185598;" /> height:2p ...
- ERP商品管理业务逻辑封装(三十四)
产品购进管理业务逻辑: public class ProductBLL { /// <summary> /// 产品对象添加 并且返回产品编号 /// </summary> / ...
- C#学习网站收集
1. 大名鼎鼎的CodeGuru 号称代码领头羊 非常著名的关于程序开发的网站,大量的资料.强烈推荐 http://www.codeguru.com/ - 外文 2. Developer.com: A ...