Python编程整理汇总(基础汇总版)

ops/2024/11/28 23:57:56/

1. 基础语法

1.1 变量与数据类型

  • 整数:a = 10

  • 浮点数:b = 3.14

  • 字符串:c = "Hello, World!"

  • 布尔值:d = True

  • 列表:e = [1, 2, 3, 4, 5]

  • 元组:f = (1, 2, 3)

  • 字典:g = {"name": "Alice", "age": 25}

  • 集合:h = {1, 2, 3, 4, 5}

1.2 控制结构

  • if语句:if a > 5: print("a is greater than 5")

  • for循环:for i in range(5): print(i)

  • while

    循环:

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

1.3 函数与模块

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

  • 模块:

    # mymodule.py
    def add(x, y):return x + y# 在另一个文件中
    from mymodule import add
    print(add(2, 3))

1.4 输入输出

  • input()name = input("Enter your name: ") print(f"Hello, {name}!")

  • print()print("This is a print statement.")

2. 面向对象编程

2.1 类与对象

  • 类:

    class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):return "Woof!"
  • 对象:my_dog = Dog("Buddy", 3) print(my_dog.name) print(my_dog.bark())

2.2 继承与多态

  • 继承:

    class Animal:def speak(self):passclass Dog(Animal):def speak(self):return "Woof!"
  • 多态:def animal_speak(animal): print(animal.speak()) animal_speak(Dog())

2.3 封装与抽象

  • 封装:

    class BankAccount:def __init__(self, balance=0):self.__balance = balance  # 私有属性def deposit(self, amount):self.__balance += amountdef get_balance(self):return self.__balance
  • 抽象:

    from abc import ABC, abstractmethodclass Shape(ABC):@abstractmethoddef area(self):passclass Circle(Shape):def __init__(self, radius):self.radius = radiusdef area(self):return 3.14 * self.radius ** 2

3. 文件操作

3.1 打开与关闭文件:

python">with open('example.txt', 'w') as file:file.write("Hello, World!")

3.2 读取与写入文件:

python">with open('example.txt', 'r') as file:content = file.read()print(content)

4. 异常处理

4.1tryexceptelsefinally语句:

python">try:result = 10 / 0
except ZeroDivisionError:print("Cannot divide by zero!")
else:print("Division successful!")
finally:print("This block is always executed.")

4.2 自定义异常:

python">#自定义异常class CustomError(Exception):passtry:raise CustomError("This is a custom error message.")
except CustomError as e:print(e)

5. 高级特性

5.1 生成器与迭代器:

python">def my_generator():yield 1yield 2yield 3gen = my_generator()
for value in gen:print(value)

5.2 装饰器:

python">def my_decorator(func):def wrapper():print("Something is happening before the function is called.")func()print("Something is happening after the function is called.")return wrapper@my_decorator
def say_hello():print("Hello!")say_hello()

5.3 上下文管理器:

python">class MyContextManager:def __enter__(self):print("Entering the context.")return selfdef __exit__(self, exc_type, exc_val, exc_tb):print("Exiting the context.")with MyContextManager() as cm:print("Inside the context.")

5.4 闭包:

python">def make_multiplier(factor):def multiplier(number):return number * factorreturn multipliertimes_two = make_multiplier(2)
print(times_two(5))  # 输出: 10

5.5 列表推导式(List Comprehensions):

python">squares = [x**2 for x in range(10)]
print(squares)  # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

5.6 字典推导式(Dictionary Comprehensions):

python">square_dict = {x: x**2 for x in range(5)}
print(square_dict)  # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

5.7 集合推导式(Set Comprehensions):

python">unique_squares = {x**2 for x in [1, -1, 2, -2, 3]}
print(unique_squares)  # 输出: {1, 4, 9}

5.8 枚举(Enumerations):

python">from enum import Enumclass Color(Enum):RED = 1GREEN = 2BLUE = 3print(Color.RED)  # 输出: Color.RED
print(Color.RED.value)  # 输出: 1

5.9 类型注解(Type Annotations):

python">def greet(name: str) -> str:return f"Hello, {name}!"print(greet("Alice"))  # 输出: Hello, Alice!

6. 标准库与第三方库

在Python中,标准库提供了许多内置模块,用于执行各种常见任务。此外,还有大量的第三方库可供使用,这些库扩展了Python的功能,使其能够处理更复杂的问题。

6.1 标准库

  • string 库:提供了一系列关于字符串的常量,比如字母、数字、标点符号等。

    python">import string
    print(string.ascii_letters)  # 打印所有ASCII字母(小写和大写)
    print(string.digits)         # 打印所有数字
    print(string.punctuation)    # 打印所有标点符号
  • json 库:用于处理JSON数据,包括编码(序列化)和解码(反序列化)Python对象。

    python">import json
    data = {"name": "Alice", "age": 25, "city": "New York"}
    json_data = json.dumps(data)  # 将Python对象编码为JSON字符串
    print(json_data)
    parsed_data = json.loads(json_data)  # 将JSON字符串解码为Python对象
    print(parsed_data)
  • random 库:用于生成随机数。

    python">import random
    print(random.randint(1, 10))  # 生成1到10之间的随机整数
    print(random.random())        # 生成0到1之间的随机浮点数
    print(random.choice(['apple', 'banana', 'cherry']))  # 从列表中随机选择一个元素
  • re 库:提供了正则表达式的支持,用于字符串匹配和替换。

    python">import re
    text = "Hello, world! This is a test."
    matches = re.findall(r'\b\w+\b', text)  # 匹配并打印所有单词
    print(matches)
    replaced_text = re.sub(r'\s+', '_', text)  # 替换所有空格为下划线
    print(replaced_text)
  • os 库:用于与操作系统交互,比如文件路径操作、环境变量访问等。

    python">import os
    print(os.getcwd())  # 打印当前工作目录
    os.makedirs('new_directory', exist_ok=True)  # 创建目录
    print(os.listdir('.'))  # 列出目录内容
    os.chdir('new_directory')  # 改变当前工作目录
    file_size = os.path.getsize('some_file.txt') if os.path.exists('some_file.txt') else 0
    print(file_size)  # 获取文件大小
    os.remove('some_file.txt') if os.path.exists('some_file.txt') else None  # 删除文件
    os.rmdir('new_directory') if os.path.exists('new_directory') and not os.listdir('new_directory') else None  # 删除空目录
  • hashlib 库:用于生成安全哈希和消息摘要。

    python">import hashlib
    md5_hash = hashlib.md5()
    md5_hash.update(b'Hello, world!')
    print(md5_hash.hexdigest())  # 打印MD5哈希值
    sha256_hash = hashlib.sha256()
    sha256_hash.update(b'Hello, world!')
    print(sha256_hash.hexdigest())  # 打印SHA-256哈希值
  • base64 库:用于对数据进行Base64编码和解码。

    python">import base64
    encoded_data = base64.b64encode(b'Hello, world!')
    print(encoded_data)
    decoded_data = base64.b64decode(encoded_data)
    print(decoded_data.decode('utf-8'))  # 打印解码后的字符串
  • sys 库:用于访问与Python解释器紧密相关的变量和函数,比如Python版本、命令行参数等。

    python">import sys
    print(sys.version)  # 打印Python版本
  • math 库:提供了一系列数学函数,比如平方根、三角函数等。

    python">import math
    print(math.sqrt(16))  # 打印16的平方根
  • datetime 库:用于处理日期和时间。

    python">from datetime import datetime
    print(datetime.now())  # 打印当前时间

6.2 第三方库

  • requests:一个简单易用的HTTP库,用于发送HTTP请求。

    python">import requests
    response = requests.get('https://api.github.com')
    print(response.json())  # 打印响应的JSON内容
  • numpy:一个强大的科学计算库,支持多维数组对象、矩阵运算、线性代数、傅里叶变换等。

    python">import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    print(arr)  # 打印数组
  • pandas:一个开源的数据分析和操作库,提供了快速、灵活和表达性强的数据结构,旨在使“关系”或“标签”数据的处理工作变得既简单又直观。

    python">import pandas as pd
    df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
    })
    print(df)  # 打印DataFrame

7. 并发编程

并发编程是Python中一个非常重要的领域,它允许程序同时执行多个任务。Python提供了多种实现并发编程的方式,包括多线程、多进程和异步编程等。

7.1 多线程

多线程是一种并发编程技术,它允许在单个程序中同时运行多个线程。每个线程都是一个独立的执行路径,可以并发地执行代码。

使用threading模块

Python的threading模块提供了创建和管理线程的功能。以下是一个简单的多线程示例:

python">import threading
import timedef worker(thread_id):print(f"Thread {thread_id} is starting.")time.sleep(2)print(f"Thread {thread_id} is ending.")threads = []
for i in range(5):thread = threading.Thread(target=worker, args=(i,))threads.append(thread)thread.start()for thread in threads:thread.join()print("All threads have finished.")

在这个示例中,创建5个线程,每个线程都执行worker函数。thread.start()方法用于启动线程,thread.join()方法用于等待线程结束。

7.2 多进程

多进程是另一种并发编程技术,它通过在多个进程中运行代码来实现并发。与多线程相比,多进程通常具有更好的性能和资源利用率,因为每个进程都有自己的内存空间和系统资源。

使用multiprocessing模块

Python的multiprocessing模块提供了创建和管理进程的功能。以下是一个简单的多进程示例:

python">import multiprocessing
import timedef worker(process_id):print(f"Process {process_id} is starting.")time.sleep(2)print(f"Process {process_id} is ending.")processes = []
for i in range(5):process = multiprocessing.Process(target=worker, args=(i,))processes.append(process)process.start()for process in processes:process.join()print("All processes have finished.")

在这个示例中,创建5个进程,每个进程都执行worker函数。process.start()方法用于启动进程,process.join()方法用于等待进程结束。

7.3 异步编程

异步编程是一种并发编程技术,它允许程序在等待I/O操作(如网络请求、文件读写等)完成时继续执行其他任务。Python的asyncio库提供了异步编程的支持。

使用asyncio

以下是一个简单的异步编程示例:

python">import asyncioasync def fetch(url):print(f"Starting fetch of {url}")await asyncio.sleep(2)  # 模拟网络请求print(f"Finished fetch of {url}")async def main():tasks = [fetch('http://example.com') for _ in range(5)]await asyncio.gather(*tasks)asyncio.run(main())

在这个示例中,定义一个异步函数fetch,它模拟了一个网络请求。main函数创建了5个异步任务,并使用asyncio.gather方法同时运行它们。asyncio.run(main())用于运行异步程序。

7.4 线程池和进程池

为了更高效地管理线程和进程,Python提供了线程池和进程池的概念。线程池和进程池允许你限制并发任务的数量,并重用现有的线程或进程,从而减少了创建和销毁线程或进程的开销。

使用concurrent.futures模块

concurrent.futures模块提供了ThreadPoolExecutorProcessPoolExecutor类,用于创建线程池和进程池。以下是一个简单的示例:

python">from concurrent.futures import ThreadPoolExecutor, as_completed
import timedef worker(thread_id):print(f"Thread {thread_id} is starting.")time.sleep(2)print(f"Thread {thread_id} is ending.")return thread_idwith ThreadPoolExecutor(max_workers=3) as executor:futures = [executor.submit(worker, i) for i in range(5)]for future in as_completed(futures):result = future.result()print(f"Result: {result}")

在这个示例中,创建一个最大容量为3的线程池,并提交了5个任务。as_completed函数用于迭代已完成的任务,并获取其结果。

以上是对Python的一些基本介绍和示例。在实际应用中,需要根据具体的需求和场景选择合适的并发编程技术。

许久未更新您猜怎么着,整理编写实属不易 有点费人,麻烦各位动动发财的小手,点赞收藏评论支持一波 谢谢!


http://www.ppmy.cn/ops/137511.html

相关文章

如何自动下载和更新冰狐智能辅助?

冰狐智能辅助的版本更新非常快&#xff0c;如果设备多的话每次手工更新会非常麻烦&#xff0c;现在分享一种免费的自动下载和安装冰狐智能辅助的方法。 一、安装迅雷浏览器 安装迅雷浏览器1.19.0.4280版本&#xff0c;浏览器用于打开冰狐的官网&#xff0c;以便于从官网下载a…

API设计与开发

7. API设计与开发 API&#xff08;应用程序编程接口&#xff09;是前后端通信的桥梁&#xff0c;良好的API设计能够提升应用的可用性、可维护性和扩展性。以下内容将深入探讨RESTful API原则、GraphQL的基本概念以及使用Postman进行API测试的方法。 7.1 理解RESTful API原则 …

C++设计模式之组合模式在解决层次性问题中的好处

采用组合模式在处理层次型问题时&#xff0c;会带来以下重要好处&#xff1a; 简化客户端操作&#xff1a; 客户端代码可以统一地处理单个对象和组合对象&#xff0c;而无需区分它们。这意味着客户端可以使用相同的操作来对待所有对象&#xff0c;无论它们是简单的叶子节点还是…

数据结构2:顺序表

目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表&#xff1a;顺序表、链表、栈、队列、字符串 线性表在逻辑上是线性结构&#xff0c;也就说…

UPLOAD LABS | UPLOAD LABS 靶场初识

关注这个靶场的其它相关笔记&#xff1a;UPLOAD LABS —— 靶场笔记合集-CSDN博客 0x01&#xff1a;UPLOAD LABS 靶场简介 UPLOAD LABS 靶场是一个专门用于学习文件上传漏洞攻击和防御的靶场。它提供了一系列文件上传漏洞的实验环境&#xff0c;用于帮助用户了解文件上传漏洞的…

Redis设计与实现 学习笔记 第二十一章 排序

Redis的SORT命令可以对列表键、集合键、有序集合键的值进行排序。 以下代码展示了SORT命令对列表键进行排序的例子&#xff1a; 以下代码展示了SORT命令使用ALPHA选项&#xff08;ALPHA选项使SORT命令按字典顺序排序&#xff0c;默认SORT命令会将元素当作数字排序&#xff0c…

基于Matlab实现Gabo滤波器(源码)

Gabor滤波器是一种在图像处理和计算机视觉领域广泛应用的线性滤波器&#xff0c;它结合了空间局部性和频率选择性&#xff0c;能够较好地模拟人类视觉系统对图像特征的感知。在Matlab中实现Gabor滤波器&#xff0c;可以有效地提取图像的纹理、边缘和方向信息&#xff0c;对于图…

Spring Boot 整合 Prometheus 实现资源监控

引言 在微服务架构流行的今天&#xff0c;服务的监控和管理变得尤为重要。Prometheus 作为一个开源的监控和告警工具&#xff0c;以其强大的数据采集、存储和查询能力&#xff0c;受到了众多开发者的青睐。Spring Boot 作为 Java 领域快速构建微服务的框架&#xff0c;与 Prom…