第四节 python数据运算和流程控制
数据运算
- //(整除)。内置函数:divmod(a,b) 得到a/b和a%b
- 交集通过& ; 并集通过| ; a-b表示在a中不在b中 ;b-a代表在b中不在a中
- 逻辑运算:and(和) or(或) not(非)。优先级 not > and > or
流程控制
- 0,0.0,set(),[],{},(),None在判断条件中都是false
- range(index1,index2,size) 表示从index1到index2(不包含)。间隔size
- 字典的方法:。items()返回的是元组
- break,else 。break没执行就执行else,break执行就只不执行else。
- 迭代器:列表的迭代器.iter()。range()是一个迭代器,方法:next(迭代器)返回每一个元素
- zip(a,b)每次返回a,b的元素。enumerate(a,i)返回以i为开头的下标和元素
函数
- def 函数名称(参数):
逻辑
return 返回值(没有return则返回None) - 不定参数的函数:def add(a,*n,**n): (*n模拟不定参数,即把输入的参数打包成一个元组(tuple),**n模拟不定关键字的参数即把输入的参数打包成一个字段(dict))
3.函数调用时使用*表示他会解包参数的集合 。def func(a,b,c,d):
print(a,b,c,d)
a = (1,2,3,4)
func(*a)
通过一个元组给一个函数传递四个参数,并且让python将它们解包成不同的参数 - 返回多个值的函数:def add(a): return min(a),min(a)
- 变量作用域:函数参数的变量不会透露到外面
模块和包
- 模块是指单个文件,包是指管理模块的文件,使用import导入
- %%writefile ex.py(ipython中魔术命令创建python文件)%run ex.py运行文件 %reload_ext ex.py修改py文件后重新加载
- from eex import pi从eex中只引入pi。 import eex as ex 起别名
- dir(ex)查看ex的所有方法属性等
文件读写
- open(文件名)读取文本文件,返回一个file对象
- 读文件:file.read()输出文件内容,flie.close()关闭读取。file.readlines()将每一行以列表元素返回。file.readline()读一行
- 写文件:f=open(“test.txt”,”w”)w代表写,会覆盖原内容。f.write(‘xxxx’)写入内容。
- f=open(“test.txt”,”a”)追加模式,不会覆盖原内容。
- 对资源的管理(上下文管理器):
with open("test.txt") as f:
#f.__enter__(默认调用这方法)
print(f.read())
#f.__exit__(默认调用这方法,类似于关闭)
这里可以不用调用close()方法
6.translate()方法语法:str.translate(table[, deletechars]);table – 翻译表,翻译表是通过maketrans方法转换而来。deletechars – 字符串中要过滤的字符列表。例:intab = “aeiou”
outtab = “12345”;str.translate(maketrans(intab, outtab));