一、输入输出
1. input()
python input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。
返回类型:input()
返回的数据类型是str,
用以用int(para)来转换类型
二、数据类型
空值:None
常量:比如PI,其实也用一个变量表示
布尔值:只有True
、False
两种值
字符串和编码:
不可变对象:str
replace
方法创建了一个新字符串'Abc'
并返回,而原字符串并没有改变
a = 'abc' a.replace('a', 'A')
在最新的Python 3版本中,字符串是以Unicode编码的,也就是说,Python的字符串支持多语言
Unicode和UTF-8编码:
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
用记事本编辑的时候,从文件读取的UTF-8字符被转换为Unicode字符到内存里,编辑完成后,保存的时候再把Unicode转换为UTF-8保存到文件:
浏览网页的时候,服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器:
所以你看到很多网页的源码上会有类似<meta charset="UTF-8" />
的信息,表示该网页正是用的UTF-8编码。
三、list和tuple
1. 用len()
函数可以获得list元素的个数
len(listname)
2. 索引:listname[-1]
索引位置外,还可以用-1
做索引,直接获取最后一个元素
3. 要删除list末尾的元素,用pop()
方法
listname.pop()
4. list里面的元素的数据类型也可以不同
L = ['Apple', 123, True]
tuple
5. tuple一旦初始化就不能修改
6. tuple中若包含list,则list是可变的
7. Python在显示只有1个元素的tuple时,也会加一个逗号
(1,)
四、条件判断
if语句
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4>
注意不要少写了冒号“:”
if (x): 只要x
是非零数值、非空字符串、非空list等,就判断为True
,否则为False
。
五、循环
1. Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来
names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name)
2. 第二种循环是while循环
while n>0:
六、dict和set
dict
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
字典的查找:直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢
把数据放入dict,还可以通过key放入
d['Adam'] = 67
和list比较,dict有以下几个特点:
- 查找和插入的速度极快,不会随着key的增加而变慢;
- 需要占用大量的内存,内存浪费多。
而list相反:
- 查找和插入的时间随着元素的增加而增加;
- 占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
什么类型可以做key:要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key:
set
set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。