自定义函数的参数

Python自定义函数的参数类型包括必需参数、默认参数、关键字参数、不定长参数,我们一般主要使用的是必需参数和默认参数。

●必需参数

必需参数是调用时必需要传入的参数,不然Python运行时会报语法错误。

必需参数传入时必须按照自定义函数定义时的顺序和数量传递。

实例1:

#定义函数
def sub(num1,num2):
num1-num2
#调用函数
sub()
sub(8)
#以上两种函数调用都会报错,正确的调用为sub(8,6)

●默认参数

自定义函数声明时有赋值的参数叫默认参数,该赋值就是参数的默认值。函数声明时没有赋值的参数就是必需参数。

●参数调用

①必需参数就是函数调用时必须要传递值。

②默认参数在调用时可以不传递值,如果不传递值,则函数执行时调用默认值。

③必需参数也可以在调用时赋值。

④默认参数也可以在调用时重新赋值,此时函数执行时调用新的赋值。

实例2:

#声明函数
def super_add(num1,num2,num3=10000):
res=(num1+num2)*num3
return print(res)
#调用函数
①super_add(10,20)
#运行结果:300000

说明:num1和num2就是必需参数,调用时必需要传入值,num3带默认值10000,就是默认参数,函数调用时可以不写,不写就默认为10000。

②super_add(10,20,num3=2)

#运行结果:60

说明:默认参数num3在调用时重新赋值为2,函数执行时把2传进函数中执行。

③super_add(num1=15,num2=5,num3=2)

#运行结果:40

●参数传递

纠正一点,Python中,变量没有类型,类型属于对象。

a=[1,2,3]

a="hello"

以上代码中,[1,2,3]是 List 类型,"hello" 是 String 类型,而变量 a 没有类型,它仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

可更改(mutable)与不可更改(immutable)对象

在 python 中,strings(字符串), tuples(元组), 和 numbers(数字) 是不可更改的对象,而 list(列表),dict(字典) 等则是可以修改的对象。

Python函数调用时如果传递的参数类型是不可变对象,则不会对函数外部变量产生影响,如果传递的参数类型是可变对象,则会改变函数外部的变量的值。

时问新