今日是二零一五年八月二日
1. print函数在输出两个变量时,自带空格
print '100 + 200 =' , 100 + 200
2. python的注释符号为#
3. 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如:
a = 123 # a是整数
print a
a = 'ABC' # a变为字符串
print a
这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。例如Java是静态语言,赋值语句如下(// 表示注释):
int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量
4. 在python中,list变量功能类似于数组,是一个有序的集合
>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates #尝试输出list
['Michael', 'Bob', 'Tracy']
len()函数获取list变量的长度
append()函数可以为list函数末尾添加元素
insert()函数可以在指定位置添加元素
pop()函数可以删除末尾的元素,pop(i)可以用于删除i位置元素
list里面的元素的数据类型也可以不同,比如:(同样可以包含list对象)
>>> L = ['Apple', 123, True]
5. tuple是“固定不变”的list,所谓固定不变,是tuple所指向的对象没有变为其他对象,但是对象本身的值是可以改变的。
# tuple.py
b = [2]
t = ('a' , b )
print t
b[0] = 3
print t
其输出的结果是
(a , [2] )
(a , [3] )
但代码
# tuple.py
b = 2
t = ('a' , b )
print t
b = 3
print t
的输出结果是
(a , 2)
(a , 2)
来看一个“可变的”tuple:
>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
'a'
,'b'
和一个list。不是说tuple一旦定义后就不可变了吗?怎么后来又变了?
别急,我们先看看定义的时候tuple包含的3个元素:
'A'
和'B'
修改为'X'
和'Y'
后,tuple变为:
'a'
,就不能改成指向'b'
,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。