函数的参数和返回值
def empty(): # 不传参函数 print("参数为空") empty() print("--" * 50) def key_parameter(name, age): # 关键参数,必传,并且对应 print("name:%s" % name) print("age:%s" % age) key_parameter("aaa", 18) # 一一对应传入实参 key_parameter(age=18, name="bbb") # 指定名称传入实参 print("--" * 50) def default_parameter(name, age, sex="男"): # 默认参数,不传时使用默认值,传参时使用传递参数 print("name:%s" % name) print("age:%s" % age) print("sex:%s" % sex) default_parameter("aaa", 18) default_parameter("ccc", 20, "女") print("--" * 50) def add(*args): # 不定长参数传递一个元组参数 print(sum(args)) add(1, 2, 3) print("--" * 50) def print_info(**kwargs): # 不定长参数传递一个字典 for i in kwargs: print("%s : %s" % (i, kwargs[i])) print_info(name="aa", age=18, sex="男") print("--" * 50) def print_info_priority(name, sex="男", *args, **kwargs): # 型参的优先级: 关键参数 > 默认参数 > 不定长参数(* > **) print("name :%s" % name) print("sex :%s" % sex) for j in args: print(j) for i in kwargs: print("%s : %s" % (i, kwargs[i])) print_info_priority('www', "男", 1, 2, 3, bobby="basketball", age=18) # 传递参数也必须对应优先级,'www':关键参数,"男":默认参数, 1, 2, 3:不定长*参数, bobby="basketball", age=18 :不定长**参数 print("--" * 50) def print_info_return(**kwargs): # 不定长参数传递一个字典 for i in kwargs: print("%s : %s" % (i, kwargs[i])) '''return 返回参数: 1、函数已return结束,return后面的不会执行,如果没写return默认会加 return None 2、return返回的是一个对象,当有多个对象的时候是已元组的方式返回的一个对象 ''' return kwargs info_return = print_info_return(name="aa", age=18, sex="男") # return返回值的接收 print(info_return)
def f1(*args): print(args) f1(*[1, 2, 3]) # 当一个列表作为参数是,前面加*号可以表示传了多个参数,而不是作为一个参数传递 print("--" * 50) def f2(**kwargs): print(kwargs) f2(**{"name": "aaa"}) # 当一个字典作为参数时,前面加**号可以表示传了多个参数,而不是作为一个参数传递 print("--" * 50) def f3(n): return n*n def f4(a, b, c): sum_f4 = c(a)+c(b) return sum_f4 print(f4(1, 3, f3)) # 函数可以作为变量名传递,函数的参数名保存的是函数的地址,可以进行函数调用 print("--" * 50) def f5(): def f6(): return 20 return f6 print(f5()())