调用函数时可使用的函数类型
- 必传参数,调用时的数量必须和声明时的一样,且顺序保持一致
def create(serviceGroup,onlineVersion):
create = create(service_group=serviceGroup,online_version=onlineVersion)
return create
print(create(serviceGroup="MAC"))
TypeError: create_UpLine_Record() missing 1 required positional argument: 'apollo'
原因:声明函数时为两个参数,调用时传递的是一个参数,所以报错
- 关键字参数,调用函数时允许顺序不一致,只要参数名称和参数值匹配即可
def create001(serviceGroup,onlineVersion):
create = create(service_group=serviceGroup,online_version=onlineVersion)
return create
print(create001(onlineVersion="v0008",serviceGroup="MAC"))
注意:调用时的名称顺序是不一致的噢
- 默认参数,声明时默认值要放在函数形参在后面,调用时默认参数的值不传递则使用定义的参数值,传递则使用传递的参数值
def create001(serviceGroup,onlineVersion="v0008"):
create = create(service_group=serviceGroup,online_version=onlineVersion)
return create
print(create001(serviceGroup="MAC"))
打印结果:serviceGroup="MAC",onlineVersion="v0008",若调用时传递onlineVersion="v0009",则打印serviceGroup="MAC",onlineVersion="v0009"
- 不定长参数,需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数
def createTuple(args,*kwargs):
说明:调用createTuple时,一个*号,代表入参格式为元组,
举例:print(createTuple(123,("chenhy",8090,["name"],{"name":"chenhy"})))
def createDict(args,**kwargs):
说明:调用createDict时,两个**号,代表入参格式为字典
举例:
方式一:
print(createDict(123,name = "chenhy"))
方式二:
kwargs = {"name":"chenhy","age":18}
print(asd(1,**kwargs))
ps:函数的定义为形参,函数的调用为实参
浙公网安备 33010602011771号