函数是一个重用的程序段,给这段程序一个名称,然后就可以在程序中多次调用这个名称,执行这段语句块,就是函数调用。
Python中函数定义的格式:
def functionName(parameter 1, parameter 2,...):
function block
函数的基本就是这样,下面主要通过代码来体会基本的函数吧
函数的HelloWorld:
__author__ = 'zWX231671'
def hi():
print("hi Tom")
hi() #call the function hi()
带参数的函数,区分形参与实参:
__author__ = 'zWX231671'
# 方法定义中a和b成为形参,传递进去的x和y称为实参
# 下面两次调用compare方法,compare(x, y)将实参x与y分别赋给形参a和b;compare(4,5)直接把数,即实参传递给函数
def compare(a, b):
if a > b:
print(a + 1)
else:
print(b + 1)
x = 2
y = 3
compare(x, y)
compare(4, 5)
print('x:', x)
函数的基本作用域问题:
__author__ = 'zWX231671'
# 变量作用域问题
def show(x):
print("x is ", x)
x = 20
print("local x is ", x)
x = 3
show(x)
print('x still is:', x)
函数的全局作用域问题
__author__ = 'zWX231671'
# 如果在函数内部想要使用函数外定义的变量要使用global进行声明,并且在声明之前,要保证函数内部不包含同名的变量
def show():
global x
print('x is ', x)
x = 2
print('x is ', x)
x = 3
show()
print('x is ', x)
函数的默认参数
__author__ = 'zWX231671'
# 函数含有默认参数值
def show(message, time = 2):
print(message * time)
a = 'Hi'
show(a)
show(a, 3)
函数的关键参数:
__author__ = 'zWX231671'
#通过命名来选择性的为某些参数赋值,这被称作关键参数,我们是使用关键字来传递值,而不是通过参数顺序
# 这样做可以 1.不用担心参数顺序(但最好还是遵循规范) 2.可以选择性的给部分参数赋值
def show(a, b=1, c=2):
print('a is ', a, ' b is ', b, ' c is ',c)
show(12, 13, 14)
show(12, 13)
show(12)
show(a=9)
show(c=14, b=13, a=11)
show(a=10, b=13)
python函数的return
return是从一个函数中跳出来的方法,可以带一个返回值
在python中没有返回值的函数,默认等价于return None,None是python中没有任何东西的特殊类型
例子:
__author__ = 'zWX231671'
def max(x, y):
if x > y:
return x
else:
return y
print(max(2, 3))