首页 > 编程语言 > 详细

7.Python(变量,前向引用,递归)

时间:2020-04-17 00:35:53      阅读:63      评论:0      收藏:0      [点我收藏+]

一、全局变量和局部变量

A.

1.简要说明

   全局变量,顶着头开始写,没有任何缩进,在py文件的任何位置都能调用,习惯用大写

   局部变量,在函数内部声明,只有这个函数能用,出去就不能用了,局部变量与全局变量变量名重名,给局部赋值并不能改变全局变量内容

name = lhf# 全局变量

def change_name():
    name = 帅了一比 # 局部变量
    print(change_name, name)

change_name() #全局与局部变量名一样,先调用局部的
print(name) #全局变量没有改变

技术分享图片

 

 

2.全局变量内容在函数内部操作后进行变化

函数内部没有global关键字并可以改变全局变量内容要求,全局变量是一个可变类型,比如列表,函数内部才可以对其进行操作

NAME = ["啊啊","刚刚"]
def qupengfei():
    NAME.append(XXOO)
    print(NAME)
qupengfei()

技术分享图片

 

 

B.global关键字

1.简要说明

global  关键字。想要在函数里面修改全局变量应该这样:

在函数内声明global name,就代表调用全局的变量name

专业的说法是global 后面的name是一个指针,一个内存地址,直接调用的那个内存地址

调用之后在子程序(局部程序)里面再次给name赋值的话就修改了全局变量name了

name = "gouguoqi"
def change_name():
    global name
    name = "miaoye"
change_name()
print (name)

技术分享图片

 

 

2.在函数内部操作,改变全局变量

NAME = ["产品经理","啦啦"]
def qupengfei():
    global NAME
    NAME = "自己"
    print(NAME)
qupengfei()

技术分享图片

 

 

 

NAME = ["产品经理","啦啦"]
def qupengfei():
    global NAME
    NAME = ["阿毛"]
    NAME.append(XXOO)
    print(NAME)
qupengfei()

技术分享图片

 

 

C.各种嵌套

 1 name = "北爷"   #1 第一步 定义全局变量name 1
 2 def huangwei():  #2 第二步 定义一个函数,到14行第二步结束,把这些都放到内存里面加载上,并没有执行 2
 3     name = "黄伟" #4.1  定义局部变量name 5
 4     print(name) #4.2 打印局部变量name的值  "黄伟" 6
 5     def liuyang(): #4.3 定义一个函数,然后把这段到12行的代码又放入了内存,等待下次调用 7
 6         name = "刘洋" #4.4.1定义局部变量name 9
 7         print(name) #4.4.2打印出局部变量name "刘洋" 10
 8         def nulige():#4.4.3  又遇到def了。又把这一部分到10行的代码放入了内存,没有执行。等待下次调用 11
 9             name = "喵爷"#4.4.5.1定义了一个局部变量name 14
10             print(name)#4.4.5.2打印局部变量name的值"喵爷" 15
11         print(name)#4.4.4 打印name 刘洋 12
12         nulige()#4.4.5 调用nulige这个函数,开始向上找 13
13     liuyang()#4.4 调用liuyang这个函数,开始向上找 8
14     print(name) #4.5 第五步 打印name 这时候的name的值是"黄伟" 16
15 print(name) #3 第三步  打印name 这时候name="北爷" 3
16 huangwei() #4 第四步 执行huangwei这个函数,开始向上找他 4
17 print(name)#5第五步 打印全局变量name 17

技术分享图片

 

7.Python(变量,前向引用,递归)

原文:https://www.cnblogs.com/zhaojiayu/p/12716945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!