Python-基础知识-控制流程和文件操作
控制流程
一、判断if语句
根据Python的缩进规则,如果if
语句判断是True
,就把缩进的两行print语句执行了,否则,什么也不做。也可以给if
添加一个else
语句,意思是,如果if
判断是False
,不要执行if
的内容,去把else
执行了。elif
是else if
的缩写,完全可以有多个elif
。
if
语句执行有个特点,它是从上往下判断,如果在某个判断上是True
,把该判断对应的语句执行后,就忽略掉剩下的elif
和else。
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 | >>> 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中的每个元素迭代出来,看例子:
1 2 3 4 5 6 7 | >>> names = [ 'Michael' , 'Bob' , 'Tracy' ] >>> for name in names: ... print (name) ... Michael Bob Tracy |
第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:
1 2 3 4 5 6 7 8 | >>> sum = 0 >>> n = 99 >>> while n > 0 : ... sum = sum + n ... n = n - 2 ... >>> print ( sum ) 2500 |
三、break语句和continue语句
continue语句:提前结束当前循环,进入下一轮循环
break语句:跳出当前循环,不再循环
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | >>> 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是兼容的。
一、基本操作
对文件操作规范流程
- 打开文件,得到文件句柄并赋值给一个变量
- 通过句柄对文件进行操作
- 关闭文件
1 2 3 4 5 6 7 8 | 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 \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)
- rU
- r+U
"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)
- rb
- wb
- ab
二、with语句
为了避免打开文件后忘记关闭,可以通过管理上下文,即:
1 2 | with open ( 'log' , 'r' ) as f: pass |
如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。
在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:
1 2 | with open ( 'log1' ) as obj1, open ( 'log2' ) as obj2: pass |
补充:
input和raw_input的区别:
input:python3.x的输入方式
raw_input:python2.x的输入方式
因此,input和raw_input具有同样的功能。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步