1.注释:
以'#'开头
2.Python大小写敏感
3.数据类型:
①整数
②浮点数
③字符串:以单引号或双引号括起来的任意文本。如果'也为一个字符,那么用""括起来,如果'和"都是字符,那么用转义字符\来表示。如果有很多字符需要转义,可以使用r''表示''内部的字符串默认不转义。如果字符串内部有很多的换行,用\n写在一行不好阅读,为了简化,可以使用'''...'''的格式表示多行内容
④布尔值
⑤空值:用None表示
4变量:变量本身类型不固定的被称为动态语言,与之对应的是静态语言,是一种一开始就定义数据类型的语言
5常量:通常用全为大写的变量名来表示常量
6.除法:
py2和py3的除法是有区别的,py2的除法和c语言类似,而py3中,/除法结果是浮点数,即使两个整数正好整除,而多的一种除法地板除//,和py2的除法类似
7.字符编码:
Python3版本中,字符串是以Unicode编码的,对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符
由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干字节。如果要在网络上传输,或者保存到磁盘上,就需要把str变为以字节为单位的bytes
x = b'ABC'
注意区分'ABC'和b'ABC',前者是str,后者虽然内容显式地和前者相同,但bytes的每个字符都只占一个字节
以Unicode表示的str通过encode()方法可以编码为指定的bytes
反过来,在网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就要用到decode()方法
若bytes中包含无法解码的字节,decode()会报错,若只有一小部分无效的字节,可以穿入errors='ignore'忽略错误的字节
8.格式化:
①通常采用的方法同c语言,用%,如:
>>>'Hello, %s' % 'world'
'Hello, world'
>>>'Hi, %s, you have $%d ' % ('Micheal', 1000000)
'Hi, Micheal, you have $1000000'
常见的占位符:
占位符 | 替换内容 |
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
print('%2d-%02d' % (3, 1))
print('%.2f' % 3.1415926)
结果为:
3-01
3.14
%使用%来转义的,即%%表示一个'%'
②另一种格式化方法为format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}......
>>>'Hello, {0}, 成绩提高了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提高了 17.1%'
9.list:
一种内置的数据类型,有序集合,可以随时添加和删除其中的元素
若要删除list末尾的元素,用pop()方法
要删除指定位置的元素,用pop(i)方法,其中i是索引位置
要替换指定位置的元素,直接赋值给对应的索引位置
10.tuple:
初始化后不能修改,其余和list类似
11.条件判断:
略
12.循环:
学了列表后,range()外要包一个list(),即list(range())
13.dict:
当后续添加键值时,由于一个键只能对应一个值,多次对一个键放入值,后面的值会把前面的值冲掉。
如果键不存在,dict会报错,要避免的话,有两种方法:
①通过in判断key是否存在:
>>>'Thomas' in d
False
②通过dict提供的get()方法,如果key不存在,会返回None,或者自己指定的value:
>>>d.get('Thomas')
>>>d.get('Thomas', -1)
-1
注:返回None的时候Python交互界面不显示结果
删除key用pop(key)方法,对应的value也会删除
与list比较,dict的特点:
①查找和插入速度极快,不会随着key的增加而变慢
②需要占用大量的内存,内存浪费多
14.set:
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以在set中没有重复的key
要创建一个set,需要提供一个list作为输入集合:
>>>s = set([1,2,3])
>>>s
{1,2,3}
注意传入的是一个列表,而显示的只是告诉你set内部的元素,并且set也是无序的
重复元素会被set过滤掉:
>>>s = set([1,1,2,2,3,3])
>>>s
{1,2,3}
通过add(key)方法可以添加元素
通过remove(key)方法可以删除元素
set被看做数学中的集合,故可以进行交集、并集操作:
>>>s1 = set([1,2,3])
>>>s2 = set([2,3,4])
>>>s1 & s2
{2,3}
>>>s1 | s2
{1,2,3,4}
set中同样不可放入可变对象。这里的意思是,虽然初始化可以通过列表初始化,但键的类型不可为list