python基础~11(全局变量和局部变量)

全局变量,顶格,没缩进定义的

局部变量,有缩进的,在函数里的

quan='全局变量'
def t():
    print(quan)
t()
-------------------------------------------------------------------------------
def t():
    quan='函数里的会代替全局变量,只在函数里生效,全局的没变'
    print(quan)
t()
print('全局的没变:',quan)
-------------------------------------------------------------------------------
def t():
    global quan
    quan='函数里加了global,全局的就会改变'
    print(quan)
t()
print('全局的变了:',quan)
-------------------------------------------------------------------------------
name=['对于可变类型,可以对内部元素进行操作']
def t():
    name.append('例如添加元素,这时全局变量可以改变')
    print(name)
t()
print(name)
-------------------------------------------------------------------------------
name='全局变量'
def t():
    # name='全局、局部都有或者只有局部变量'
    # SyntaxError: name 'name' is assigned to before global declaration
    global name
    name='global声明全局变量时,头上只能有全局变量或者都没有,否则报错'
    print(name)
t()
-------------------------------------------------------------------------------
# name='laoji'
# def xuexiao():
#     name='laoda'
#     def xueyuan():
#         global name#它接受的是全局变量
#         name='laoer'
#     xueyuan()
#     print(name)
# xuexiao()
# print(name)
# # 输出:
# #     laoda
# #     laoer
-------------------------------------------------------------------------------
name='laoji'
def xuexiao():
    name='laoda'
    def xueyuan():
        # name='you'#加这个会报错SyntaxError: name 'name' is assigned to before nonlocal declaration
        nonlocal name#它接受的是上一大级变量
        name='laoer'
    xueyuan()
    print(name)
xuexiao()
print(name)
输出:
    laoer
    laoji
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值