python中的模块

本文详细介绍了Python中的模块概念及其使用方法,包括如何导入模块、解决命名冲突等问题,并解释了__init__.py文件的作用及循环导入的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在python中,模块是代码组织的一种方式,把功能相近的函数放到一个文件中,一个文件(.py)就是一个模块(module)
模块名就是文件名去掉后缀.py。这样做的好处是:
-提高了代码的可复用,可维护性。一个模块编写完毕后,可以很方便的在其他项目中导入
-解决了命名冲突,不同模块中相同的命名不会冲突

导入模块

1. import 模块名
    模块名.变量    模块名.函数   模块名.类
2. from 模块名 import 变量、函数、类
    在代码中可以直接使用变量、函数、类
3. from 模块名 import *
    *代表该模块中所有的内容
    如果想限制获取的内容,可以在模块中使用__all__ = ['使用*可以访问到的内容']
4. 无论是import 还是from 的形式,都会将模块内容进行加载
    如果希望其不进行调用,就会用到__name__
    在自己的模块中__name__ = __main__
    如果在其他模块中通过导入的方式调用的话:__name__ = 模块名

当你导入一个模块,Python解析器对模块位置的搜索顺序是:
1.当前目录
2.如果不在当前目录,Python 则搜索在shell变量 PYTHONPATH 下的每个目录
3.如果都找不到,Python会查看默认路径,UNIX下,默认路径一般为/usr/local/lib/python/。
模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录。PYTHONPATH和由安装过程决定的默认目录

Python自身的运行环境sys模块
文件的搜索目录顺序sys.path
python的版本sys.version

init.py 文件

当导入包的时候,默认会调用__init__.py
1.当导入包的时候,把一些初始化的函数,变量,类定义在__init__.py文件中
2.此文件中函数,变量等的访问,只需要通过 包名.函数(变量,类)…
3.结合__all__ = [‘通过*可以访问的模块名’]

from 模块 import * 如果没有定义__all__,表示可以使用模块里面的所有内容;如果定义了__all__,则只有__all__定义的内容才可以访问

from 包 import * 如果没有定义__all__,则无法使用模块里面的所有内容;需要在__init__.py文件中定义__all__,
只有__init__.py文件中__all__定义的模块才可以访问

循环导入

需要注意的是:避免产生循环导入

若出现循环导入的情况时,有以下的解决方法
1.重新架构
2.将导入的语句放到函数中
3.把导入语句放到最后

运行python文件想要传参数时的方法:

1.可以在pycharm 点击 Edit configurations,在打开界面的 Parameters后填入要传递的参数,以空格隔开
2.用文件管理器打开当前文件所在文件夹,在文件目录栏输入cmd,在打开的黑窗口中输入python 当前文件名.py 要传递的参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值