函数的概念
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
函数定义的基本框架
def 函数名(参数列表):
代码块
return 返回值
return 表示函数的结束,忽略函数体之后所有语句,如果没有写,函数执行完最后一行代码也会结束。
例子:
def f(a):
print(5+a)
return
print(6*a)
f(6)
运行结果是11,我们在调用发f()函数的时候,执行到return结束,类似于break语句
函数的调用
函数调用要在函数定义之后
def k(a):
if a%2==0:
print(f"{a}是一个偶数")
else:
print(F"{a}是一个奇数")
k(9)
k(10)
形式参数和实际参数
def hello():#没有形式参数
print('hello world!')
hello()
形参个数是一个
def hello(a):#n是形式参数
print("hello!",f"{a}")
hello("world")#world是实际参数
形参个数是两个
def hello(a,b):
print(f"{a},{b}")
hello("hello","world")
形参和实参一一对应,参数个数和对应位置的参数类型完全相同
全局变量和局部变量
在函数声明内的变量叫做局部变量,只能被这个函数使用;
在函数声明外的变量叫做全局变量,可以被任何函数使用。
例子:
i=5#i是全局(global)变量
def h():
j=4#j是局部(local)变量,只能在函数内使用或者修改
print(j+6)
print(j+5)
Traceback (most recent call last):
File "e:\mu程序\say_hi.py", line 5, in <module>
print(j+5)
NameError: name 'j' is not defined
>>>
结论:局部变量不能在函数以外使用或者修改
例子:
i=8
print(i)
i+=2
def t():
print(i)
t()
8
10
>>>
结论:全局变量可以在函数体内使用
例子:
i=8
def t():
i=5
t()
print(i)
8
>>>
结论:在函数内,不能直接修改全局变量的值,如果一定要在函数内修改全局变量的值,需要使用global关键字
i=8
def t():
global i
i=5
t()
print(i)
5
>>>