控制流程
一、判断if语句
根据Python的缩进规则,如果if
语句判断是True
,就把缩进的两行print语句执行了,否则,什么也不做。也可以给if
添加一个else
语句,意思是,如果if
判断是False
,不要执行if
的内容,去把else
执行了。elif
是else if
的缩写,完全可以有多个elif
。
if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else。
>>> age = 20 >>> if age >= 18: #基本if语句 ... print('your age is', age) ... print('adult') ... your age is 20 adult >>> age = 3 >>> if age >= 18: #if...else语句 ... print('your age is', age) ... print('adult') ... else: ... print('your age is', age) ... print('teenager') ... your age is 3 teenager >>> age = 3 >>> if age >= 18: #if...elif...else语句 ... print('adult') ... elif age >= 6: ... print('teenager') ... else: ... print('kid') ... kid
二、循环语句
- for语句
- while语句
Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子:
>>> names = ['Michael', 'Bob', 'Tracy'] >>> for name in names: ... print(name) ... Michael Bob Tracy
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
>>> sum = 0 >>> n = 99 >>> while n > 0: ... sum = sum + n ... n = n - 2 ... >>> print(sum) 2500
三、break语句和continue语句
continue语句:提前结束当前循环,进入下一轮循环
break语句:跳出当前循环,不再循环
>>> for i in range(10): ... if i<5: ... continue #不往下走了,直接进入下一次loop ... print("loop:", i ) ... loop: 5 loop: 6 loop: 7 loop: 8 loop: 9 >>> for i in range(10): ... if i>5: ... break #不往下走了,直接跳出整个loop ... print("loop:", i ) ... loop: 0 loop: 1 loop: 2 loop: 3 loop: 4 loop: 5
文件操作
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
一、基本操作
对文件操作规范流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
f = open('lyrics') #打开文件 first_line = f.readline() print('first line:',first_line) #读一行 print('我是分隔线'.center(50,'-')) data = f.read()# 读取剩下的所有内容,文件大时不要用 print(data) #打印文件 f.close() #关闭文件
打开文件的模式有:
- r,只读模式(默认)。
- w,只写模式。【不可读;不存在则创建;存在则删除内容;】
- a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
"+" 表示可以同时读写某个文件
- r+,可读写文件。【可读;可写;可追加】
- w+,写读
- a+,同a
"U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
二、with语句
为了避免打开文件后忘记关闭,可以通过管理上下文,即:
with open('log','r') as f: pass
如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:
with open('log1') as obj1, open('log2') as obj2: pass
补充:
input和raw_input的区别:
input:python3.x的输入方式
raw_input:python2.x的输入方式
因此,input和raw_input具有同样的功能。