python学习笔记1-网课(10.17-1.018)
<br />
warning:input函数赋值给变量的是字符串
<br />
布尔类型
and or not
分别用于取代C中的&&,||,!
把 ** 0、空字符串和None** 看成 False,把 ** 其他数值和非空字符串** 都看成 True
and or 运算符合短路计算
<br />
list列表
创建时元素用[ ]框起
列表操作
L[-1]/L[-n]返回倒数第1/n个元素
L.append(date)添加元素至末尾
L.insert(num,date)添加daet至索引为num的位置
L.reserve()
L.remove(value)删除列表中第一次出现的value
L.pop([num])删除索引为num位置的元素,并返回其值
**enumerate(List) **生成[(1,date_1),(2,date_2)``` ]的列表
L.count(value) 返回value出现的次数
L.index(value)返回value第一次出现位置的编号
列表生成式[fun(t) for t in range(x, y,z) if test(t)]生成由fun函数值组成,自变量t从x到z间隔y且符合test的列表;fun()可有多参数并加入其他for迭代
<br />
tuple列表(元组)
创建时元素用()框起
tuple的每个元素,指向永远不变
定义单元素tuple时用(元素,)避免歧义;多元素时最后一个','在print时不会被显示
t = ('a', 'b', ['A', 'B'])
注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:
L = t[2]
然后,我们把list的两个元素改一改:
L[0] = 'X'>>> L[1] = 'Y'
再看看tuple的内容:
print t('a', 'b', ['X', 'Y'])
<br />
list-tuple切片
L[x:y:z]返回索引为从x到z,每y个元素取一个元素,组成的List打包为新的list ;tuple同理;支持倒叙切片;可对字符串用同样的办法使用
<br />
字符串切片
w为字符串,w[x:y]生成从x-y的字符串,无x/y则从头开始/至尾结束
<br />
dist列表
创建时元素用{ }框起
d = {
....key1-value1
...
....keyn-valuen
}
lend(d)返回d中元素数量;d[key]返回对应value,但当key不存在时报错,两种避免方法分别是
1:先判断一下 key 是否存在,用 in 操作符
if 'Paul' in d:
print d['Paul']
2:*使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None
print d.get(key)
dist的3个特点:查找速度快,存储的key-value序对是无顺序,作为 key 的元素必须不可变(list不可作为key)
遍历dist
for key in d:
... print key
迭代时,d.value()生成一个 dict 转换成了包含 value 的list; d.itervalues() 会在从 dict 中取出 value而不生成新的列表; d.items() 生成[(value1,date1),````]的list列表
<br />
set列表
set的元素没有重复,而且是无序的——无法通过索引来访问
创建时用set(L),L为list列表,生成的set表自动去除重复元素
遍历方式同dist列表
s为set列表,s.add(date)/s.remove(date)用于添加/删除列表元素;remove元素不存在表中会报错——前加判断
<br />
缩进规则
具有相同缩进的代码被视为代码块,缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误;若在Python交互环境下敲代码,还要特别留意缩进,并且退出缩进需要多敲一行回车
age = 20
if age >= 18:
... print 'your age is', age
... print 'adult'
...
your age is 20
adult
<br />
函数
def fun(input_date1=defaul_1,date2=default_2, *variable_date````)
(return output_date1,_date2
)
传入可变参数时/返回多值时,将参数打包为tuple列表
<br />
生成随机数
1.random.randint(x,y) 生成范围在x-y的随机数
<br />
2.random.randrange():
1-random.randrage(x):返回从0-x(不包括x) 的随机整数