python模块

模块的导入

Python模块(Module),就是一个Python文件,以.py结尾

  1. 模块能定义函数,类和变量,模块里也能包含可执行的代码.
  2. 模块的作用: python中有很多各种不同的模块,每一个模块都可以帮助我们快速的实现一些功能,
  3. 比如实现和时间相关的功能就可以使用time模块, 我们可以认为一个模块就是一个工具包,每一个工具包中都有各种不同的工具供我们使用, 进而实现各种不同的功能
  4. 大白话: 模块就是一个Python文件,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)

模块在使用前需要先导入

  1. 导入的语法如下:

  1. import的本质就是导入py文件, 导入后该文件的函数,类,变量都可以使用

常用的组合形式如:

  1. import 模块名

  1. from 模块名 import 类、变量、方法等

  1. from 模块名 import *

  1. import 模块名 as 别名
  2. from 模块名 import 功能名 as 别名

自定义模块

Python中已经帮我们实现了很多的模块,不过有时候我们需要一些个性化的模块,这里就可以通过自定义模块实现,也就是自己制作一个模块

  1. 每个Python文件都可以作为一个模块,模块的名字就是文件的名字,也就是说自定义模块名必须要符合标识符命名规则
  2. 新建一个Python文件,命名为my_module1.py 并定义test函数

了解_main_变量的作用

在实际开发中,当一个开发人员编写完一个模块后,为了验证模块在项目中达到的效果,开发人员会在py文件中添加一些测试方法, 例如,在 mymodule1.py 文件中添加测试代码 test(1,1)

此时,无论是当前文件运行,还是该文件被其他模块导入, 都会触发'test'函数的调用

我们可以用 __main__这个内置变量, 让方法只在文件运行时触发, 避免方法被引用时无意义的执行, 影响其他人

优先级问题

当导入多个模块的时候,且模块内有同名功能,当调用这个同名功能的时候,真实调用到的是后面导入的模块的功能

了解__all__变量的作用

如果一个模块文件中有a11变量,当使用 'from xxx import *' 导入时,只能导入这个列表中的元素

  1. ___all___内置python变量, 默认是*, 表示全部导出
  2. 如果你写一个列表,列表内写上函数名称, 控制导出范围, 只对全部导入生效 (*号), 按需导入不受影响
  3. 可以控制这个文件(模块)被 from ... import * 的时候, 哪些函数允许被导入

python包

包的作用

当我们的模块文件越来越多时,包可以帮助我们管理这些模块,包的作用就是包含多个模块,包的本质依然是模块

  1. 从物理上看,包就是一个文件夹,在该文件夹下包含了一个__init__py文件,用于管理模块, 该文件夹用于管理多个模块文件
  2. 从逻辑上看,包的本质依然是模块

自定义包

  1. 新建包my_package
  2. 新建包内模块: my_modulel和my_module2
  3. 模块内代码如下

  1. Pycharm中的基本步骤:
  • [New] -> [Python Package] -> 输入包名 ->「OK] -> 新建功能模块(有联系的模块)
  • 注意: 新建包后,包内部会自动创建`__init__.py'文件,这个文件控制着包的导入行为
  1. 导入自定义包 (方式一)

  1. 导入自定义包 (方式二)
  • 注意: 必须在__init__.py文件中添加__a11__=[], 控制允许导入的模块列表

第三方包

在Python程序的生态中,有许多非常多的第三方包(非Python官方),可以极大的帮助我们提高开发效率,如:

  • 科学计算中常用的: numpy包
  • 数据分析中常用的: pandas包
  • 大数据计算中常用的: pyspark、apache-flink包
  • 图形可视化常用的: matplotlib、pyecharts
  • 人工智能常用的: tensorflow
  1. 这些第三方的包,极大的丰富了Python的生态,提高了开发效率。
  2. 但是由于是第三方,所以Python没有内置,所以我们需要安装它们才可以导入使用哦。

安装第三方包

第三方包的安装非常简单,我们只需要使用Python内置的 pip 程序即可。

  1. 打开我们许久未见的命令提示符程序,在里面输入: pip install 包名称
  2. 即可通过网络快速安装第三方包

  1. 由于pip是连接的国外的网站进行包的下载,所以有的时候会速度很慢。
  2. 我们可以通过如下命令,让其连接国内的网站进行包的安装:

PyCharm也提供了安装第三方包的功能:

常用内置模块

时间处理

时间戳是用一个数字来表示时间。数字指代从1970-01-01 00:00:00开始经过了多久。

  1. 秒级精度

  1. 毫秒级精度

时间处理

随机数

通过random模块可以获得随机的数字。

文件相关

文件操作

系统操作

系统操作

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐