Plotly Python 速查

绘制线段

快速可视化工具

快速查看平面几何图形

Plotly 优点:Plotly 是一个非常强大的交互式绘图库。它允许你创建交互式图形,适合在网页或数据分析报告中嵌入图表。即使是简单的图形,它也能通过非常直观的 API 快速实现。

如何理解 python 中的 module

1.1 什么是 module

module 是一个包含 Python 代码的文件,它可以定义函数、类、变量,也可以包含可执 行的代码。模块是 Python 代码的组织单位,有助于将代码分割成更小、更可管理的部分。 换而言之, Python 中的任意 .py 文件都可以作为模块(module)来使用。

1.2 创建 module

一个模块就是一个 Python 文件(.py 文件),文件名即为模块名。例如,创建一个名为 my_module.py 的文件:

# my_module.py

def greet(name):
    return f"Hello, {name}!"

PI = 3.14159

1.3 导入模块并使用

在另一个 Python 文件或交互式环境中,可以使用 import 语句导入模块:

# main.py

import my_module

print(my_module.greet("Alice"))  # 输出: Hello, Alice!
print(my_module.PI)              # 输出: 3.14159

1.0 模块的结构和组织 — 包(packages)

包是模块的集合,实际上是包含多个模块的目录(一个包含一些.py 文件的 folder)。包目 录中必须包含一个 __init__.py 文件(即使它为空),表示这是一个包。

# directory structure
my_package/
    __init__.py
    module1.py
    module2.py

1.1 ‘init.py’ 文件

__init__.py 文件用于初始化包。它可以包含初始化代码,或者用来定义包的公共接口 。Python 3.3 及以后的版本中,init.py 文件不是必须的,但它仍然被广泛使用

1.2 ‘init.py’ 的功能

1.2.1 空的 init.py 文件

如果你只是想将目录标记为一个包,没有其他需求,可以将 init.py 文件保持为空。

# __init__.py

1.2.2 初始化代码

如果你需要在包被导入时执行一些初始化代码,可以在 init.py 文件中编写这些代码 。例如:

# __init__.py
print("Initializing the package")

# 初始化代码
def initialize():
    print("Package has been initialized")

1.2.3 定义包的公共接口

可以在 __init__.py 文件中导入包内的重要模块或函数,以便用户在导入包时能直接访 问这些功能。例如:

# __init__.py
from .moduleA import functionA
from .moduleB import ClassB

__all__ = ['functionA', 'ClassB']

这里的 all 列表用于定义 from package import * 时要导入的模块或对象。

1.2.4 将当前目录临时加入到 pythonpath 中

当 module1 试图引用 module2 时, 可能会报错 “No module named ‘module2’”

import os
import sys

current_dir = os.path.dirname(__file__)

if current_dir not in sys.path:
    sys.path.append(current_dir)

print("Init", __file__)

Python 虚拟环境

什么是 python 的虚拟环境

Python 虚拟环境是 Python 开发中的一种工具,用于创建和管理独立于系统全局 Python 环境的隔离环境。每个虚拟环境都可以拥有自己的 Python 解释器和独立的包集合,这使得在同一台机器上同时进行多个项目开发时能够保持环境的干净和隔离。

为什么需要 python 的虚拟环境

  1. 隔离依赖:每个虚拟环境都有自己的 site-packages 目录,用于存放安装的第三方包,这样可以避免不同项目之间的包冲突。

  2. 版本管理:可以在不同的虚拟环境中使用不同的 Python 版本,或者使用同一 Python 版本的不同补丁版本。

  3. 便于维护:虚拟环境使得项目的依赖和配置可以被单独管理和复制,方便分享和部署到其他环境。

  4. 环境复制:通过共享 requirements.txt 或者 environment.yml 文件,可以快速重建相同的开发环境,确保不同开发者之间开发环境的一致性。

创建&管理 python 虚拟环境的方法和工具

  • Python 内置的 venv 模块
  • 第三方工具 virtualenv

python 虚拟环境的作用范围与生命周期

每个虚拟环境的激活仅限于它所在的命令行窗口或应用程序范围内,不会影响系统的全局设置或其他窗口中的环境, 所以,当关闭激活虚拟环境的命令行窗口或终端后,该虚拟环境就会自动关闭。这是因为虚拟环境的激活状态仅在当前的命令行会话中有效,一旦会话结束(即窗口关闭),虚拟环境的激活状态也随之结束。

关闭窗口后,再次打开新窗口时,默认情况下系统将使用全局 Python 环境,除非你手动再次激活某个虚拟环境。虚拟环境的激活和关闭是轻量级的操作,设计上不会对系统产生持久影响。