Python基础4——模块与包

12 模块与包

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

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

执行步骤

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

12.1 模块分类

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

test.py

1print("这是test") 2 3def login(): 4 print("test.py中的登录") 5 6name = "zhangsan"

12.2 import导入模块

1import random #导入模块 2 3import test #导入test.py文件之后,会执行test.py中的内容。 4# 有时候会红色波浪线,可是可以正常执行。 5# 去掉红色波浪线,解决办法:右键文件所在目录,选择Mark Directory as ,选择Sources Root 6 7test.login() #调用模块的函数 8 9print(test.name) #打印变量 10

导入模块2

1# 从模块中导入指定的部分 2 3from test import login,name #只导入了login和name 4login() 5print(name)

导入模块3

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

给模块其别名

1import test as t 2 3t.login() #调用模块的函数 4print(t.name) #打印变量 5

12.3 __name__=="__main__"

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

保护模块中的代码

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

12.4 包的基本概念

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

包中有模块。可以将包理解为模块的<font color="red">集合</font>

包中还可以有包

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

包的注意事项

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

文件夹结构

| test

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

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

​ |- register.py

1def res(): 2 print("注册方法方法") 3

main.py

1from test import register 2 3register.res() 4

12.5 创建包

鼠标右键->New->Python Package

点赞
收藏

评论区

加载中...

相关推荐

商业数据分析从入门到入职(8)Python模块、文件IO和面向对象

前言本文先介绍了Python中程序、模块和包的基本使用,并在此基础上介绍了Python标准库。然后详细介绍了Python中的文件IO操作,包括文本文件、二进制文件的读写和其他IO操作。最后介绍了面向对象,包括类的定义、继承的使用、鸭子类型和魔法方法。一、程序、模块和包1.自定义模块和包之前我们使用的.ipynb文件都不是纯Python文件,

Python常用模块

一、什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。  但其实import加载的模块分为四个通用类别:   1使用python编写的代码(.py文件)  2已被编译为共享库或DLL的C或C扩展  3包好一组模块的包  4使用C编写并链接到

Python何时执行装饰器

装饰器的一个关键特性是,它们在被装饰的函数定义之后立即运行。这通常是在导入时(即Python加载模块时),如示例72中的registration.py模块所示。  示例72registration.py模块registrydefregister(func):print(

Python之time模块的时间戳、时间字符串格式化与转换

Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y

Python调用C语言函数

在C调用Python模块时需要初始化Python解释器,导入模块等但Python调用C模块却比较简单,ctypes模块提供了和C语言兼容的数据类型和函数来加载dll或so文件,因此在调用时不需对源文件做任何的修改1.编写C语言代码,可参考https://www.cnblogs.com/zhouzhishuai/p/9529487.html(ht

Python基础(七)

1模块函数1.1模块函数模块函数指的是模块中的函数,模块函数有三种:内置模块:又叫标准库.第三方开源模块:可以通过包管理工具进行安装.自定义模块.1.2导入导入方法主要有三种:1.2.1importmoudleimportmath