1、基础
1.1、基础语法
- 以#开头的语句是注释;
- 当语句以:结尾时,缩进的语句视为代码块;
- Python时大小写敏感的。
1.2、数据类型
- 整数:整数运算永远是精确地(除法也是),python可以处理任意大小的整数;
- 浮点数:对于很大或很小的浮点数,必须使用科学计数法表示,把10用e代替,1.23X10^9就是1.23e9,或者12.3e8。浮点数和整数在计算机内部存储的方式是不同的。浮点数会有四舍五入的误差。
- 字符串:注意转义字符\,比如’I’m “OK”!’ --> I’m “OK”!
- 布尔值:可以用and、or、not运算。
- 空值:用none表示。
- 复数型:3+5j,将数学上的i变为j。
1.2.1、变量
- 变量:必须是大小写英文、数字和_的组合,不能用数字开头。
a = 'ABC’时,python解释器干了两件事:1、在内存中创建了一个’ABC’的字符串;2、在内存中创建一个名为a的变量,并把它指向‘ABC’。
- 变量的命名:用小写字母拼写,多个单词用下划线连接;受保护的实例属性用单个下划线开头;私有实例属性用两个下划线开头。
- 常量:不能变的变量;python中有两种除法,/的结果为浮点数,//(地板除)的结果为整数。
1.2.2、变量的使用
1.3、字符编码
1.3.1、python的字符串
- 字符串使用Unicode编码的;
- 提供了ord()函数获取字符的整数表示,chr()函数把编码转成对应的字符;
- python对bytes类型的数据用带b前缀的引号表示,用unicode表示的str通过encode()方法可以编码为制定的bytes。print(‘中国’.encode(‘UTF-16’));从网络或磁盘上读取到字节流,数据类型是bytes。要把bytes变为str,就要使用decode()方法。b’\xff\xfe-N\xfdV’.decode(‘UTF-16’)。
- 要计算str中有几个字符,可以使用len()函数;若为整数则报错;可以计算bytes的字节数;
- 占位符%:%d整数,%s字符串,%f浮点数,%x十六进制整数。eg:‘Hello,%s’ % ‘world’ --> ‘Hello, world’。若不太确定用什么,可以直接使用%s,会把所有转化为字符串。
1.4、List和Tuple
1.4.1、list
- 定义方式:classmate = [‘Mike’, ‘Frank’, ‘Nigger’],使用len()函数可以获取长度,脚标为-1时为最后一个元素;
- list为一个有序列表,append()可以追加元素到末尾,insert()方法在指定位置添加元素;删除末尾的元素,可以用pop()方法,删除指定位置元素pop(i);
- list元素数据类型可以不同,list的元素也可以是一个list,此时可以把前者看做是一个二维数组;
1.4.2、tuple
- 元组:tuple。
- tuple一旦初始化就不能修改。classmates = (‘Mike’, ‘Frank’, ‘Nigger’)。
- 注::如果定义 t = (1)则定义的不是tuple,而是1这个数。故定义时需要添加一个,。即为t = (1,);
- t = (‘a’, ‘b’ , [‘A’, ‘b’]),list中的值是可变的;
*
1.5、List和Tuple
classmates = ['Mike', 'Frank', 'Nigger']
for classmate in classmates: #**注意引号**
print(classmate)
1.6、dict
- 类似于java中的map,使用键值对存储。
- di = [‘Mike’: 95, ‘Frank’: 75, ‘Tracy’: 85]
- 查询速度快的原因:首先根据key找到索引表这个字所对应的的页码,直接翻到该页,找到这个字。
- pop()方法会返回value;get()方法如果key不存在,则返回None;
- 由于需要创建索引,内存浪费多。
- key的对象是不能变的,所以可以用字符串、整数,不可以用list,可以用tuple。
1.7、set
- set也是key的集合,但是不存储value,key不能重复。
- s = set([1,2,3])