Python基础4——模块与包

半臻
• 阅读 2069

12 模块与包

模块通俗地理解为.py文件,里面定义了变量、函数和类。

需要的时候就可以导入这些模块。

执行步骤

  1. 在python模块加载路径中查找相应的模块文件
  2. 将模块文件编译成中间代码
  3. 执行模块文件中的代码

12.1 模块分类

  1. 内置模块,也叫标准库,比如说random,time,大概有200多个
  2. 第三方模块,也称为第三方库,使用pip install 模块名来进行安装,比如说request、Django等
  3. 自定义模块,自己在项目中定义一些模块

test.py

print("这是test")

def login():
    print("test.py中的登录")

name = "zhangsan"

12.2 import导入模块

import random #导入模块

import test #导入test.py文件之后,会执行test.py中的内容。 
# 有时候会红色波浪线,可是可以正常执行。
# 去掉红色波浪线,解决办法:右键文件所在目录,选择Mark Directory as ,选择Sources Root

test.login() #调用模块的函数

print(test.name) #打印变量

导入模块2

# 从模块中导入指定的部分

from test import login,name  #只导入了login和name
login()
print(name)

导入模块3

from test import * #把模块中的所有的内容导入
login()
print(name)

给模块其别名

import test as t

t.login() #调用模块的函数
print(t.name) #打印变量

12.3 __name__=="__main__"

防止模块被导入强制执行代码。

保护模块中的代码


if __name__ == "__main__":
    print("这里的代码,在导入模块的时候不会被执行")
    print("只用当前py文件作为主文件的时候,才会被执行")

12.4 包的基本概念

通俗来讲,包含有__init__.py文件的文件夹

包中有模块。可以将包理解为模块的集合

包中还可以有包

import test #当导入包时,首先执行__init__.py文件的代码

包的注意事项

  1. import导入包时,会首先执行__init__.py文件的代码
  2. 不建议在__init__.py中写python模块,保证init的内容剪刀
  3. __all__变量:一个列表,可以控制要引入的东西(模块、变量、类)

文件夹结构

| test

​ |- __init__.py 在init的文件中不要写代码,只需要导入其他模块即可

# from test import register
__all__ = ['register'] #相当于导入register模块,等价于from test import register

​ |- register.py

def res():
    print("注册方法方法")

main.py

from test import register

register.res()

12.5 创建包

鼠标右键->New->Python Package

点赞
收藏
评论区
推荐文章
CuterCorley CuterCorley
3年前
商业数据分析从入门到入职(8)Python模块、文件IO和面向对象
前言本文先介绍了Python中程序、模块和包的基本使用,并在此基础上介绍了Python标准库。然后详细介绍了Python中的文件IO操作,包括文本文件、二进制文件的读写和其他IO操作。最后介绍了面向对象,包括类的定义、继承的使用、鸭子类型和魔法方法。一、程序、模块和包1.自定义模块和包之前我们使用的.ipynb文件都不是纯Python文件,
Stella981 Stella981
2年前
Python常用模块
一、什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。  但其实import加载的模块分为四个通用类别:   1使用python编写的代码(.py文件)  2已被编译为共享库或DLL的C或C扩展  3包好一组模块的包  4使用C编写并链接到
Stella981 Stella981
2年前
Python何时执行装饰器
装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行。这通常是在导入时(即Python加载模块时),如示例72中的registration.py模块所示。  示例72registration.py模块registrydefregister(func):print(
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Stella981 Stella981
2年前
Python调用C语言函数
在C调用Python模块时需要初始化Python解释器,导入模块等但Python调用C模块却比较简单,ctypes模块提供了和C语言兼容的数据类型和函数来加载dll或so文件,因此在调用时不需对源文件做任何的修改1.编写C语言代码,可参考https://www.cnblogs.com/zhouzhishuai/p/9529487.html(ht
Stella981 Stella981
2年前
Python基础(七)
1模块函数1.1模块函数模块函数指的是模块中的函数,模块函数有三种:内置模块:又叫标准库.第三方开源模块:可以通过包管理工具进行安装.自定义模块.1.2导入导入方法主要有三种:1.2.1importmoudleimportmath
Stella981 Stella981
2年前
Python基础(八)
1模块1.1模块模块是一个python文件,其中包含对象定义与语句等.多个模块再加上\_\_init\_\_.py就变成了一个包.1.2模块存在形式模块可以分成两种:非内置模块与内置模块.1.2.1非内置模块非内置模块以.py文件的形式存在,放在对应的包下.1.
可莉 可莉
2年前
18.Python模块包(pycharm右键创建文件夹和python package的区别)中__init__.py文件的作用
原来在python模块的每一个包中,都有一个\_\_init\_\_.py文件(这个文件定义了包的属性和方法)然后是一些模块文件和子目录,假如子目录中也有\_\_init\_\_.py那么它就是这个包的子包了。当你将一个包作为模块导入(比如从 xml导入 dom )的时候,实际上导入了它的 \_\_init\_\_.py 文件。一个包是一个带有特殊文
小万哥 小万哥
5个月前
Python 模块:创建、导入和使用
什么是模块?将模块视为代码库。模块是一个包含一组函数的文件,您想要在应用程序中包含这些函数。创建一个模块要创建一个模块,只需将要包含在其中的代码保存在扩展名为.py的文件中:示例:将以下代码保存在名为的文件中:pythondefgreeting(name)
小万哥 小万哥
5个月前
Python 包管理器入门指南
什么是PIP?PIP是Python包管理器,用于管理Python包或模块。注意:如果您的Python版本是3.4或更高,PIP已经默认安装了。什么是包?一个包包含了一个模块所需的所有文件。模块是您可以包含在项目中的Python代码库。检查是否安装了PIP在