python入门(2-1)

目录

一、Python模块与包

二、Python文件操作

三、Python同步异步编程

四、实用库与框架

1,NumPy,Pandas

2,LangChain,LlamaIndex,LangGraph


一、python模块与包

# 创建自己的模块 mymodule.py
"""
mymodule.py - 演示模块创建
"""
__version__ = "1.0.0" # 模块级变量
__all__ = ['calculate', 'MyClass'] # 控制from module import *的行为


def calculate(x, y):
"""计算两个数的和与乘积"""
return x + y, x * y


class MyClass:
"""示例类"""

def __init__(self, name):
self.name = name

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


# __name__ 的特殊用法
if __name__ == "__main__":
# 模块作为脚本直接运行时执行的代码
print("模块测试模式")
print(calculate(3, 4))

包或者模块的导入使用比较简单,这里就不再赘述,尤其需要注意一点的是动态导入

# 1. 绝对导入

import mypackage.module1

from mypackage import module2

from mypackage.subpackage import submodule


# 2. 相对导入(在包内部使用)

# from . import sibling_module

# from .. import parent_module


# 3. 动态导入

import importlib


# 动态导入模块

module_name = "os"

os_module = importlib.import_module(module_name)


# 4. 导入别名

import numpy as np

import pandas as pd

from datetime import datetime as dt


二、Python文件操作

# 1. 打开文件的多种模式

# 'r':只读(默认)

# 'w':写入,会覆盖

# 'a':追加

# 'x':创建,如果已存在则失败

# 'b':二进制模式

# 't':文本模式(默认)

# '+':读写模式


# 2. 读取文件

with open('example.txt', 'r', encoding='utf-8') as f:

content = f.read() # 读取全部

f.seek(0) # 回到文件开头

lines = f.readlines() # 读取所有行

f.seek(0)

for line in f: # 逐行读取(推荐大文件)

print(line.strip())


# 3. 写入文件

with open('output.txt', 'w', encoding='utf-8') as f:

f.write("Hello World\n")

f.writelines(["Line 1\n", "Line 2\n"])


# 4. 追加模式

with open('log.txt', 'a', encoding='utf-8') as f:

f.write(f"{datetime.now()}: 日志记录\n")


还有几个需要了解的模块 os、shutil、tempfile、pathlib


剩余部分参看2-2