函数的定义
在Python中,使用def来定义一个函数,如下:
def my_max(x, y):
if x > y:
return x
else:
return y
如果想定义一个空函数,则在函数体中使用pass
语句即可。
函数的调用和参数
Python的函数在调用时可以返回不只一个结果,默认的结果都保存在一个tuple中直接返回,可以使用多个参数按照顺序接受数据,也可以使用一个参数直接接受整个tuple。
def my_max_min(x, y):
if x > y:
return x,y
else:
return y,x
b = my_max_min(11,22)
print(b)
----------
输出打印
(22, 11)
Python传入的参数分为四种,
函数的参数
位置参数
位置参数就是一般我们常见的python函数的传参方式,按照一定的顺序写入参数,
def my_max(x, y):
if x > y:
return x
else:
return y
默认参数
但是在一些情况下,特别是面向对象编程时,函数的一些参数一般使用的都是一样的值或是默认值,则是,如果在每次调用函数时都需要再写一遍的话,就会造成冗余或代码不整洁,此时可以使用默认参数,将默认的参数或重复使用的参数直接写入函数中,在调用时无需直接指定,也可以强制改变为别的值。
#!/usr/bin/python
# -*- encoding:utf-8 -*-
def great_than(x, y = 100):
if x > y:
print("%d great_than %d" % (x,y))
else:
print("%d less than %d" % (x,y))
great_than(200)
great_than(30)
------
输出:
200 great_than 100
30 less than 100
30 less than 50
可变参数
可变参数允许函数传入参数的数目是可变的,可以是1个,2个甚至是0个。一般在输入多个参数时,要么使用位置参数指定个数,要么使用list或tuple来将参数打包传入,但是这样都会比较繁琐,使用可变参数可以不受限制的将任意多个参数传入函数,当然在取用时,函数需要知道传入可变参数的格式或规律。
#!/usr/bin/python
# -*- encoding:utf-8 -*-
def my_sum(numbers):
sum = 0
for x in numbers:
sum = sum + x
return sum
a = my_sum((1,2,3,