文章目录

  • python之禅、模块、包、库概念
  • 前言
  • 1.python之禅
  • 2.模块、包、库的概念
  • 什么是模块?
  • 什么是包?
  • 什么是库?


python之禅、模块、包、库概念


前言

本篇博客将介绍python之禅,以及模块、包、库的概念以及如何导包

1.python之禅

这是 Python 的一个小彩蛋,执行 import this,会输出一段文字,这段文字可 以理解为 Python 中的『八荣八耻』。Python 之禅列出了 Python 设计的原则 与哲学,有助于理解与使用这种语言。作者是 Tim Peters

python脚本统计禅道内BUG python之禅_python脚本统计禅道内BUG

翻译如下:

• 优美胜于丑陋(Python 以编写优美的代码为目标)

• 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)

• 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)

• 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持 接口简洁)

• 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套)

• 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)

• 可读性很重要(优美的代码是可读的) • 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)

• 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)

• 当存在多种可能,不要尝试去猜测 • 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举 法)

• 虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指作者 Guido )

• 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)

• 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测 评标准)

• 命名空间是一种绝妙的理念,我们应当多加利用(倡导与号召)

2.模块、包、库的概念

  • 什么是模块?
  • 什么是包?
  • 什么是库?
  • 什么是标准库和第三方库?

在学习 Python 时,您会经常看到术语“模块”、“包”和“库”
这一次,我将解释这三个词的含义,它们的作用以及它们的区别

通过了解这三件事,您可以更好地了解使用 Python 进行编程。请看到最后

python脚本统计禅道内BUG python之禅_第三方库_02

首先,我想用一个词来介绍模块、包和库

  1. 一个模块是几个函数和类的集合。
  2. 一个包是几个模块的集合。
  3. 库是几个包的集合。

概念的大小按如下顺序排列。

库>包>模块>类>函数>变量

在这篇图文中我会很详细的向你讲解

什么是模块?


python脚本统计禅道内BUG python之禅_python脚本统计禅道内BUG_03

模块是单个 Python 文件,用于表示程序的一部分。

如果你想用 Python 编程,创建一个扩展名为 .py 的文件并在其中编写代码。在开发应用程序或系统时,它通常不是一个文件。创建 10 个或 20 个或超过 100 个 Python 文件并将它们组合起来以使其作为程序运行。

这时,从整个程序的角度来看,一个文件被认为是一个部分。单个应用程序由大量部分组成。在 Python 中,单个文件称为模块。因此,一个模块包含几个变量、数组、函数和类。

举个例子
你目前正在用Python开发一个RPG游戏应用程序。 当你继续写程序时,代码量已经大到有些难以阅读。

所以你把程序分成三个文件,并命名为character.py、monster.py和magic.py。 每个文件都包含一个角色程序、一个怪物程序和一个魔法程序。 这三个文件在python世界中被称为模块。

character.py
monster.py
magic.py

模块是组合使用的。 例如,你可能经常想在character.py中使用magic.py中创建的一个函数。 在这种情况下,Python 允许你通过使用导入过程来调用其他模块的函数。

# 有关于魔术的技能

def fire():
    print("火魔法!")

def ice():
    print("水魔法!")

def thunder():
    print("雷魔法!")


print("当你使用import导入我的时候,我会执行哦~")

if __name__=='__main__':
	print("我只会在自己你主动运行我的时候才会执行哦~")
# 包含有关该人物的过程的文件

import magic

print("我是一个法师!")
print("哈撒给!")
magic.fire()
# 执行结果
我是一个法师!
哈撒给!
当你使用import导入我的时候,我会执行哦~
火魔法!

通过这种方式,代码可以被分为每个角色的模块(部分),一个模块有一个功能,使代码易于阅读。 这在以后重读代码或作为一个团队开发时非常有用。

另外,通过将它们分组为模块,代码可以在以后被反复使用。

注意这里有一个小技巧,比如上面magic模块被导入时候,他会先执行一遍magic模块中的代码,但是呢,并不会执行if name ==’ main ‘:语句后的代码,因为只有主动运行magic模块时,才能使if name ==’ main ‘:判断为True,而当做模块被导入时,if name ==’ main ':判断为False。这是一个重要的知识。

什么是包?

python脚本统计禅道内BUG python之禅_第三方库_04

一个包是几个模块的集合。

包是管理几个模块的一个有用的工具。 在大型项目中,所需模块的数量可能会增加。 在这种情况下,有可能将模块组合成一个单一的包,并对其进行管理以方便使用。

如何创建一个包

当创建一个包时,首先把你想打包的模块放在一个目录中。 在该目录中,创建一个新的特殊文件,名为__init__.py。 这只是一个单一的Python文件,因为它的扩展名是.py。 然而,通过这样一个名为 init.py 的文件,该目录下的文件被视为一个单一的包。

# 目录结构
.
├── creatures
│   ├── __init__.py
│   ├── character.py
│   └── moster.py
└── magic
    ├── __init__.py
    └── magic.py

包也可以是分层的。 如果代码量变得很大,尽量组织模块和包,以方便程序开发。

什么是库?

python脚本统计禅道内BUG python之禅_Python_05

一个库是几个包的集合。

在library的情况下,它们可以在互联网上发布,供任何人安装。

由天才工程师创建的程序以这些库的形式分发。 通过将你自己的程序以库的形式组合起来,你可以将它们提供给全世界的Python程序员。

到此为止的内容被总结了一次。

  • 模块 一个函数和类的集合
  • 包 一个模块的集合
  • 库 一个包的集合。

一个模块内的功能、模块本身和包本身有时被称为库。 库可以被认为是一个程序中使用的部分的总称。 在这篇文章中,我们将把它们都称为库,并对它们进行解释。

什么是标准库和第三方库?
标准库和第三方库的区别

  1. 常用的标准库

① 常用的标准库 random
② 常用的标准库 math
③ 常用的标准库 os

  1. 常用的第三方库

① Numpy
② Pandas
③ Matplotlib
④ Scikit-learn
⑤ pip

标准库和第三方库

库可以被分为标准库和第三方库

python脚本统计禅道内BUG python之禅_Python_06

1、标准库

python脚本统计禅道内BUG python之禅_Python_07

2、第三方库

第三方库是没有作为标准提供的库,需要安装。

可以与Python一起使用的外部库主要是在PyPI网站上编译的。

以下是做机器学习时常用的第三方库列表。

  1. Numpy
  2. Pandas
  3. Matplotlib
  4. Scikit-learn
  5. pip

标准库是python自带的,而三方库是需要自己安装的。