Python全局变量global和局部变量

#!usr/bin/env python
# coding:utf-8
# @Time    : 2021/11/29
# @Author  : zhaomin
# 定义:全局变量是在函数外定义的变量;局部变量是在函数内部定义的变量
name = '小红' # name是一个全局变量

def print_name_1():
    print('my name is %s' % name)
    # 函数内可以直接读取访问全局变量,使用的name为全局变量
    # 全局变量必须在使用前定义,把全局变量注释掉,则该方法会报错

def print_name_2():
    name = '小芳' 
    print('my name is %s' % name) 
    # 局部变量和全局变量同名,局部变量会覆盖全局变量
    # 相当于在函数内重新定义一个新的变量,全部变量的值不会被改变

def print_name_3():
    global name
    name = '小兰'
    print('my name is %s' % name) 
    # 在函数内想要修改全局变量的值,需要先使用global声明使用全局变量,然后再对全局变量进行赋值

print_name_1()
print('print_name_1执行后,全局变量%s' % name)
print_name_2()
print('print_name_2执行后,全局变量%s' % name)
print_name_3()
print('print_name_3执行后,全局变量%s' % name)

# 另外:全局变量仅为该模块内的全局变量,跨文件无法使用

终端输出如下:

my name is 小红
print_name_1执行后,全局变量小红
my name is 小芳
print_name_2执行后,全局变量小红
my name is 小兰
print_name_3执行后,全局变量小兰

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/m0_37518413/article/details/121607743