python#模块

本文深入探讨Python模块的载入、使用及导入方法,讲解不同导入方式的影响,并介绍如何管理和发布自定义模块。同时,文章解析了包的概念及其实现方式,以及在__init__.py文件中指定对外提供模块列表的重要性。

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

前言

1.模块

模块的载入

1.模快

# 全局变量
title = '模块1'

# 函数
def say_hello():
    print("我是 %s" % title)

# 类
class Dog(object):
    pass

2.导入模块

import hm_01测试

hm_01测试.say_hello()
dog = hm_01测试.Dog

当模块名称,太长的时候,可以用as 减少让自己搞

import hm_01测试 as DogM

DogM.say_hello() # 使用了模块名.调用

dog = DogM.Dog

导入方法2

from  hm_01测试 import Dog
from  hm_01测试 import say_hello

dog = Dog()
say_hello() # 和上面比不需要使用模块名. 调用
print(dog)

导入后不需要通过 (模块名.) 调用

当使用from impot 导入相同方法(函数),的时候,会采用第2个

1.3模块的搜索顺序

先搜索当下的

1.4原则—每一个文件都应该是可以被导入的

注意:在导入文件时,文件中 所有没有任何缩进的代码 都会被执行一遍!

#python名 hm_09___name__
print("小明开发的模块")
import hm_09___name__
print("-" * 50)
输出:
>输出:小明开发的模块
>--------------------------------------------------

解决问题:

def say_hello():
    print("你好你好,我是say hello")


# 如果直接执行模块 ,永远都是__main__
# 如果需要测试模块,则增加if __name__
if __name__ == "__main__":
    print(__name__)

    print("小明开发的模块")
    say_hello()

在自己的地方输出,print(“new”) 只输出__mian__
在别的文件里面出现,会输出这个模块的名字

import hm_09___name__
print("-" * 50)

得在__init__ 文件里写入
以下是__init__ 文件中的内容

#  要在外界使用 包 中的模块,需要在 __init__.py 中指定 对外界提供的模块列表
from . import send_message
from . import receive_message

只有写了 这句话,才可以使用包里的 文件内容之类的

发布模块

1)创建setup.py
在这里插入代码片
2) 构建模块
$ python3 setup.py build
3) 生成发布压缩包
$ python3 setup.py sdist
4) 解压错
$ tar -zxvf hm_message-1.0.tar.gz  #解压缩

$ sudo python3 setup.py install
pip安装模块
# 将模块安装到 Python 2.x 环境
$ sudo pip install pygame
$ sudo pip uninstall pygame

# 将模块安装到 Python 3.x 环境
$ sudo pip3 install pygame
$ sudo pip3 uninstall pygame
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值