List/Tuple
List和Tuple都是有序的列表,区别是List中的元素可以改变,而Tuple中的元素无法改变
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 list = [1 , 2 , 3 ] list = [1 , True , 'Sherlock Blaze' ] list.pop() list.pop(1 ) list.append(4 ) list.insert(0 , 0 ) tuple = (1 , 2 , 3 ) tuple = () tuple = (1 ,)
Attention
观察到上面声明一个元素元组的时候才用的语法为 tuple = (1,),而不是 tuple = (1) 理由是,在第二种情况下,python解释器将()当做小括号处理,所以其实声明的tuple为数字 1。即 tuple = 1
条件语句 1 2 3 4 5 6 happy = True if happy: print('xixixi' ) print('hahaha' ) else : print('wuwuwu' )
需要注意的是,这里的条件判断语句之后,有一个: , 并且接在下面的语句都是通过缩进来控制代码域的。
循环 for/while 通过代码来看:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sum = 0 for i in (1 , 2 , 3 ): sum += i 这里 (1 , 2 , 3 ) 是一个tuple,通过 in tuple 这个语法,可以让 i 遍历到tuple中的所有元素。 sum = 0 for i in range(5 ): sum += i 在这里,我们通过 range 函数,产生一个小于数字 5 的序列,也就是 [0 , 1 , 2 , 3 , 4 ] num = 0 while num < 10 : print(num) num += 1 if num == 7 : continue if num > 7 : break
简单解释:在 num 小于 10时,执行循环下的语句,通过 break 语句,在 num 大于 7 时,退出循环,又通过 continue 语句,使得在 num 等于7时,直接重新从头开始执行循环体下的语句。所以以上代码输出结果为:
dict/set 依然通过直接的代码来看 dict = {‘J’: 23, 343: ‘T’} 以上是Python中声明一个字典的方式,所谓字典,类似于其他语言中的map,也就是键值对。可以观察到,python中声明字典的方式,跟直接写一个json没有区别。同时我们可以看到,dict中,所有key/value的数据类型不一定是要全部相同的。 用来做key的数据必须是不可变数据,在python中,字符串和整型数据都是不可变数据,所以都可以用来做key。 那么,何为不可变数据类型? 对于字符串类型的数据
1 2 3 4 a = 'sherlock' b = a.replace('s' , 'S' ) print(a) print(b)
输出结果
通过上述代码,我们可以看到虽然用replace代码把a中的小写s替换成了大写S,但是a的字符串值并没有发生改变,是另外生成了一个字符串来存储。
1 2 3 4 5 6 7 8 9 10 setA = set([1 , 2 , 3 ]) setB = set([4 , 5 , 6 , 4 , 5 ]) print(setA) print(setB) setB.add(3 ) setA.remove(2 ) setC = setA & setB setD = setA | setB print(setC) print(setD)
通过上述代码,知道了声明一个set的方式,& 是求两个set的交集, | 是求两个set的并集。
定义函数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 def sayhi () : pass def sayHello (x) : if x > 10 : pass return x * 5 , x * 6 def showDefaultArg (x, y=1 ) : print(x) print(y) def showAlterableArg (*args) : for i in args: print(i) def showKeywordArg (**kw) : if 'age' in kw: print(kw['age' ]) def showAssignArg (*, name, age) : print(name) print(age) def main () : sayhi() print(sayHello(3 )) a, b = sayHello(5 ) print(a) print(b) showDefaultArg(56 ) showAlterableArg(1 , 2 , 3 ) showAlterableArg(2 , 5 ) showKeywordArg(name='sherlock' , age=34 ) showAssignArg(name='blaze' , age=45 , face='handsome' ) main()
程序输出
通过上述的代码可以观察到
python定义函数的方式,
pass关键字,这个关键字可以看做是一个占位符,代表什么都不做
python 调用函数的方式
python 的函数可以返回多个值,但是通过print(sayHello(3))语句的输出 (15, 18),我们可以观察到,返回的其实仍然是一个值,是一个tuple,只是在拿回值之后通过声明的顺序依次进行了赋值而已。
可以设置默认参数值
可以设置可变长度的参数值
可以设置关键字参数值
可以设置指定参数 在上述代码中,showAssignArg(name=’blaze’, age=45, face=’handsome’)语句执行时,程序会报错,因为face不是showAssignArg指定的参数值