天天看点

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,....) : 创建一个适合用于迭代的新序列

未完待续......