python第十一次课:模块和包

一、模块简介

模块:**

  • 一个python文件其实就是一个模块

  • 分为:内置模块和第三方模块

python内置模块的保存位置

import os
print(os.__file__)    # os.__file__  可以显示os模块的所在路径

# 输出:
# C:\Users\Administrator\AppData\Local\Programs\Python\Python310\lib\os.py

安装第三方模块

  • 用到python的模块管理工具:pip/pip3

  • 安装模块:需要首先安装pip/pip3

  • 安装命令:pip3 install 模块名

 


二、开发模块

第一步:在pycharm中新建一个目录

  • 目录的名字:testmodule

  • 创建目录过程:略

第二步:在 testmodule 目录中创建python文件这个python文件是作为模块使用

  • 文件名:send.py

  • 创建过程:略

  • send.py中的代码

# 这是我们的第一个模块
def info():
    print("这是测试模块,你看到这里,说明模块导入了")
    
name = "tom"
age = 0

第三步:在 testmodule 目录中创建python文件这个python文件是调用前面那个模块使用

  • 文件名:use.py

  • 创建过程:略

  • use.py中的代码

import send
send.info()

myName = send.name
myAge = send.age

print(myName,myAge)

注意:

  • 模块和调用模块的文件必须在同一级目录下

  • 如果不在一级目录,需要将模块放入到系统的搜索路径中


三、导入模块

方法1

  • 导入:

    • import 模块名

  • 使用:

    • 模块名. 方法()

    • 模块名.变量


方法2

  • 导入:

    • from 模块名 import 方法1,方法2 ....

  • 使用:

    • 方法()


方法3

  • 导入:

    • from 模块名 import *

  • 使用:

    • 方法()


方法4

  • 导入:

    • import 模块名 as 新的名字

  • 使用:

    • 新名字.方法()


4、程序访问入口

python的内置属性:__name__

  • 这个属性的返回值有两种

    • 第一种:__main__ , 程序主动执行的,那么返回结果是这个

    • 第一种:文件名, 程序是被调用才执行的,那么返回结果是这个

模块文件:send.py中的内容

# 方法1
def s1():
    print("hello")
def s2():
    print("bye")
name = "tom"
age = 10

if(__name__) == "__main__":     # 判断是否这个文件是主动执行
    s1()
    s2()
    print("------------------------------")

调用模块文件:test.py

import send     # 导入模块【导入模块的时候,其实是将模块中的程序全部执行一遍】

send.s1()       # 使用模块中的方法

五、包

1、简介

  • 将多个python模块放到一个目录中,这个目录就是一个包

  • 包中必须包含一个文件__init__

2、案例

  • 创建包,在包中创建两个模块,然后在其他程序中调用模块

# 目录结构
|---newpro.py           # 相当于主程序
|---package01           # 包
       |---__init__.py  
          |---md1.py       # 包中的模块
       |---md2.py       # 包中的模块

md1.py中的代码

def show():
    print("hello boys")

def say():
    print("ni hao")

md2.py中的代码

def install():
    print("install soft")
def remove():
    print("remove soft")

使用包和包中的模块

  • 首先需要去配置一下包中的__init__文件

  • 然后才能在主程序中导入包和模块

__init__文件中的代码

__all__ = ["md1","md2"]
from . import *

newpro.py中的代码

from package01 import *
md1.say()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值