课程名称:全面系统Python3.8入门+进阶(程序员必备第二语言)
课程章节:7-8 from import 导入变量
主讲老师:7七月
课程内容:
今天学习的内容包括:
from import 导入变量
课程收获:
导入方式:
from module import a,def print(a)
import导入的是模块,from module improt def 导入的是一个变量。因为我们导入的是一个变量,因此我们就不需要在a前面加入t.c7了 。
from module import后能不能引入模块?
from t import c7 print(c7.a)
多个引用:把一个模块上所有变量和函数导入。
from t.c7 import * print(a) print(d) print(c)
虽然星号可以解决多用,但是不推荐。因为python是解释性语言,当前代码中变量a,d,c会提示语法问题。但实际却是可以执行的。
在实际的编码过程中,不太可能一次性引用所有的变量和函数。
有什么办法可以控制星号的行为。让星号导入的时候只导入我们所制定的变量。
在c7中加入一下代码。
__all__ = ['a','c'] #我们称为这种为模块内置变量或模块的内置属性
发现代码执行后2和3正确的打印出来了,但d他提示我们没有别定义,因为我们在c7里定义,当我们使用*导入的时候只导入a,c2个变量。而d是不会被导入进来,所以当他尝试去解析d的时候就会报没有定义这个错误。
至于最后from import和import如何选取,可以根据自己实际情况,并没有一个一定的规则。