1、def关键字,创建函数 2、函数名 3、() 固定搭配 4、函数体 5、返回值
1、def sendmail(xx) #xx 形式参数
2、ret = sendmail(‘abc’) #abc 实际参数
3、def sendmail(xx,ss = ‘bb’): #默认参数,默认ss=bb 调用函数时可以不传实际参数 默认参数必须在参数的最后
4、ret = sendmail(ss=1,xx=2)#指定参数
5、动态参数
def f1(*args): #此方法定义形参,args必然会成为一个元组,接受到的所有参数都会添加到此元组中例1:ret = def('abc','aaa') #会将abc与aaa全部添加至形参中,成为一个元组例2:ret = def([1,2,3,4,]) #会讲列表当成一个元素传到形参中,包涵在元组里如:([1,2,3,4])例3:ret = def(*[1,2,3,4,]) #会将列表迭代循环,分别写入到元组xx中:(1,2,3,4)
def f1(**kwargs):例1:ret = def('a' = 1,'b' = 2) #会将abc与aaa全部添加至形参中,成为一个元组例2:ret = def(**{'a':1,'b':2}) #会将字典循环迭代,赋值到字典中如:kwargs ={'a':1,'b':2}例3:ret = def(key = {'a':1,'b':2}) #会将字典当作value 与key匹配成一个健值对 赋值到kwargs中
6、万能参数 def f1(args,*kwargs) #即可以接收 单个元素的参数加入到元组, 也可以接收指定参数加入到字典 注:默认实际参数赋值顺序要与形式参数相同
注: 在函数中一旦return ,函数执行过程立即终止 如果函数中没有return,默认等于None
内置函数
s = ‘abc’ bytes(s ,encoding=”utf-8”) #字符串转换成字节类型,参数中定义编码类型 t = bytes(s ,encoding=”utf-8”) str(t ,encoding=”utf-8”)#字节类型转换成字符串
三目运算
if 1 == 1:
name = "zhangshaoxiong"
else:
name = "zshaox"
name = "zhangshaoxiong" if 1 == 1 else name == 'zshaox'
(a1):
a1 + f1()
f2 = a1: a1 + f2()
with open('test.txt','r+')
as f ,open('test2.txt','r+')
as f2:
times =
0
for line in f:
times +=
1
f2.write(line)
r 读文件内容 w 写文件内容,先情况原文件 x 当文件存在报错,不存在创建并写内容 a 追加文件内容 rb 以二进制形式打开读取文件 wb 以二进制打开写入文件,结合bytes(“str”, encoding=”utf-8”)使用
r+ 文件末尾写入内容
f.write() 写入文件 f.read() 读取文件 默认读取全部文件,如果参数根据打开方式(是否有b) 读取1个指针(字符,字节)位置 f.close() 关闭打开文件 f.flush() 将缓冲区文件写入的内容 强制写入到磁盘中 f.readline() 只读取第一行 f.truncate() 截断文件,清空指针位置后的所有数据 for循环文件对象 for line in f: print(line)
f.seek(1) 按字节计算指针调整到第一个位置 print( f.tell() ) 按字节计算获取当前指针的位置