当前位置: 移动技术网 > IT编程>脚本编程>Python > Python中的Function定义方法第1/2页

Python中的Function定义方法第1/2页

2019年04月05日  | 移动技术网IT编程  | 我要评论
下面就先定义一个函数: 复制代码 代码如下:def foo(): print('function') foo() 在上述代码中,定义了一个名为foo的函数,这个函数没有参数

对于变量z,它就是nonlocal级别的。如果在inner中需要使用z,则需要使用nonlocal关键字进行声明。
讲完了变量的作用范围,就该讲讲函数的参数问题了。 python中的函数可以0-n个参数,这和其他编程语言一样没有什么特别之处。同样的,可以为函数参数指定默认值。例如:
复制代码 代码如下:

def power(num,power = 1):
print(num ** power)
power(2)
power(2,2)
#*************
#运行结果
2
4

对于第一次调用power(2),并没有指定第二个参数power的值,根据输出结果可知,函数使用了默认值。第二次调用power(2,2),因为给定了第二个参数的值,所以,power的值为2。
在这里需要注意的是,在python中,对于给你默认值的参数,一定要在参数列表的最后。也就是说,在参数列表中,如果出现了给定默认值的参数后,就不能在出现没有给定默认值的参数。
对于参数赋值,可以使用关键字的方式赋值。例如:
复制代码 代码如下:

def func(a,b=1,c=2):
print('a={0},b={1},c={2}'.format(a,b,c))
func(1)
func(1,2)
func(1,c=3)
func(b=2,a=4)
#*************
#运行结果
a=1,b=1,c=2
a=1,b=2,c=2
a=1,b=1,c=3
a=4,b=2,c=2

可以通过指定参数名称来对参数进行赋值。
python支持可变参数列表,首先看下面的程序:
复制代码 代码如下:

def total(initial=5,*numbers,**keywords):
count = initial
for number in numbers:
count += number
for key in keywords:
count += keywords[key]
return count
print(total(10,1,2,3,vegetables=10,fruits=5))
#***************
#运行结果
31

在上述程序中,值得关注的是*numbers和**keywords。在程序中,第一个参数10对应第一个initial参数。接下来就是可变参数列表:其中1,2,3是一个序列,vegetables=10,fruits=5是字典。在python中,*numbers表示的是:将1,2,3等或者更多的参数放入这个序列中;**keywords表示的是:将vegetables=10等或者更多的参数放入字典中。
2

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网