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

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

标签:
Python

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

课程章节:7-8 from import 导入变量

主讲老师:7七月

课程内容:

今天学习的内容包括:

from import 导入变量

课程收获:

导入方式:

from module import a,def
print(a)

import导入的是模块,from module improt def 导入的是一个变量。因为我们导入的是一个变量,因此我们就不需要在a前面加入t.c7了 。

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

from module import后能不能引入模块?

from t import c7

print(c7.a)

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

多个引用:把一个模块上所有变量和函数导入。

from t.c7 import *  
print(a)
print(d)
print(c)

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

虽然星号可以解决多用,但是不推荐。因为python是解释性语言,当前代码中变量a,d,c会提示语法问题。但实际却是可以执行的。

在实际的编码过程中,不太可能一次性引用所有的变量和函数。

有什么办法可以控制星号的行为。让星号导入的时候只导入我们所制定的变量。

在c7中加入一下代码。

__all__ = ['a','c']  #我们称为这种为模块内置变量或模块的内置属性

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

发现代码执行后2和3正确的打印出来了,但d他提示我们没有别定义,因为我们在c7里定义,当我们使用*导入的时候只导入a,c2个变量。而d是不会被导入进来,所以当他尝试去解析d的时候就会报没有定义这个错误。

至于最后from import和import如何选取,可以根据自己实际情况,并没有一个一定的规则。


点击查看更多内容
TA 点赞

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

评论

作者其他优质文章

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

100积分直接送

付费专栏免费学

大额优惠券免费领

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

举报

0/150
提交
取消