''' 函数:是一段可以重复调用的代码,通过输入的参数,返回对应的结果 名字绑定的机制,把实际参数的值与形式参数的值绑定到一起 1、函数调用的时候,实际参数的值的顺序与形式参数的顺序一一对应 2、当在函数调用的时候,指定了形式参数的实际参数,这个时候并不是一一对应,而是根据指定的值进行的 ''' def add(a,b): c=a+b print(c) print(a, b) add(34,2) add(b=8,a=9) # 形式参数 def info(name,age,address,sex): print ("姓名:{name},年龄:{age},地址:{address},性别:{sex}". format(name=name,age=age,address=address,sex=sex)) info('huang',10,'nanjing','girl') def userInfo(userID): '''登陆成功后,查看用户的基本信息''' pass '''python中的默认参数''' def login(username='huang',password='admin'): if username=='huang' and password=='admin': print('success') else: print('fail login') login('huang','admin') '''函数中有默认参数和形式参数,形式参数在前,默认参数在后''' def name_age(name,age=10): pass ''' 函数的返回值: 1、一个函数,它是有返回值的 2、当一个函数,没有return的时候,它的返回值是none 3、当一个函数return的时候,它的返回值是return后面的表达式,或者是值 函数返回值的意义:函数/方法的返回值是为了给另外一个函数或方法请求的参数而已 ''' #def add(a,b): # c=a+b # return c #print(add(2,3)) ''' 接口测试:查看用户信息,要查看,实现步骤: 1、发送post请求,login请求登陆成功; 2、登陆成功之后,返回token; 3、带着这个token,可以查看用户信息 ''' def login(username='huang',password='admin'): if username == 'huang' and password=='admin': return 'huang12345' else: return 'login fail' def userInfo(token): '''查看用户信息''' if token == 'huang12345': print('显示订单信息') else: print('loginout') userInfo(login('huang','admin'))
'''' 动态参数: *args:--->数据类型是元祖 **kwargs:--->数据类型是字典 ''' def f2(*args): print(type(args)) f2(12) def f3(**kwargs): print(type(kwargs)) f3(name='huang') def f4(name,age,sex,**kwargs): print(name,age,sex,kwargs) f4('huang',10,'girl') f4('haung',10,'girl',phone=156896533) def f5(*args,**kwargs): print(args,kwargs,type(args),type(kwargs)) f5([1,2],(1,2),8,'huang',11.2,name='huang') def f6(name): print(name) f6(([1,2],(1,2),8,'huang',11.2))
'''全局变量和局部变量''' name = 'huang' #全局变量 def f1(): global name # 修改全局变量 name ='hu' print(name) f1() def f2(): name='admin' #局部变量 print(name) f2() #优先选择局部变量和局部变量的值