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

2022/9/23 3:17:16

本文主要是介绍【九月打卡】第18天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://img2.sycdn.imooc.com/632bb6850001f02f12630771.jpg

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

from t import c7

print(c7.a)

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

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

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

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

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

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

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

在c7中加入一下代码。

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

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

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

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




这篇关于【九月打卡】第18天Python第七章包、模块、函数与变量作用域的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程