python模块

本文详细介绍了Python模块的定义、使用模块提高开发效率、模块分类(内置、第三方、自定义)、导入方式(基本格式和from...import...)、导入语句的别名和连续导入、以及如何避免循环导入。同时提到了__name__在判断文件类型中的作用。

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

一、模块的简介

1. 什么是模块

模块(module)其实就是py文件,里面定义了一些函数、类、变量等
包(package)是多个模块的聚合体形成的文件夹,里面可以是多个py文件,也可以嵌套文件夹
库是参考其他编程语言的说法,是指完成一定功能的代码集合,在python中的形式就是模块和包可以直接拿来使用

2. 为什么要用模块

别人写好的一些功能我们把它下载下来,直接用在我们自己的项目中,大大提高开发效率比如:支付宝支付、微信支付、发短信、验证码等等很多功能

3. 模块的分类

  1. 内置模块(python解释器原来就存在的,在任何位置,任何时间都可以直接使用)
    eg:time

  2. 第三方的(别人写好的模块,人家放在了网上,去网上下载)

  3. 自定义的(我们自己写的模块)

4. 模块存在的形式

一共有4钟形式,只需要掌握2钟

  1. 我们自己写的python代码(.py文件)
    # 一个py文件就是一个模块

  2. 包的形式:就是一系列py文件的组合(文件夹)
    #文件夹内部有一个__init__.py文件

二、模块的导入方式

1. 基本格式

基本格式1	import句式							
			import NEW					#导入NEW.py文件
			NEW.index()					#通过句点拿到NEW里面的函数调用
			NEW.index1()				#通过句点拿到NEW里面的函数调用
			NEW.index2()				#通过句点拿到NEW里面的函数调用
			print(NEW.user)

在这里插入图片描述

2. from…import…句式

from NEW import user,index,index1,index2  # from the NEW.py
import NEW
"""
    from...import...句式
        导入模块也会执行导入文件,多次导入也只会执行一次,跟import句式一样
    
    导入文件的时候发生了什么事儿?
        1. 首先会运行执行文件,产生执行文件的全局名称空间
        2. 运行导入文件NEW
        3. 会产生导入文件的全局名称空间,把导入文件中的名字都丢到全局名称空间中
        4. 会在执行文件中产生一个名字user指向导入文件的名称空间中得user
        
    如果使用from...import...句式的情况,在执行文件中会出现名字冲突的情况(在执行文件中出现了和导入的名字一样的时候)
        出现冲突的时候离谁近用谁的
    
    以后所有的导入语句都写在文件的开头
"""
# user = 1000
# print(user)
# from NEW import user
# print(user)

# print(index)
# index1()
# index2()
def index1():
    print('from read1')
index1()

三、导入语句的其他用法

1. 起别名
	
    from md import money as m
    from md import read1 as r1
    from md import read2 as r2
    import md

    def read1():
        print('from read1')
    read1()
    r1()

    md.read1()
    
2. 连续导入
	import md
    import time
    import os
    import sys
    
    import md,time,os,sys
3. 通用导入
	from md import *
    from md import *
    read1()
    change()

__all__ = ['money', 'read1', 'change']

四、循环导入

在你编码的过程中,循环导入是不能允许出现的

如果你的代码出现了循环导入问题,那就是你的代码设计不合理,及时更正

五、判断文件类型(执行文件、导入文件)

所有的py文件中都自带一个__name__内置名
			当py文件是执行文件的时候 __name__的结果是__main__
			当py文件是被导入文件的时候 __name__的结果是模块名(文件名)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值