第三章
- 动态语言:变量本身类型不固定,可以随时改变。
-
输出是ABC,而不是XYZa = 'ABC' b = a a = 'XYZ' print b
- 用\对字符串中某个字符进行转义
print 'Bob said \"I\'m OK\".'
- 多行字符串
'''Line 1 Line 2 Line 3'''
- 布尔类型 and 和 or 的“短路计算”!
a = True print a and 'a=T' or 'a=F'
输出是 a=T
第四章
列表list
- 可以倒序索引;但是,正序从L[0]开始,倒序从L[-1]开始~
-
>>>L = [0,1,2,3,4,5] >>>print L[0:4] [0,1,2,3] #!!注意没有4!!
!!注意没有4!! - append()函数,只能插到列表最后面
>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']
L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']
- insert( index, 'xxx' )函数,可以指定一个位置插入
注意:函数执行时,是把‘xxx’插入索引index的前面。
所以 l.insert(-1,'last')并不能把'last'放到列表最后,而是放在倒数第二个位置!
>>> L = ['Adam', 'Lisa', 'Bart']
>>> L.insert(0, 'Paul')
>>> print L
['Paul', 'Adam', 'Lisa', 'Bart'
L.insert(0, 'Paul')
>>> print L
['Paul', 'Adam', 'Lisa', 'Bart'
- pop()函数,删除指定索引的元素,并返回该元素
>>> L = ['Adam', 'Lisa', 'Paul', 'Bart']
>>> L.pop(2)
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']
元组tuple
- tuple也是列表,只不过其中元素不能删除,只能引用。而且用()而不用[ ]
>>> t = ('Adam', 'Lisa', 'Bart')
- 单个元素的tuple 要在元素后面加一个逗号,否则不是tuple而只是一个变量。例如 t = ('Adam', )
- "可变的”tuple
t = ( 'a','b',['A','B'])
L = t [2]
L [0] = 'X'
L [1] = 'Y'
print t
>>>('a','b',['X','Y'])
解释:(注意理解“指向”谁的概念)
当我们把list的元素'A'和'B'修改为'X'和'Y'后,tuple变为:
表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!