python提高篇函数3-变量的作用域

python提高篇之函数3-变量的作用域

上节课我们给大家留了一个题,相信小伙伴还记得吧。我们一起回顾下。

def people(a, b, *args, sex="李四", **kwargs):
    print(a)
    print(b)
    print(args)
    print(sex)
    print(kwargs)

people(1, 2, "a", "b", sex="男", name="张三")
# 1
# 2
# ('a', 'b')
# 男
# {'name': '张三'}

就是参数的顺序原则:位置参数、默认参数、可变参数、命名关键字参数、关键字参数

回顾完上次课程的知识点,我们就来学习本节课的内容。本节课我们讲解的是作用域的问题。

局部变量

所谓局部变量就是在局部地区有用,超过了范围就不起作用。我们看下面的例子。

def people():
	name = '张三'
people()
print(name)

# NameError: name 'name' is not defined

运行代码会报错说明name在函数作用域之外是不起作用的。这就是局部变量。

全局变量

所谓全局变量就是在代码的任何位置都是可以使用的,我们看下面的例子。

name = '李四'
def people():
	name = '张三'
people()
print(name)
# 李四

代码成功运行了,说明**name = ‘李四’**在代码的任何位置都能使用。

那么有没有将局部变量升级为全局变量的方法呢?那必须有啊。

global

这个单词的意思是全球的,全球就说明那个国家都可以使用,也就是全局的意思。具体用法我们看下面代码

name = '李四'
def people():
    global name
    name = '张三'
people()
print(name)
# 张三

上面的代码中我们只加了global name一行代码,相信小伙伴看出来区别了。我们打印了张三。我们成功的将局部变量升级成了全局变量,同时我们在函数内将名字做了赋值。

码字不易,欢迎大家在评论区留言,收藏。或者加入群聊一起进步学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值