#!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