函数即变量
函数,一次定义,多次调用
可以提高代码的重复利用率和提高他的模块性
def func(): print(‘this is test func‘)
第一个阶段:定义阶段
第二个阶段:调用阶段
函数的内存地址加上()就是调用
print(func) #查看函数内存地址
调用函数的格式
func() #函数调用才会执行函数体代码,函数体就是你写进函数里的代码
def func(name,age): #name,age代表形参,它俩是虚的,只有在调用阶段它俩才有值 print(‘my name is %s‘ % (name,age)) func(‘兰慧玲‘,19) #兰慧玲,19代表实参
def func(*args): #当有多个参数时,可以考虑用*args,不可以用关键字传参 print(args[1]) #调用参数 func(1,2,3,4,5,6)
def func(**kwargs): print(kwargs) func()
既可以传关键字参数,也可以传没有关键字参数
def func(*args,**kwargs): print(args) print(kwargs) func()
只要定义了形参,必须在调用的时候传参,函数体应不应用你这个形参无所谓。
def func(a,b): print(‘this is test func‘) func(1,2)
优化名片管理系统
#encoding=gbk lt = [] def wel(): print(‘欢迎使用名片系统‘) print(‘以下是使用说明‘) print(‘1.增加 2.删除 3.查询 4.修改 5.退出‘) print(‘==‘*50) def add(): username = input(‘请输入要增加的姓名: ‘) age = input(‘请输入要增加的年龄: ‘) phone = input(‘请输入要增加的电话: ‘) dict = {‘name‘:username, ‘age‘:age, ‘phone‘:phone } lt.append(dict) def delt(): for i in lt: print(lt.index(i),i) a = input(‘请选择要删除的序号‘) if a: lt.pop(int(a)) print(lt) else: print(‘请正确操作‘) def find(): for i in lt: b = input(‘请输入你要查找的名字‘) if b == i[‘name‘]: print(i) else: print(‘查无此人‘) def change(): for i in lt: print(lt.index(i),i) c = input(‘请选择要修改的序号‘) new_name = input(‘新名‘) if new_name: lt[int(c)][‘name‘] = new_name new_age = input(‘新年龄‘) if new_age: lt[int(c)][‘age‘] = new_age new_phone = input(‘新电话‘) if new_phone: lt[int(c)][‘phone‘] = new_phone def main(): while True: wel() num = input(‘请输入选择的数字‘) if num == ‘1‘: add() elif num == ‘2‘: delt() elif num == ‘3‘: find() elif num == ‘4‘: change() elif num == ‘5‘: print(‘谢谢使用‘) break else: print(‘请输入正确选项‘) if __name__ == ‘__main__‘: main()
return往下的代码将不会执行,只能用在函数体内
def func(): print(‘this is test func‘) return 0 print(‘aaa‘) func()
返回值可以定义任何,当返回值不设定的时候,是None,为空。
def func(a): print(‘this is test func‘) if a == 0: print(‘aaa‘) return 0 elif a == 2: return 2 else: print(‘bbb‘) return 1 func(1)
返回值
就是函数调用本身的结果:print(func())
def func(): print(‘this is test func‘) return 0 func()
return的作用
def func(a): print(‘this is test func‘) if a == 1: return 1 elif a == 2: return 2 elidf a == 3: return 3 else: print(‘错误‘) func(3)
def func1(a): print(‘this is test func‘) if a == 1: return 1 elif a == 2: return 2 elif a == 3: return 3 else: print(‘错误‘) def func2(i): if i == 3: print(‘true‘) else: print(‘flase‘) res = func1(3) func2(res)
这个是返回它的内存地址
def func(): return func pritn(func())
原文:https://www.cnblogs.com/shuaiyin/p/10922874.html