一、参数类型:
1、如参数为数据类型(nummber),str,则函数体中不可修改参数值 2、如参数为set,list,dict,则函数体中可修改参数值二、参数基本类型分为:必需参数、关键字参数,默认参数,不定长参数
-
必需参数: 须以正确的顺序传入函数,调用时参数数量必须和声明时一样。
def myfunc(str): print(str) return myfunc('aaa')
2.关键字参数:允许函数调用时参数顺序与声明不一致,因为解释器会根据参数名去匹配参数值的
关键字函数实例:
def myfunc(name,age): print('name',name) print('age',age) myfunc(age=18,name='zhangsan')
3.默认参数:调用函数时,如果没有传递参数,则会使用默认参数
def myfunc(name ,age=18): print('name',name) print('age',age) myfunc('cc')
4.不定长参数:参数的个数不能确定,可能你需要一个函数来处理比当初声明更多的参数,这些参数就叫做不定长参数,跟上述参数不同,声明时不会命名
- 加了星号*的参数以元组的形多导入,存放所有未命名的变量参数
- 参数带两个星号**的参数以字典的形式导入
- *可以单独出现,但是调用时必须用关键字传入,如*穿插在参数中间,则*后面的参数要以关键字传入
例一: def myfunc(*info): print(info) print(type(info)) #class(tuple) myfunc('姓',19,'上海') 例二: def myfunc(**info): print(info) myfunc(name = '张三',age = 19) #取值则通过表达式key,value的方式取值,即info['name'] 例三: def sum(num1,num2,*, num3): return num1 + num2 + num3 print(sum(1,2,num3 = 3)) #执行结果为6