原文作者:我辈李想
版权声明:文章原创,转载时请务必加上原文超链接、作者信息和本声明。
文章目录
- 一、基础数据类型
- 1.整型
- 1.函数中加global
- (2)函数中不加global
- (3)报错
- 二、组合数据类型
- 1.列表案例
- (1)函数中加global
- (2)函数中不加global
一、基础数据类型
1.整型
1.函数中加global
total = 1 # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
global total
total = 1 + 2
print ("函数内是局部变量 : ", total)
return total
#调用sum函数
sum( 10, 20 )
print ("函数外是全局变量 : ", total)
(2)函数中不加global
total = 1 # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = 1 + 2
print ("函数内是局部变量 : ", total)
return total
#调用sum函数
sum( 10, 20 )
print ("函数外是全局变量 : ", total)
对于基础数据类型(都是不可变的),global 确定了最终作用的范围。
(3)报错
如果没有加global,是无法使用全局不可变类型的数据的,比如我们在函数中使用total = total + 2
total = 1 # 这是一个全局变量
# 可写函数说明
def sum( arg1, arg2 ):
#返回2个参数的和."
total = total + 2
print ("函数内是局部变量 : ", total)
return total
#调用sum函数
sum( 10, 20 )
print ("函数外是全局变量 : ", total)
二、组合数据类型
1.列表案例
(1)函数中加global
total = [1,2] # 这是一个全局变量
# 可写函数说明
def add( arg1, arg2 ):
global total
total.append(3)
print ("函数内是局部变量 : ", total)
return total
#调用add函数
add( 10, 20 )
print ("函数外是全局变量 : ", total)
示例结果
(2)函数中不加global
total = [1,2] # 这是一个全局变量
# 可写函数说明
def add( arg1, arg2 ):
total.append(3)
print ("函数内是局部变量 : ", total)
return total
#调用add函数
add( 10, 20 )
print ("函数外是全局变量 : ", total)
示例结果
对于列表,global 加不加都是一样的,主要是列表是可变数据类型。