6-global关键字、模块、包

global关键字

global关键字允许在当前作用域之外修改变量。它用于创建全局变量并在局部上下文中对该变量进行更改。

基本规则:

示例:

可以用global关键字解决:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GEgF0JgA-1683716547385)(null)]

跨python模块的全局变量

在Python中,可以创建一个模块config.py来保存全局变量,并在同一程序中的Python模块之间共享信息。

【该模块config.py存储a和b的全局变量。在update.py文件中,我们导入config.py模块并修改a和b的值。同样,在main.py文件中,我们同时导入config.py和update.py模块。最后,我们打印并测试全局变量的值,无论它们是否更改。】

嵌套函数中的全局变量

【在上面的程序中,我们在嵌套的函数bar()中声明全局变量。在foo()函数中,x对全局关键字没有影响。
在调用bar之前和之后,变量x接受局部变量的值,即x =20。在foo函数之外,变量x将采用bar函数中定义的值,即x =25。这是 因为我们在x中使用了global关键字在bar函数(局部作用域)内创建了全局变量。
如果我们在bar()函数中做了任何更改,那么这些更改就会出现在局部作用域之外,即foo()。】

模块

模块是指包含Python语句和定义的文件。

包含Python代码的文件,例如:example.py,称为模块,其模块名称为example。

可以在模块中定义最常用的函数并将其导入,而不是将其定义复制到其他程序中。

例子:

创建一个模块example.py

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g4W62nsi-1683716547399)(null)]

导入模块

使用import name(模块名)来导入

重命名导入

【可以使用别名m来指代math模块】

使用模块

可以使用点. 运算符访问函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GKlFAKcW-1683716547378)(null)]

from…import

可以从模块导入特定名称,而无需整体导入模块。

导入所有名称

dir()内置函数

使用dir()函数找出在模块内部定义的名称。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n37hTNwh-1683716547419)(null)]

包(Package)

我们通常不会把所有的文件都存储在同一个地方。我们使用一个组织良好的目录层次结构,以方便访问。

我们将相似的模块放在一个包中,而将不同的模块放在不同的包中。这使项目(程序)易于管理且概念清晰。

目录必须包含一个名为 _init_.py 的文件,Python才能将其视为一个包。该文件可以保留为空,但是我们通常将该程序包的初始化代码放入此文件中。

从包中导入模块

我们可以使用点(.)运算符从包中导入模块

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

且乐一杯酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值