1、局部变量
1
2
3
4
5
6
7
|
name = "Yang Li"
def change_name(name):
print ( "before change:" ,name)
name = "你好"
print ( "after change" , name)
change_name(name)
print ( "在外面看看name改了么?" ,name)
|
输出:
before change: Yang Li
after change 你好
在外面看看name改了么? Yang Li
2、全局变量
1
2
3
4
5
6
7
8
9
10
11
12
13
|
NAME = "alex"
def yangjian():
global NAME # 已经声明,NAME就是全局的的那个变量
print ( '1我的名字' , NAME)
NAME = "land" # 修改 全局的变量
print ( '2我的名字' , NAME)
def qupengfei():
name = "yang"
print ( '3我的名字' , NAME)
yangjian()
qupengfei()
|
输出:
1
2
3
4
5
6
7
|
1我的名字 alex
2我的名字 land
3我的名字 yang
######## 全局变量变量名大写
######## 局部变量变量名小写
#函数中 优先读取局部变量,能读取全局变量,无法对全局变量重新赋值;但是对于可变类型,可以对内部元素进行操作;如果函数中有global关键字,变量本质上就是全局的那个变量,可读取可赋值
|
3、nonlocal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
name = "刚娘"
def weihou():
name = "陈卓"
def weiweihou():
nonlocal name # nonlocal,指定上一级变量,如果没有就继续往上直到找到为止
name = "冷静"
print (name)
weiweihou()
print (name)
print (name)
weihou()
print (name)
# 刚娘
# 陈卓
# 陈卓
# 刚娘
|
全局与局部变量
在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。
全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。
当全局变量与局部变量同名时:
在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。
函数返回值
要想获取函数的执行结果,就可以用return语句把结果返回
注意:
函数在执行过程中只要遇到return语句,就会停止执行并返回结果,so 也可以理解为 return 语句代表着函数的结束
如果未在函数中指定return,那这个函数的返回值为None
嵌套函数
1
2
3
4
5
6
7
8
9
10
|
name = "Alex"
def change_name():
name = "Alex2"
def change_name2():
name = "Alex3"
print ( "第3层打印" ,name)
change_name2() #调用内层函数
print ( "第2层打印" ,name)
change_name()
print ( "最外层打印" ,name)
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/Yangyl00/p/13184956.html