使用函数是为了提高代码的复用率
1 函数的定义:
def 函数名():
写内容
2. 函数通过调用,才能执行。
3 def 函数名(参数1,参数2) 这里的参数就是形参,当主函数调用这个函数的时候会传2个数,这里的参数相当于占位
函数名(参数1,参数2)这里的参数就是实参,这个参数会传函数里的参数,然后就运算。
def a():#无参数 pass def b(name,age): #必填参数,位置参数 pass def op_file(file,content=None): #默认值参数 with open(file,'a+',encoding='utf-8') as f: if content: f.write(str(content)) else: f.seek(0) result = f.read() return result #可变参数非必填 #可变参数填的个数也没有限制 def send_sms(*args):#可变参数 print(args) #send_sms(1,2,3,3,4,24) #关键字参数非必填 #传关键字参数的形式是name='Alex',age=18 def t(**kwargs):#关键字参数,传入的必须得指定关键字 print(kwargs) # t() def test(name,content=None,*args,**kwargs): print(name) print(content) print(args) print(kwargs) #必填参数、默认值、可变参数、关键字参数 必须得按照这个顺序来 #必填参数必须写到默认值参数前面 #默认参数必须在可变参数前面 #可变参数必须在关键字参数前面 def test2(name,phone,qq,addr,sex): print(name) print(phone) print(qq) print(addr) print(sex) # test('183','mingzi','1111','beijing','女')#根据顺序来传参 test(age=36,addr='beijing',qq='1111',sex='xxx',name='xx')#根据参数名字传参,和位置没有关系 # test('xiaoming','1823423',qq='xxx',sex='xxx',addr='xxxx')#为字参数和关键字传参 # test('xiaoming','1823423',qq='xxx',sex='xxx') #错误的,不能这么写
4. 函数会有返回值,返回给调用的函数。
返回多个变量:
用一个变量接收,该变量就是元组
用多个变量来接收,方法里定义的变量类型是啥,返回的就是啥
函数返回的变量要和接收的变量一致
运用场景:解包
def fun(): a = 1 b = 2 c = 3 return a,b,c #返回结果是元组 result = fun() print(result) #也可以用多个变量来接收,但是函数返回几个变量,接收的变量也得是几个 a,b,c = fun() print(a,b,c) #解包 info = ['xiaohei','beijing','haidianqu',19] print(*info)
5. 函数 通过return返回。函数遇到return就结束这个程序。