继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

我是香皂皮皂
关注TA
已关注
手记 39
粉丝 0
获赞 5

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

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

主讲老师:7七月

课程内容:

今天学习的内容包括:

from import 导入变量

课程收获:

导入方式:

from module import a,def
print(a)

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

http://img2.mukewang.com/632bb6850001f02f12630771.jpg

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

from t import c7

print(c7.a)

http://img3.mukewang.com/632bb6940001dfbd12160742.jpg

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

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

http://img3.mukewang.com/632bb6a80001924f13190810.jpg

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

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

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

在c7中加入一下代码。

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

http://img3.mukewang.com/632bb6b90001aeac13430900.jpg

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

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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP