首页 > 编程语言 >21:Python函数全局变量和局部变量

21:Python函数全局变量和局部变量

时间:2024-08-11 17:07:03浏览次数:13  
标签:NAME Python name change print 全局变量 def 21

#全局变量与局部变量,全局变量大写,局部变量小写

NAME='ladfs'        #定义全局变量,全局作用域顶格
def change_name():
    print('change_name',NAME)       #调用全局变量
change_name()

  



#全局变量与局部变量
NAME='ladfs'        #定义全局变量
def change_name():
    name="高高兴兴地"
    print('change_name',name)       #局部作用域缩进,调用局部变量,只在函数里面生效,不改变全局变量的值
change_name()
print(NAME)

  



#全局变量与局部变量
NAME='ladfs'        #定义全局变量
def change_name():
    global NAME                    #改变全局变量 ,和下面的name这行不能对调位置
    NAME="高高兴兴地"
    print('change_name',NAME)       #调用局部变量,只在函数里面生效,不改变全局变量的值
change_name()
print(NAME)

#全局变量与局部变量
NAME='开开心心'        #定义全局变量
def change_name1():
    name='嘻嘻哈哈'            #优先读取局部变量,没有则读取全局变量
    print('你调皮',name)       #
change_name1()

def change_name2():
    global NAME                 #声明即将修改全局变量
    NAME='兴高采烈'              #修改全局变量值
    print('你调皮',NAME)
change_name2()

def change_name3():
    name='开心唱歌'                  #
    print('你调皮',name)
change_name3()

NAME=['飞龙在天','见龙在田','潜龙勿用']
def longge():
    NAME.append('亢龙有悔')      #对全局变量进行增加
    print(NAME)
longge()

def longge2():
    print(NAME)                 #全局变量已经用增加之后的
longge2()

  



#函数嵌套
NAME='天下'                     #1
def zhuhou():
    name ='诸侯'                #3
    print(name)                 #4
    def gelao():
        name="阁老"              #6
        print(name)             #7
        def dacheng():
            name="大臣"          #10
            print(name)         #11
        print(name)             #8
        dacheng()               #9
    gelao()                     #5
    print(name)                 #12
zhuhou()                        #2

  



name = '互联网'
def wangzhan():
    name = "网站"
    def shoujiwangzhan():
        global name
        name = '自适应'
    shoujiwangzhan()
    print(name)
print(name)
wangzhan()
print(name)

NAME = '互联网'  # 定义全局变量
def wangzhan():
    name = "网站"  # 定义局部变量
    def shoujiwangzhan():
        global NAME  # 声明NAME为全局变量
        NAME = '自适应'  # 修改全局变量的值
    shoujiwangzhan()  # 调用嵌套函数
    print('wangzhan内部:', NAME)  # 打印修改后的全局变量值
# 注意:这里的print将打印全局变量的初始值
print('调用wangzhan之前:', NAME)
wangzhan()  # 调用函数,修改全局变量NAME的值
print('调用wangzhan之后:', NAME)  # 打印修改后的全局变量值
# 下面的print会引发NameError,因为name是wangzhan的局部变量
# print(name)  # 这将引发NameError

  



name = '互联网'
def wangzhan():
    name = "网站"
    def shoujiwangzhan():
        nonlocal name          #nonlocal:改变上一级的值
        name = '自适应'
    shoujiwangzhan()
    print(name)
print(name)
wangzhan()
print(name)

  

标签:NAME,Python,name,change,print,全局变量,def,21
From: https://www.cnblogs.com/liu-zhijun/p/18353611

相关文章

  • 使用条件语句登录QQ(Pythonn实验实训项目)
    实验目的1、掌握变量的创建方法及变量赋值运算的使用方法;2、掌握的掌握if-elif--else条件语句和循环语句的嵌套使用;3、掌握比较运算符的应用;4、掌握输入语句的使用方法;5、掌握continue和break语句的用法。二、实验内容使用条件语句实现QQ登录:若用户名和密码都输入正确,则......
  • 搭建python私有仓库
    1.创建帐号密码文件,并添加内容touch/opt/pyserver/.htpasswdecho"username:password">/opt/pyserver/.htpasswd2.创建包路径mkdir/opt/pyserver/packages3.创建私有仓库#不带转发的命令dockerrun--namepypi--restartalways-v/opt/pyserver/packages:/d......
  • 探索Python中的插入排序算法
    探索Python中的插入排序算法插入排序(InsertionSort)是一种简单直观的排序算法。虽然在大规模数据集上效率不如一些高级排序算法,但插入排序在处理小规模数据集或部分有序的数据时表现非常优秀。本文将介绍插入排序的工作原理、实现方法以及它的时间复杂度。插入排序的工作......
  • 使用 Python 爬取豆瓣电影 Top250 多页数据
    使用Python爬取豆瓣电影Top250多页数据创建时间:2024-08-11一、完整代码'''抓取单贞数据中的评分简介评价人数将上面的改为多页https://movie.douban.com/top250?start=0'''importrequestsfromlxmlimportetreeheader={'User-Agent':'Mozilla/5.0......
  • python代码实现老鹰抓小鸡游戏
    importpygameimportrandom#初始化pygamepygame.init()#设置屏幕尺寸和颜色WIDTH,HEIGHT=800,600BACKGROUND_COLOR=(255,255,255)EAGLE_COLOR=(0,0,255)CHICK_COLOR=(255,255,0)FPS=30#创建游戏窗口screen=pygame.display.set_mode((WIDTH,......
  • python代码实现挑棍游戏
    importrandomdefprint_sticks(sticks):  """打印当前的棍子状态"""  print("当前棍子状态:",''.join(str(i)foriinrange(1,sticks+1)))defplayer_turn(sticks):  """处理玩家的回合"""  ......
  • 【Python蓝屏程序(管理员)】
    说明:该程序为临摹(......
  • BUUCTF 81题吹着贝斯的二维码详解(包含各类工具和python脚本)
    在网上看了很多类似解题步骤和说明,感觉对小白都不友好,于是决定搜集整理下,做个详尽的解题步骤:压缩包解压得到36个无后缀名文件和一个flag.zip压缩包再看压缩包,解压发现有压缩密码,用winhex查看是不是伪加密,在末尾发现一串可疑字符串,拷贝下来留用:GNATOMJVIQZUKNJXGRCTGNRTG......
  • python asyncio grpc
    1.准备环境python3.11-mvenvvenvsourcevenv/*/activatepipinstallgrpcio-tools#包含了grpcio和protobufpipinstalltypes-protobufgrpc-stubs#可选安装,用于mypy静态检查2.编写msg.protosyntax="proto3";//这是注释,同时也是类文档serviceMsgService{......
  • Python和多线程(multi-threading)
    在Python中,实现并行处理的方法有几种,但由于Python的全局解释器锁(GIL,GlobalInterpreterLock)的存在,传统意义上的多线程(使用threading模块)并不总能有效利用多核CPU来实现真正的并行计算。GIL确保任何时候只有一个线程在执行Python字节码。不过,仍然有几种方法可以绕过这个限制,......