为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第21天Python第七章包、模块、函数与变量作用域

标签:
Python

课程名称:全面系统Python3.8入门+进阶(程序员必备第二语言)

课程章节:7-11 模块内置变量 7-12 入口文件和普通模块内置变量的区别

主讲老师:7七月

课程内容:

今天学习的内容包括:

模块内置变量

入口文件和普通模块内置变量的区别

课程收获:

7-11 模块内置变量

我们除了可以在模块内部定义一些自己的变量,模块还有一些变量是已经给我们定义好的。可以使用dir,他是用来现实当前模块下所有变量。

https://img1.sycdn.imooc.com//632fa5350001b89e16261047.jpg

如上所示,使用dir后。python打印除了该模块下所有的变量。

可以看到,打印内容里有双下线展示的变量,这些变量就是python内部已经定义好的变量。他们和我们自己定义的变量没有区别。

https://img1.sycdn.imooc.com//632fa54200010fba21571355.jpg

7-12 入口文件和普通模块内置变量的区别

https://img1.sycdn.imooc.com//632fa54f0001e7a623941355.jpg

同样的代码可以看到才C9里是有package的,但是才c15里没有。这是一个差异,还有一个是那么这里。c15这里打印了__main__,他并不是c15本身的模块名字。

c9的file是当做模块导入执行的,他的文件路径是完整的路径,但在c15这里的时候他却只有c15.py没有路径了。

主要原因在于c15把他当做一个应用程序的入口,用python命令来执行的。但是对于c9来说他是一个正常的普通的python模块。

如果一个.py文件被python当做应用程序的入口文件,那么他的变量name所打印出来的值,就不再是他本身模块名了,而是会被强制更改成__main__。这是入口文件最典型的特点。

其次,第二个特点package上,如果说一个.py文件被当做是入口文件,那么他的顶级是不会再有包的。

https://img1.sycdn.imooc.com//632fa55e00015e9214170281.jpg

从以上图片可以看到,file的取值和我们执行python命令所在目录有关系的。


下载视频          
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消