day13后续 - 模块和包的使用

    技术2024-05-29  76

    day13后续 - 模块和包的使用

    一个模块就是一个py文件 哪些能用:所有在指定if语句外的全局变量 怎么使用:需要先导入模块 import 模块名 导入后可以使用所有的全局变量;以‘模块名.变量’的方式来使用全局变量 from 模块名 import 变量1,变量2,变量3......导入后可以使用指定的变量;直接使用变量 from 模块名 import *(通配符-全部) 把模块中所有变量全部导入(不推荐) import 模块名 as 新模块名 导入模块时给模块取别名 from 模块名 import 变量1 as 新变量1

    导入模块的原理

    当使用import或者from-import导入模块的时候,系统会将导入的模块全部执行一遍 注意:重复导入同一个模块,模块中的内容只会执行一次 # import 和 include 的区别? import 会自动检查,不会重复执行 include 重复导入会导致重复执行 # 关于循环导入的问题(两个文件相互导入) python不存在这个问题

    怎样选择性的执行被导入的内容

    在被导入的模块中添加if语句,将不希望被其他模块执行的代码放到if语句中 if 语句: if __name__ == '__main__': 不希望被其他模块执行的代码 原理:每个模块都有一个属性:__name__,这个属性是用来保存当前模块的名字。__name__默认值就是模块对应的py文件的文件名。 当我们直接执行某个模块的时候,这个__name__属性就会自动变成'__main__'

    eg:

    def main(): print('程序开始的代码') if __name__ == '__main__': main()

    包的使用

    包就是一种特殊的文件夹(a.里面的文件都是py文件 b.自带一个__init__.py的文件)

    1.直接导入

    示例一:通过包直接导入模块 from shape import circle def main(): r = 10 if __name__ == '__main__': main() 示例二:通过包导入模块中的数据 from shape.circle import area print(area(10))
    Processed: 0.010, SQL: 10