Python-基础知识-控制流程和文件操作

控制流程

一、判断if语句

  根据Python的缩进规则,如果if语句判断是True,就把缩进的两行print语句执行了,否则,什么也不做。也可以给if添加一个else语句,意思是,如果if判断是False,不要执行if的内容,去把else执行了。elifelse if的缩写,完全可以有多个elif

  if语句执行有个特点,它是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elifelse。

>>> 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是兼容的。

一、基本操作

对文件操作规范流程

  1. 打开文件,得到文件句柄并赋值给一个变量
  2. 通过句柄对文件进行操作
  3. 关闭文件
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语句

为了避免打开文件后忘记关闭,可以通过管理上下文,即:

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具有同样的功能。

posted @ 2017-03-09 00:25  Kirusx  阅读(194)  评论(0编辑  收藏  举报