D:\PythonCode>python learning.py
input()和print()是在命令行下面最基本的输入和输出
一个布尔值只有True、False两种值,注意首字母是大写
布尔值可以用and、or和not运算
and运算是与运算,只有所有都为True,and运算结果才是True
or运算是或运算,只要其中有一个为True,or运算结果就是True
not运算是非运算,它是一个单目运算符,把True变成False,False变成True
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
在Python中,有两种除法:
/除法 计算结果是浮点数
//,称为地板除,两个整数的除法仍然是整数(整数的地板除//永远是整数,即使除不尽。要做精确的除法,使用/就可以)
10 // 3 = 3
Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的
Python的浮点数也没有大小限制,但是超出一定范围就直接表示为inf(无限大)
'Hi, %s, you have $%d.' % ('Michael', 1000000)
上面的代码等价于'Hi, Michael, you have $1000000.'
Python内置的数据类型
list 一个可变的有序表,可以随时添加和删除其中的元素
data1 = ['Michael', 'Bob', 'Tracy'] data2 = ['Apple', 123, True] data3 = ['python', 'java', ['asp', 'php'], 'scheme'] data4 = []
list公开的方法有:
1,len(data1) 函数可以获得list元素的个数
2,data1.append('Adam') 往list中追加元素到末尾
3,data1.insert(1, 'Jack') 把元素插入到指定的位置
4,data1.pop() 删除list末尾的元素
5,data1.pop(1) 删除指定位置的元素
6,data1[1] = 'Sarah' 把某个元素替换成别的元素,可以直接赋值给对应的索引位置
- tuple 不可变有序列表
没有append(),insert()这样的方法,不能赋值成另外的元素,不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。
定义一个空的tuple,可以写成 t()
定义一个只有1个元素的tuple,应该写成 t = (1,)
一种特殊的情况:t里面包含list
t = ('a', 'b', ['A', 'B'])
t[2][0] = 'X'
t[2][1] = 'Y'
打印结果:('a', 'b', ['X', 'Y'])
Python内置了字典:dict,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
d['Michael']
**请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。**
和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而变慢;
需要占用大量的内存,内存浪费多。
而list相反:
查找和插入的时间随着元素的增加而增加;
占用空间小,浪费内存很少。
需要牢记的第一条就是dict的key必须是不可变对象
在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。
*args是可变参数,args接收的是一个tuple;
**kw是关键字参数,kw接收的是一个dict。