练习:
编写函数
1.使用局部函数设计一个能够实现加减乘除的计算器。
2.使用匿名函数设计一个能够实现加减乘除的计算器。
#局部函数
def calculate(type,n):
def jia(n):
return n+2
def jian(n):
return n-2
def cheng(n):
return n*2
def chu(n):
return n/2
if type=="jia":
return jia(n)
elif type=="jian":
return jian(n)
elif type=="cheng":
return cheng(n)
else:
return chu(n)
print(calculate("jia",6))
8
#匿名函数
def calculate(type):
if type=="jia":
return lambda n:n+2
elif type=="jian":
return lambda n:n-2
elif type=="cheng":
return lambda n:n*2
else:
return lambda n:n/2
x=calculate("chu")
print(x(8))
局部变量
def show():
message="CSDN的Python课程" #定义在函数内部,这是局部变量。
print(message)
show()
print(message) #在函数体内定义的message,它的作用范围仅限于函数体内,
#离开函数体,其中的变量就消失了。
CSDN的Python课程
Traceback (most recent call last):
File "C:/Users/shiqianLEO/Desktop/有.py", line 5, in <module>
print(message)
NameError: name 'message' is not defined
全局变量
message="CSDN的Python课程" #定义在函数外面,这是全局变量
def x():
print(message)
x()
print(message)
CSDN的Python课程
CSDN的Python课程
x="Python的功能很强大"
def y():
x="Python学起来其实挺容易的"
print(x)
y()
print(x)
Python学起来其实挺容易的
Python的功能很强大 #在函数体内改变全局变量的值,不影响全局值。
希望函数体内变量能影响全局变量
x="外部的值"
def change():
global x #函数内部的改变要影响全局的值
x="内部改变的值"
print(x)
print(x)
change()
print(x)
外部的值
内部改变的值
内部改变的值