Python 3 教程

Python 3 教程基于MetaGPT智能体调用国产大模型GLM4开发技术文档助手生成的一、Python 简介1.1 Python 发展历史Python 是由 Gu

欢迎大家来到IT世界,在知识的湖畔探索吧!

基于MetaGPT智能体调用国产大模型GLM4开发技术文档助手生成的

一、Python 简介

1.1 Python 发展历史

Python 是由 Guido van Rossum 在 1989 年底发明的一种编程语言。当时,Guido 为了打发圣诞节假期,决心开发一种新的编程语言,该语言能够平衡函数式编程和面向对象编程的特点,同时保持语法简洁明了。1991 年,Python 第一个版本 0.9.0 发布。此后,Python 逐渐发展,受到越来越多开发者的喜爱。

随着版本的迭代,Python 增加了许多新特性和模块。特别是 Python 3 的发布,虽然在语法上与 Python 2 有较大差异,但是更加现代化和易于理解。目前,Python 3 已经成为主流版本。

1.2 Python 特点

Python 作为一种高级编程语言,具有以下显著特点:

  • 简洁易读:Python 采用缩进方式区分代码块,使得代码结构清晰,易于阅读。
  • 跨平台性:Python 可以在多种操作系统上运行,如 Windows、Mac OS、Linux 等。
  • 丰富的库和模块:Python 拥有丰富的标准库和第三方库,涵盖数据分析、人工智能、网络编程等多个领域。
  • 动态类型:Python 是动态类型语言,不需要显式声明变量类型。
  • 解释型语言:Python 代码在运行时会被解释器逐行执行,无需编译。
  • 面向对象:Python 支持面向对象编程,提供了类和对象的概念。

1.3 Python 应用场景

Python 由于其简单易学、功能强大的特点,被广泛应用于以下领域:

  • Web 开发:使用 Django、Flask 等框架进行网站开发。
  • 数据分析与数据挖掘:使用 Pandas、NumPy 等库进行数据处理和分析。
  • 人工智能与机器学习:使用 TensorFlow、PyTorch 等框架进行算法实现。
  • 自动化脚本编写:利用 Python 编写自动化脚本,简化日常任务。
  • 网络编程:使用 Socket 编写网络应用。
  • 游戏开发:使用 Pygame 等库进行游戏开发。

以下是一个简单的 Python 代码示例,展示打印 “Hello, World!”:

# 这是一个简单的 Python 代码示例

def hello_world():
    """打印 'Hello, World!'"""
    print("Hello, World!")

# 调用函数
hello_world()

欢迎大家来到IT世界,在知识的湖畔探索吧!

注意:以上代码遵循了 Python 的标准代码规范,包括文档注释和适当的缩进。

二、Python 环境搭建

2.1 Python 安装

Python 的安装可以通过其官方网站下载对应的安装包完成。以下是针对不同操作系统的基本安装步骤。

Windows 系统

  1. 访问 Python 官方网站下载页面:Python Download
  2. 选择适合的版本下载(建议下载 Python 3.x 版本)。
  3. 运行下载的安装包,启动安装向导。
  4. 在安装过程中,确保选中“Add Python to PATH”选项。
  5. 完成安装向导。

macOS 系统

  1. 访问 Python 官方网站下载页面:Python Download
  2. 下载最新版本的 Python 3 安装包。
  3. 打开下载的 .pkg 文件,并遵循安装向导指示完成安装。

Linux 系统

在大多数 Linux 发行版中,Python 3 已经预装。如果没有,可以使用包管理器安装。

欢迎大家来到IT世界,在知识的湖畔探索吧!# 以 Ubuntu 为例,使用以下命令安装 Python 3
sudo apt update
sudo apt install python3

2.2 IDE 选择与配置

集成开发环境(IDE)能够提供代码编写、调试和运行的一站式服务。以下是一些流行的 Python IDE:

  • Visual Studio Code
  • PyCharm
  • Spyder
  • Thonny

以下是 Visual Studio Code 的基本配置步骤:

  1. 下载并安装 Visual Studio Code:VS Code Download
  2. 打开 VS Code,进入扩展市场搜索并安装 Python 扩展。
  3. 配置 Python 解释器:打开命令面板(Ctrl+Shift+P),输入 Python: Select Interpreter,选择已安装的 Python 解释器。

2.3 Hello World 程序

以下是 Python 中的经典 “Hello World” 程序示例。

# hello_world.py
# 这是一个简单的 Python 程序,打印 "Hello, World!"

print("Hello, World!")

将以上代码保存为 .py 文件,然后使用 Python 解释器运行它。

在命令行或终端中,导航到该文件所在的目录,并执行以下命令:

欢迎大家来到IT世界,在知识的湖畔探索吧!python hello_world.py

如果一切正常,终端将输出:

Hello, World!

这表示你的 Python 环境已经搭建成功,并且可以开始编写和运行 Python 代码。

三、Python 基础语法

3.1 变量与数据类型

在 Python 中,变量是存储数据的容器。每个变量都有一个特定的数据类型。

数据类型

  • 字符串(String)
  • 整数(Integer)
  • 浮点数(Float)
  • 列表(List)
  • 元组(Tuple)
  • 集合(Set)
  • 字典(Dictionary)

示例

# 字符串
name = "Gab Jia"

# 整数
age = 25

# 浮点数
height = 1.75

# 列表
fruits = ["apple", "banana", "cherry"]

# 元组
numbers = (1, 2, 3)

# 集合
unique_numbers = {1, 2, 3}

# 字典
person = {"name": "Gab Jia", "age": 25}

3.2 运算符

Python 中的运算符用于执行某种操作或计算。

常见运算符

  • 算术运算符:+, , *, /, %, **
  • 比较运算符:==, !=, <, >, <=, >=
  • 赋值运算符:=, +=, -=, *=, /=, %=, **=
  • 逻辑运算符:and, or, not

示例

# 算术运算符
addition = 1 + 2
subtraction = 5 - 3
multiplication = 2 * 4
division = 10 / 2
modulus = 10 % 3
exponentiation = 2 ** 3

# 比较运算符
equals = 5 == 5
not_equals = 3 != 5
less_than = 3 < 5
greater_than = 5 > 3
less_than_equal = 3 <= 5
greater_than_equal = 5 >= 3

# 赋值运算符
x = 10
x += 5  # x = x + 5

# 逻辑运算符
and_operator = (3 < 5) and (5 < 10)
or_operator = (3 < 5) or (5 > 10)
not_operator = not (3 < 5)

3.3 控制流程

控制流程用于控制程序的执行顺序。

常见控制流程语句

  • if 语句
  • elif 语句
  • else 语句
  • for 循环
  • while 循环

示例

# if 语句
age = 20
if age >= 18:
    print("You are an adult.")

# if-elif-else 语句
score = 85
if score >= 90:
    print("Grade: A")
elif score >= 80:
    print("Grade: B")
else:
    print("Grade: C")

# for 循环
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
    print(fruit)

# while 循环
count = 0
while count < 5:
    print(count)
    count += 1

3.4 函数定义与使用

函数是组织好的,可重复使用的代码块,用于执行单一,或相关联的任务。

定义函数

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

# 调用函数
greet("Gab Jia")

示例:带有返回值的函数

def add(a, b):
    """
    返回两个数的和。
    """
    return a + b

# 调用函数并获取返回值
result = add(3, 5)
print(result)

请注意,以上内容遵循了 Markdown 的语法规范,并包含了代码示例和注释,以满足您的要求。

四、数据结构

4.1 列表

列表(List)是Python中最基本的数据结构之一,它是有序的元素集合。

基本操作

  • 创建列表:

python my_list = [1, 2, 3, 4]

  • 添加元素:

python my_list.append(5) # 在列表末尾添加元素

  • 访问元素:

python print(my_list[0]) # 输出第一个元素

  • 修改元素:

python my_list[0] = 0 # 修改第一个元素

  • 删除元素:

python del my_list[0] # 删除第一个元素

  • 列表切片:

python sub_list = my_list[1:3] # 获取索引1到2的元素(不包括索引3)

代码示例

以下示例展示如何使用列表:

# 创建一个列表
numbers = [1, 2, 3, 4, 5]

# 添加一个元素到列表末尾
numbers.append(6)

# 打印列表
print("完整列表:", numbers)

# 访问列表中的元素
print("第一个元素:", numbers[0])

# 修改列表中的元素
numbers[0] = 10

# 删除列表中的元素
del numbers[5]

# 打印修改后的列表
print("修改后的列表:", numbers)

# 列表切片
sliced_numbers = numbers[1:4]
print("切片后的列表:", sliced_numbers)

4.2 元组

元组(Tuple)是不可变的数据结构,一旦创建就不能修改。

基本操作

  • 创建元组:

python my_tuple = (1, 2, 3)

  • 访问元素:

python print(my_tuple[0]) # 输出第一个元素

  • 元组切片:

python sub_tuple = my_tuple[1:3] # 获取索引1到2的元素(不包括索引3)

代码示例

以下示例展示如何使用元组:

# 创建一个元组
numbers = (1, 2, 3, 4, 5)

# 打印元组
print("完整元组:", numbers)

# 访问元组中的元素
print("第一个元素:", numbers[0])

# 尝试修改元组中的元素会导致错误
# numbers[0] = 10  # 这会抛出TypeError

# 元组切片
sliced_numbers = numbers[1:4]
print("切片后的元组:", sliced_numbers)

4.3 字典

字典(Dictionary)是无序的键值对集合。

基本操作

  • 创建字典:

python my_dict = {‘key1’: ‘value1’, ‘key2’: ‘value2’}

  • 添加键值对:

python my_dict[‘key3’] = ‘value3’

  • 访问值:

python print(my_dict[‘key1’]) # 输出键对应的值

  • 修改值:

python my_dict[‘key1’] = ‘new_value’

  • 删除键值对:

python del my_dict[‘key1’]

代码示例

以下示例展示如何使用字典:

# 创建一个字典
person = {'name': '张三', 'age': 30, 'city': '北京'}

# 打印字典
print("完整字典:", person)

# 添加键值对
person['job'] = '工程师'

# 访问字典中的值
print("姓名:", person['name'])

# 修改字典中的值
person['age'] = 31

# 删除字典中的键值对
del person['city']

# 打印修改后的字典
print("修改后的字典:", person)

4.4 集合

集合(Set)是无序且元素唯一的集合。

基本操作

  • 创建集合:

python my_set = {1, 2, 3}

  • 添加元素:

python my_set.add(4)

  • 删除元素:

python my_set.remove(1)

  • 集合成员测试:

“`python print(2 in my_set

五、面向对象编程

5.1 类与对象

在Python中,一切皆为对象,而类(Class)则是对象的蓝图。以下是创建一个简单类的基本语法:

class MyClass:
    # 类变量
    class_variable = "这是一个类变量"

    # 构造函数
    def __init__(self, name):
        self.name = name  # 实例变量

    # 实例方法
    def display(self):
        print(f"对象名:{self.name}")

创建对象(实例)的例子:

# 创建MyClass类的对象
my_object = MyClass("Gab Jia")
my_object.display()  # 输出:对象名:Gab Jia

5.2 继承与多态

继承是面向对象编程的一个基础概念,允许我们定义一个类(子类)来继承另一个类(父类)的属性和方法。

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

    def show(self):
        print(f"父类方法,名字:{self.name}")

# 子类继承父类
class ChildClass(ParentClass):
    def __init__(self, name, age):
        super().__init__(name)  # 调用父类的构造函数
        self.age = age

    # 重写父类方法
    def show(self):
        print(f"子类方法,名字:{self.name},年龄:{self.age}")

# 多态的例子
def show_info(obj):
    obj.show()

child = ChildClass("Gab Jia", 25)
show_info(child)  # 输出:子类方法,名字:Gab Jia,年龄:25

5.3 封装与解耦

封装是隐藏内部实现细节,仅对外暴露需要公开的方法和属性的过程。这有助于减少耦合,即不同模块之间的依赖关系。

class EncapsulationExample:
    def __init__(self):
        self.__private_variable = 10  # 私有变量

    def public_method(self):
        print("这是一个公开方法")
        self.__private_method()  # 在公开方法中调用私有方法

    def __private_method(self):
        print("这是一个私有方法")

# 使用封装
obj = EncapsulationExample()
obj.public_method()  # 输出:这是一个公开方法,这是一个私有方法

# 尝试访问私有变量或方法会引发错误
# obj.__private_variable  # 这会引发AttributeError
# obj.__private_method()  # 这也会引发AttributeError

请注意,以上代码示例遵循了标准的Python代码规范,并且以Markdown格式进行了布局。

六、模块与包

模块与包是Python中组织代码的重要方式。它们允许我们将代码分割成有序和可管理的部分,便于重用和维护。

6.1 模块导入

模块是一个包含Python定义和语句的文件。模块可以定义函数、类和变量,也可以包含可执行的代码。

语法

导入模块的基本语法如下:

import module_name

示例

以下是如何导入内置模块math的示例:

import math

# 使用模块中的函数
result = math.sqrt(16)
print(result)  # 输出:4.0

还可以从模块中导入特定的部分:

from math import sqrt

result = sqrt(16)
print(result)  # 输出:4.0

6.2 自定义模块

你可以创建自己的模块并在其他Python脚本中导入它们。

创建模块

假设我们有一个名为mymodule.py的文件,内容如下:

# mymodule.py

def greet(name):
    """向传入的名字打招呼"""
    return f"你好,{name}!"

variable = "一个变量"

使用模块

在其他文件中,可以这样导入和使用这个模块:

import mymodule

print(mymodule.greet("张三"))  # 输出:你好,张三!

print(mymodule.variable)  # 输出:一个变量

6.3 包的概念与使用

包是一种包含多个模块的文件夹或目录。包中必须包含一个特殊的文件__init__.py,即使这个文件是空的,它也标示当前目录为Python包。

创建包

以下是如何创建一个简单的包:

my_package/
|-- __init__.py
|-- module1.py
`-- module2.py

module1.py内容:

# my_package/module1.py

def function1():
    return "这是module1中的函数。"

module2.py内容:

# my_package/module2.py

def function2():
    return "这是module2中的函数。"

使用包

使用包中的模块:

from my_package import module1, module2

print(module1.function1())  # 输出:这是module1中的函数。
print(module2.function2())  # 输出:这是module2中的函数。

通过这种方式,你可以组织代码结构,使其更加清晰和易于管理。

七、异常处理

7.1 异常类型

Python 中有多种异常类型,它们都是内置的异常类。当 Python 解释器遇到错误时,会引发异常。常见的异常类型包括:

  • NameError: 尝试访问一个未声明的变量时引发。
  • TypeError: 传入对象类型与预期不符时引发。
  • ValueError: 当内置操作接收到一个错误的参数类型时引发。
  • ZeroDivisionError: 在除法运算中除以零时引发。
  • IndexError: 尝试访问序列中不存在的索引时引发。

7.2 try-except 语句

try-except 语句用于捕获和处理异常。基本语法如下:

try:
    # 尝试执行的代码
except SomeException:
    # 如果发生 SomeException 异常,则执行这里的代码

可以使用多个 except 块来捕获不同类型的异常,也可以在一个 except 块中同时捕获多个异常:

try:
    # 尝试执行的代码
except (ValueError, TypeError):
    # 如果发生 ValueError 或 TypeError 异常,则执行这里的代码

还可以使用 as 关键字来获取异常对象:

try:
    # 尝试执行的代码
except SomeException as e:
    # e 是异常对象,可以进一步处理

7.3 异常的抛出与捕获

可以使用 raise 关键字抛出自定义异常:

def my_function(value):
    if value < 0:
        raise ValueError("值必须为正数")

抛出异常时,可以传递异常类型的实例:

raise ValueError("值必须为正数")

捕获异常时,可以针对不同的异常类型进行不同的处理:

try:
    # 可能会抛出异常的代码
except ValueError as e:
    # 处理 ValueError
except Exception as e:
    # 处理其他所有类型的异常

确保在编写代码时,只捕获那些你打算处理的异常,避免捕获范围过广的 Exception,这可能会导致隐藏真正的错误。

八、文件操作

8.1 文件打开与关闭

在Python中,文件操作通常包括打开文件、读取或写入数据,然后关闭文件。使用open()函数来打开一个文件。

# 打开文件
file = open('example.txt', 'r')  # 'r'模式表示读取文件

# 文件操作...

# 关闭文件
file.close()

为了确保文件总是正确关闭,推荐使用with语句,它会自动关闭文件,即使在发生异常时也是如此。

# 使用with语句打开文件
with open('example.txt', 'r') as file:
    # 文件操作...
    data = file.read()
    # 在with代码块结束后,文件会自动关闭

8.2 文件读写

文件打开后,你可以对其进行读取或写入。

读取文件

# 读取整个文件内容
with open('example.txt', 'r') as file:
    content = file.read()
    print(content)

# 逐行读取
with open('example.txt', 'r') as file:
    for line in file:
        print(line.strip())  # 使用strip()去除行尾的换行符

写入文件

# 写入文件,如果文件不存在则创建
with open('output.txt', 'w') as file:
    file.write('Hello, World!\n')
    file.write('This is another line.\n')

注意:’w’模式会覆盖文件,如果需要追加内容,应使用’a’模式。

8.3 文件与目录操作

Python的os模块提供了与操作系统交互的功能。

检查文件是否存在

import os

if os.path.exists('example.txt'):
    print('The file exists.')
else:
    print('The file does not exist.')

列出目录内容

import os

# 列出当前目录内容
entries = os.listdir('.')
for entry in entries:
    print(entry)

创建和删除目录

import os

# 创建目录
os.makedirs('my_directory')

# 删除目录,目录必须为空
os.rmdir('my_directory')

请记住,在实际代码中处理文件和目录时,应该总是考虑异常处理(例如使用tryexcept语句)。以上示例为了简洁明了,没有包含异常处理逻辑。

九、Python 标准库

9.1 字符串处理

Python 的字符串是一个不可变的序列类型,它包含了一系列字符。标准库中的 string 模块提供了许多用于处理字符串的常量和函数。

常用字符串方法

  • upper(): 转换字符串中的所有字符为大写。
  • lower(): 转换字符串中的所有字符为小写。
  • strip(): 移除字符串首尾的空格或指定字符。
  • replace(old, new[, count]): 返回一个新字符串,它是通过将字符串中的 old 子字符串替换为 new 来生成的。

代码示例

# 导入string模块
import string

# 字符串大小写转换
text = "Hello, World!"
print(text.upper())  # 输出: HELLO, WORLD!
print(text.lower())  # 输出: hello, world!

# 字符串去首尾空格
print("  whitespace  ".strip())  # 输出: whitespace

# 字符串替换
print(text.replace("World", "Python"))  # 输出: Hello, Python!

9.2 时间日期处理

Python 的 datetime 模块提供了处理日期和时间的类。

常用日期时间类

  • datetime.date: 日期对象。
  • datetime.time: 时间对象。
  • datetime.datetime: 日期和时间对象。

代码示例

from datetime import datetime, date, time

# 获取当前日期和时间
now = datetime.now()
print(now)  # 输出: 当前日期和时间

# 创建日期和时间对象
d = date(2023, 11, 2)
t = time(12, 30)
dt = datetime.combine(d, t)
print(dt)  # 输出: 2023-11-02 12:30:00

9.3 数据持久化

数据持久化指的是将程序中的数据在程序结束后依然保存下来。Python 中常用的数据持久化方式有文件操作和 pickle 模块。

文件操作

文件操作可以通过内建的 open 函数进行。

代码示例

# 写入文件
with open('example.txt', 'w') as file:
    file.write('Hello, World!\n')

# 读取文件
with open('example.txt', 'r') as file:
    for line in file:
        print(line, end='')

pickle模块

pickle 模块可以将 Python 对象序列化为字节流,也可以将这些字节流反序列化回 Python 对象。

代码示例

import pickle

# 序列化
data = {'a': [1, 2.0, 3, 4+6j]}
with open('data.pkl', 'wb') as file:
    pickle.dump(data, file)

# 反序列化
with open('data.pkl', 'rb') as file:
    data_loaded = pickle.load(file)
print(data_loaded)  # 输出: {'a': [1, 2.0, 3, (4+6j)]}

9.4 网络编程

Python 的 socket 模块提供了用于网络通信的接口。

基础用法

下面是一个简单的 TCP 服务端和客户端的例子。

服务端

import socket

# 创建 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 绑定端口和地址
server_socket.bind(('0.0.0.0', 8888))

# 监听连接
server_socket.listen(5)
print("Server listening on port 8888")

while True:
    # 接受新连接
    client_socket, addr = server_socket.accept()
    print(f"Received connection from {addr}")

    # 发送数据
    client_socket.send(b'Hello, client!')
    client_socket.close()

客户端

import socket

# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 连接到服务器
client_socket.connect(('localhost', 8888))

# 接收数据
data = client_socket.recv(1024)
print(f"Received data: {data}")

client_socket.close()

请注意,以上代码仅作为示例,实际使用时需要考虑异常处理和资源清理等。

十、进阶话题

10.1 装饰器

装饰器是Python中一个非常强大的功能,允许我们以不修改原有函数定义的方式,来扩展或增强函数的行为。装饰器本质上是一个函数,它接收一个函数作为参数并返回一个新的函数。

def my_decorator(func):
    def wrapper():
        print("装饰器添加的功能:在原函数执行前打印这行文字。")
        func()
        print("装饰器添加的功能:在原函数执行后打印这行文字。")
    return wrapper

# 使用装饰器
@my_decorator
def say_hello():
    print("原函数say_hello的功能。")

say_hello()  # 调用被装饰后的函数

10.2 生成器与迭代器

生成器和迭代器是Python中用于处理序列数据的高级特性。

迭代器

迭代器是遵循迭代器协议的对象,即它们实现了__iter__()__next__()两个方法。

class Counter:
    def __init__(self, low, high):
        self.current = low
        self.high = high

    def __iter__(self):
        return self

    def __next__(self):
        if self.current > self.high:
            raise StopIteration
        else:
            self.current += 1
            return self.current - 1

# 使用迭代器
counter = Counter(5, 10)
for num in counter:
    print(num)

生成器

生成器是使用yield语句的特殊函数,可以一次产生一个值,而不是一次性返回所有值。

def fib(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

# 使用生成器
for x in fib(10):
    print(x)

10.3 多线程与多进程

Python提供了threadingmultiprocessing模块以支持多线程和多进程编程。

多线程

import threading

def print_numbers():
    for i in range(1, 10):
        print(i)

# 创建线程
t1 = threading.Thread(target=print_numbers)
t1.start()

# 等待线程完成
t1.join()

多进程

from multiprocessing import Process

def print_numbers():
    for i in range(1, 10):
        print(i)

# 创建进程
p = Process(target=print_numbers)
p.start()

# 等待进程完成
p.join()

10.4 Python 与其他语言的交互

Python可以通过多种方式与其他语言进行交互,例如使用ctypes模块调用C语言库。

from ctypes import CDLL

# 加载C语言库
my_c_lib = CDLL('my_c_lib.so')

# 调用C语言库中的函数
result = my_c_lib.my_c_function(5, 3)
print("C语言函数返回的结果:", result)

请注意,以上代码示例仅供参考,实际使用时需要根据具体的C语言库和接口进行适配。

十一、实践项目

11.1 简单的命令行工具

命令行工具(CLI)是Python应用的一种常见形式。下面是一个简单的例子,该例子使用argparse库来解析命令行参数。

import argparse

# 创建一个 ArgumentParser 对象
parser = argparse.ArgumentParser(description='这是一个简单的命令行工具')

# 添加参数
parser.add_argument('input', type=str, help='输入文件的路径')
parser.add_argument('--output', type=str, help='输出文件的路径(可选)')

# 解析参数
args = parser.parse_args()

# 处理输入和输出
with open(args.input, 'r') as file:
    content = file.read()

if args.output:
    with open(args.output, 'w') as file:
        file.write(content)
else:
    print(content)

11.2 网络爬虫

网络爬虫用于从网站上抓取信息。下面是一个使用requestsBeautifulSoup库的简单示例。

import requests
from bs4 import BeautifulSoup

# 发送请求
response = requests.get('http://example.com')
response.encoding = 'utf-8'

# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')

# 提取数据
for link in soup.find_all('a'):
    print(link.get('href'))

11.3 数据分析

数据分析是Python的强项,通常使用pandasnumpy等库来完成。

import pandas as pd

# 加载数据
df = pd.read_csv('data.csv')

# 基本统计
print(df.describe())

# 数据筛选
filtered_df = df[df['column_name'] > 0]

# 数据分组
grouped_df = df.groupby('category_column').sum()

11.4 Web 应用开发

使用Flask框架可以快速开发Web应用。

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/add', methods=['POST'])
def add():
    a = request.json['a']
    b = request.json['b']
    result = a + b
    return jsonify({'result': result})

if __name__ == '__main__':
    app.run(debug=True)

注意:以上代码示例仅供参考,实际应用时需要根据具体需求进行调整和完善。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/38864.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信