你要偷偷学Python,然后惊艳所有人(模块)

模块的概念

  • 每一个以扩展名py结尾的Python源代码文件都是一个模块
  • 模块名同样也是一个标识符,需要标识符的命名规则
  • 在模块中定义的全局变量、函数、类都是提供给外界直接使用的工具
  • 模块就好比工具包,要想使用这个工具包中的工具,就需要先导入这个模块

模块的两种导入方式
1)
import导入

import 模块名1,模块名2

提示:在导入模块时,每个导入应该独占一行

import 模块名1
import 模块名2

导入之后
通过 模块名. 使用模块提供的工具——全局变量、函数、类
使用as指定模块的别名
如果模块的名字太长,可以使用as指定模块的名称,以方便在代码中使用

import 模块名1 as 模块名

2)
from…import导入

  • 如果希望从某一个模块中,导入部分工具,就可以 使用from…import的方式
  • import模块名是一次性把模块中所有工具全部导入,并且通过模块名/别名访问
from 模块名1 import 工具名

导入之后

不需要通过 模块名.
可以直接使用模块提供的工具——全局变量、函数、类
注意:如果如果两个模块,存在同名的函数,那么后导入模块的模型,会覆盖掉先导入的函数


概念

  • 包是一个包含多个模块的特殊目录
  • 目录下有一个特殊的文件__init__.py
  • 包名的命名方式和变量名一致,小写字母+_
    作用
  • 使用import包名,可以一次性导入包中所有的模块

案例演示

  • 新建一个message的包
  • 在目录下,新建两个文件send_message和receive_message
  • 在send_message文件中定义一个send函数
  • 在receive_message文件中定义一个receive函数
  • 在外部直接导入hm_message的包

init.py

要在外界使用包中的模块,需要在__init__.py中指定对外界提供的模块列表
from.import send_message
from.import receive_message
send_message.py
def send(text):
    print("正在发送:%s"%text)

receive_message.py
def receive():
    return "这是来自1008X的短信"

__init__.py
from . import send_message
from . import receive_message

导入包.py
import  message
message.send_message.send("hello")
txt=message.receive_message.receive()
print(txt)    
#结果
正在发送:hello
这是来自1008X的短信
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值