Python|函数——作用域

练习:

编写函数

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)


外部的值
内部改变的值
内部改变的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值