zoukankan      html  css  js  c++  java
  • 初识python: 局部变量、全局变量

    定义:

    全局变量:在函数一开始定义的变量(全局范围内都可以使用)

    局部变量:在函数中定义的变量(只能在函数中使用)

    局部变量,例:

    #局部变量
    def chang_name(name):
        print('修改前名字:',name)
        name='simple' #定义局部变量,此变量的作用域只在此函数中
        print('修改后的名字:',name)
    chang_name('ch_simple') #调用函数
    print(name) #函数体外使用局部标量报错

    因为局部变量只能在函数体内使用,故print(name) 出错,错误信息如下:

    全局变量,例:

    #全局变量
    name = 'simple'#定义全局变量
    def chang_name():
        name2 = name #定义局部变量,并将全局变量值赋给它(函数体内使用全局变量)
        print('全局变量:',name2) # 调用全局变量
        print('局部变量:', name2)  # 调用局部变量
    chang_name()#调用函数
    print('函数体外使用全局变量:',name) #函数体外使用全局变量

    执行结果:

     函数体内修改全局变量,例:  

    #函数体内修改全局变量
    # 注:强烈建议不要使用函数修改全局变量
    name = 'simple' #定义全局变量
    def chang_name(x):
        global name #声明全局变量
        print('修改前:',name) #函数体内使用全局变量
        name = x #函数体内修改全局变量值
        print('修改后:',x)
    chang_name('ch_simple')
    print('验证全局变量name是否修改:',name)

    输出结果:

    注:强烈建议不要在函数体内修改或定义全局变量
    世风之狡诈多端,到底忠厚人颠扑不破; 末俗以繁华相尚,终觉冷淡处趣味弥长。
  • 相关阅读:
    POJ2054 Color a Tree
    洛谷【P1080】国王游戏
    BZOJ1707:[Usaco2007 Nov]tanning分配防晒霜
    BZOJ5281:[Usaco2018 Open]Talent Show
    浅谈二分
    BZOJ1720:[Usaco2006 Jan]Corral the Cows 奶牛围栏
    POJ2018 Best Cow Fences
    洛谷【P2115】[USACO14MAR]破坏Sabotage
    BZOJ 4244 邮戳拉力赛 (DP)
    UOJ #277 BZOJ 4739 [清华集训2016]定向越野 (计算几何、最短路)
  • 原文地址:https://www.cnblogs.com/simple-li/p/9739335.html
Copyright © 2011-2022 走看看