Python学习4——条件、循环及其他语句总结
多种语句
打印语句:
导入语句:
赋值语句:
代码块:
条件语句:
断言:
循环:
推导:
pass、dal、exec和eval :
学习到的新函数:(以下函数的应用代码均在IDLE测试通过)
chr(n) : 返回一个字符串,其中只包含一个字符,这个字符对应与输入的顺序n(0<n<256),经过测试也不一定要小于256啊!手动滑稽,寻找原因中......
>>> chr(2) '\x02' >>> chr(89) 'Y' >>> chr(266) 'Ċ' >>> chr(22222) '囎'
eval(source[ , globals[, locals]]) : 计算并返回字符串表示的表达式的结果,类似于exec,但exec什么都不返回,因为exec本身就是一条语句
>>> exec(input("pleaes input an arithmetic expression:")) pleaes input an arithmetic expression:2*2+2 >>> eval(input("pleaes input an arithmetic expression:")) pleaes input an arithmetic expression:2*2+2 6
exec(source[ , globals[, locals]]) : 将字符串作为语句执行
>>> #注意" "与' ' >>> exec("print('Hello Python!')") Hello Python!
enumerate(seq) : 生成可迭代的索引-值对
ord(c) : 接受一个只包含一个字符的字符串,并返回这个字符的顺序值(一个整数)
>>> ord('A') 65
range(start , stop[ , step]) : 创建一个有整数组成的列表
参数说明:
- start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
- stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
- step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
>>> range(10,1,-1) range(10, 1, -1) >>> list(range(10,1,-1)) [10, 9, 8, 7, 6, 5, 4, 3, 2] >>> for number in range(10,1,-3): print(number) 10 7 4
reversed(seq) : 按照相反的顺序返回seq中的值,以便于迭代
>>> list(reversed("Hello Python")) ['n', 'o', 'h', 't', 'y', 'P', ' ', 'o', 'l', 'l', 'e', 'H'] >>> ''.join(reversed("Hello Python!")) '!nohtyP olleH'
sorted(seq[ , cmp] [ , key] [ , reverse]) : 返回一个列表,其中包含seq中的所有值,而且这些值是经过排序的
参数说明:
- seq -- 可迭代对象。
- cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
- key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
- reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
>>>a = [5,7,6,3,4,1,2] >>> b = sorted(a) # 保留原列表 >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7] >>> L=[('b',2),('a',1),('c',3),('d',4)] >>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) # 利用cmp函数 [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> sorted(L, key=lambda x:x[1]) # 利用key [('a', 1), ('b', 2), ('c', 3), ('d', 4)] >>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>> sorted(students, key=lambda s: s[2]) # 按年龄排序 [('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)] >>> sorted(students, key=lambda s: s[2], reverse=True) # 按降序 [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)] >>>
xrange([start ,] stop[ , step]) : 创建一个用于迭代的xrange对象
zip(seq1,seq2,....) : 创建一个适合用于迭代的新序列
未完待续......