#函数的基础形态
# def obj(): #定义函数
# print("123") #函数内容
# obj() #执行函数
# f=obj
# f() # 等于obj()
# 函数的返回值
#return=xxx #可以返回字符串,也可以是变量
#a=obj() #执行函数
#print(a) #打印返回值
#函数可以定义参数
# def obj(a,b): #定义两个形参a,b
# print(a,b)
# return 123
# ret=obj(1,2) #写入a,b对应的实参1,2
# print(ret) #打印返回值
#默认参数
# def obj(a,b=11): #定义一个默认参数b=11,不可以定首不定尾
# print(a,b)
# obj(1,2) #填入两个实参
# obj(1) #填入一个实参,则另一个默认
#指定参数
# def obj(a,b=11,c=22):
# print(a,b,c)
# obj(b="aaa",a=123,c="456")
#函数的动态参数
# def obj(*a): #定义一个动态参数
# print(a,type(a)) #打印a以及查看a的类型
# obj(11,22,33,44,55,66) #输出一个元祖
#
# def obj(**a): #定义一个动态参数
# print(a,type(a)) #打印a以及查看a的类型
# obj(a=1,b=2,c=3) #输出字典
#
# def obj(*a,**b): #定义一个动态参数
# print(a,type(a)) #打印a以及查看a的类型
# print(b,type(b)) #打印b以及查看b的类型
# obj(11,22,33,44,a=1,b=2,c=3) #填入实参,一星在前,两星在后
#*号的使用
# obj="{0} is {1}" #格式化obj
# a=[2,3] #给a赋值一个列表
# ret=obj.format(*a) #a加个*号,会将列表内的元素分开填入
# print(ret)
#**号的使用
# obj="{a} is {b}" #格式化obj
# a={"a":1,"b":2} #给a赋值一个字典
# ret=obj.format(**a) #a加个**号,会将字典内的元素分开填入
# print(ret)
#lambda表达式 #简单函数的简单表示
# def obj(a):
# b=a+1
# return b
# result=obj(2)
# print(result)
# #使用lambda
# obj=lambda a:a+1 #lambda 创建一个形参,并且reture函数体,只适用一行的函数体
# result=obj(2)
# print(result)