python参数类型定义_Python的参数类型

参数类型:

1、必填参数,位置参数(positional arguments,官方定义,就是其他语言所说的参数)

2、默认值参数,非必传

3、可变参数,非必传,不限制参数个数,比如说给多个人发邮件,发邮件的人数不确定

4、关键字参数,非必传,不限制参数个数,会把传过来的关键字参数,放到一个字典里面,传参的时候必须得用k=v这样子来传

5、命名关键字参数

1. 位置参数:其他语言没有分参数的种类是因为只有这一种参数,所有参数都遵循按位置一一对应的原则。

定义:就是在给函数传参数时,按照顺序,依次传值。

defpower(n,m):

result=1

while n>1:

n= n-1result=result*mreturnresult

res=power(5,3)print(res) #输出结果:81

#解释说明:#函数power(n,m)中有两个参数,m和n,这两个参数都是位置参数,调用的时候,传入的两个值按照顺序,依次赋值给m和n。

2. 默认值参数:完全等同于C++,引入默认参数是为了在某些情境下提供方便。

定义:就是在写函数的时候直接给参数传默认的值,调用的时候,默认参数已经有值,就可以不用再传值了。作用:最大的好处就是降低调用函数的难度。形式: 参数名 = 默认值

def students(name,grade,gender='Male'):print(name,grade,gender)

students('Kitty',3) ##有了默认参数之后,gender这个参数即使不提供 也可以调用函数gender被赋了的默认值Male

students('Lily',2,'Famale')#以上输出结果如下:#Kitty 3 Male#Lily 2 Famale

默认参数需要注意的地方

a. 默认参数必须在最右端(最后),这样才能被解释器正确识别,否则会产生二义性。

def fun(a=10, b): #这里会报错:SyntaxError: non-default argument follows default argument

return a +b

fun(10)#二义性:这个20究竟是赋值给a的还是b的#人都无法分辨清楚,解释器就更不行了

b. 默认参数一定要指向不变对象࿰

你可能感兴趣的:(python参数类型定义)