Python基础全攻略:从入门到精通

news/2025/12/7 15:39:16/文章来源:https://www.cnblogs.com/w7yo/p/19318224

基本语法

缩进:用缩进来表示代码块,通常用4个空格

注释:单行注释用#,多行注释用'''或"""

语句结束:通常每行一条语句,也可用分号分隔,但不推荐

变量和数据类型

变量:无需声明类型,直接赋值

常见数据类型:

数字:整数(int)、浮点数(float)、复数(complex)

字符串(str):用单引号、双引号或三引号

布尔型(bool):True和False

空值(None)

类型转换:int(), float(), str(), bool()等

运算符

算术运算符:+, -, *, /, //(整除), %(取余), **(幂)

比较运算符:==, !=, >, <, >=, <=

逻辑运算符:and, or, not

赋值运算符:=, +=, -=等

身份运算符:is, is  not

成员运算符:in, not in

数据结构

列表(list):有序,可变,用[]定义

元组(tuple):有序,不可变,用()定义

集合(set):无序,不重复,用{}或set()定义

字典(dict):键值对,无序,用{key: value}定义

流程控制

条件语句:if, elif, else

循环语句:

for循环:遍历序列(如列表、字符串)或可迭代对象

while循环:在条件为真时重复执行

循环控制:break(终止循环)、continue(跳过本次循环)

函数

定义:使用def关键字

参数:位置参数、默认参数、可变参数(*args)、关键字参数(**kwargs)

返回值:用return返回,可以返回多个值(实际上是一个元组)

作用域:局部变量和全局变量,使用global声明全局变量

匿名函数:lambda函数

模块和包

模块:一个.py文件,包含Python代码

导入模块:import module,from module import something

包:包含多个模块的目录,必须有__init__.py文件

常用标准库:os, sys, math, datetime, random, json等

文件操作

打开文件:open(file, mode),模式有r(读)、w(写)、a(追加)等

读取文件:read(), readline(), readlines()

写入文件:write(), writelines()

关闭文件:close(),推荐使用with语句自动关闭

异常处理

使用try-except块捕获异常

可以指定异常类型,或用Exception捕获所有异常

可选的else(没有异常时执行)和finally(无论是否异常都执行)

面向对象编程(OOP)

类(class):用class定义,类名通常首字母大写

属性:实例属性、类属性

方法:实例方法(第一个参数为self)、类方法(用@classmethod装饰,第一个参数为cls)、静态方法(用@staticmethod装饰,无特殊参数)

继承:子类继承父类,可以重写方法

多态:不同类的对象对同一消息做出响应

封装:将数据和方法包装在类中

常用内置函数

输入输出:input(), print()

数学:abs(), round(), min(), max(), sum()

迭代:range(), enumerate(), zip()

类型判断:type(), isinstance()

其他:len(), sorted(), reversed()等

列表推导式、字典推导式、集合推导式

快速生成数据结构的简洁语法

例如:[x**2 for x in range(10) if x%2==0]

迭代器和生成器

迭代器:实现了__iter__()和__next__()方法的对象

生成器:使用yield语句的函数,返回生成器对象,可以迭代

装饰器

用于修改或增强函数的功能,使用@语法

上下文管理器

用于管理资源,如文件打开关闭,使用with语句

常用标准库和第三方库

标准库:sys, os, re, math, datetime, json, csv, urllib等

第三方库:requests, numpy, pandas, matplotlib, django等(需安装)

虚拟环境

创建独立的Python环境,用于管理项目依赖

代码规范

PEP 8:Python代码风格指南

调试和测试

调试:使用print、logging、pdb等

测试:unittest、pytest等测试框架

以上是Python基础的主要知识点,每个知识点都可以展开很多内容

Python基础全面总结

  1. Python
    解释型语言

变量类型在运行时确定

支持面向对象编程范式

语法简洁

  1. 基本语法
    2.1 注释

单行注释

"""
多行注释(文档字符串)
可以写多行
"""

'''
这也是多行注释
'''
2.2 变量和命名规则

变量命名规则

变量名 = 值 # 使用字母、数字、下划线,不能以数字开头
my_variable = 10
myVariable = 20 # 驼峰命名法
MY_CONSTANT = 30 # 常量(约定大写)
2.3 关键字
Python的关键字
import keyword
print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await',
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is',
'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try',
'while', 'with', 'yield']

  1. 数据类型
    3.1 基本数据类型

数值类型
整数 = 10           int
浮点数 = 3.14       float
复数 = 1 + 2j       complex

布尔类型
真 = True           bool (首字母大写)
假 = False

字符串
字符串 = "Hello"    str
字符串2 = 'World'
多行字符串 = """多行
字符串"""

空值
空值 = None        NoneType

3.2 复合数据类型

列表(有序,可变)
列表 = [1, 2, 3, "hello", True]

元组(有序,不可变)
元组 = (1, 2, 3, "world")

字典(键值对,无序,键不可变)
字典 = {"name": "张三", "age": 20}

集合(无序,元素唯一)
集合 = {1, 2, 3, 3} # {1, 2, 3}
冻结集合 = frozenset([1, 2, 3])
4. 运算符

4.1 算术运算符


  • / 除法(返回浮点数)
    // 整除
    % 取余
    ** 幂运算
    4.2 比较运算符

== 等于
!= 不等于

大于
< 小于
= 大于等于
<= 小于等于
4.3 逻辑运算符

and 与
or 或
not 非
4.4 赋值运算符

= 赋值
+= 加等于
-= 减等于
*= 乘等于
/= 除等于
//= 整除等于
%= 取余等于
**= 幂等于
4.5 位运算符

& 按位与
| 按位或
^ 按位异或
~ 按位取反
<< 左移

右移
4.6 成员运算符

in 在序列中
not in 不在序列中

4.7 身份运算符

is 是同一个对象
is not 不是同一个对象
5. 流程控制
5.1 条件语句

if语句

if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3

示例
age = 18
if age < 18:
print("未成年")
elif age >= 18 and age < 60:
print("成年")
else:
print("老年")

三元表达式
结果 = 值1 if 条件 else 值2
5.2 循环语句

while循环

while 条件:
代码块
if 退出条件:
break # 跳出循环
if 跳过条件:
continue # 跳过本次循环

for循环

for 变量 in 序列:
代码块

range()函数

for i in range(5): # 0到4
print(i)

for i in range(2, 10): # 2到9
print(i)

for i in range(0, 10, 2): # 0到9,步长为2
print(i)

5.3 循环控制

break: 完全结束循环

continue: 跳过本次循环

else: 循环正常结束执行(没有被break中断)

for i in range(5):
if i == 3:
break
print(i)
else:
print("循环正常结束")
6. 数据结构操作

6.1 字符串操作

s = "Hello World"
索引和切片
print(s[0]) # H
print(s[-1]) # d
print(s[0:5]) # Hello
print(s[6:]) # World
print(s[::-1]) # dlroW olleH(反转)

常用方法

s.upper() # 转大写
s.lower() # 转小写
s.strip() # 去除两边空白
s.split() # 分割字符串
s.join(list) # 连接字符串
s.replace(old, new) # 替换
s.find(sub) # 查找子串
6.2 列表操作

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

增删改查

my_list.append(6) # 末尾添加
my_list.insert(0, 0) # 指定位置插入
my_list.extend([7, 8]) # 扩展列表
my_list.remove(3) # 删除元素
del my_list[0] # 删除索引位置元素
value = my_list.pop() # 弹出最后一个元素
value = my_list.pop(1) # 弹出指定位置元素

其他操作

my_list.sort() # 排序(原地)
sorted_list = sorted(my_list) # 返回新列表
my_list.reverse() # 反转
len(my_list) # 长度
6.3 字典操作

my_dict = {"name": "Tom", "age": 25}

增删改查

my_dict["gender"] = "male" # 添加/修改
del my_dict["age"] # 删除键
value = my_dict.get("name") # 获取值(键不存在返回None)
value = my_dict.get("key", "default") # 设置默认值

遍历

for key in my_dict: # 遍历键
print(key)

for value in my_dict.values(): # 遍历值
print(value)

for key, value in my_dict.items(): # 遍历键值对
print(key, value)

6.4 集合操作

set1 = {1, 2, 3}
set2 = {3, 4, 5}

集合运算

set1 | set2 # 并集 {1, 2, 3, 4, 5}
set1 & set2 # 交集 {3}
set1 - set2 # 差集 {1, 2}
set1 ^ set2 # 对称差集 {1, 2, 4, 5}
7. 函数

7.1 函数定义
def 函数名(参数1, 参数2=默认值):
"""函数文档字符串"""
代码块
return 返回值

示例

def greet(name, greeting="Hello"):
"""向某人问好"""
return f"{greeting}, {name}!"

result = greet("Alice") # Hello, Alice!
result2 = greet("Bob", "Hi") # Hi, Bob!
7.2 参数类型

位置参数

def func(a, b):
return a + b

默认参数

def func(a, b=10):
return a + b

可变位置参数 (*args)

def func(*args):
return sum(args)

可变关键字参数 (**kwargs)

def func(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")

混合使用

def func(a, b=10, *args, **kwargs):
pass

7.3 作用域

局部变量 vs 全局变量

global_var = 10

def my_func():
local_var = 20 # 局部变量
global global_var # 声明使用全局变量
global_var = 30 # 修改全局变量

nonlocal关键字

def outer():
x = 10
def inner():
nonlocal x # 声明使用外层函数的变量
x = 20
inner()
print(x) # 20

7.4 匿名函数

lambda表达式

add = lambda x, y: x + y
result = add(3, 5) # 8

常用于高阶函数

numbers = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, numbers)) # [1, 4, 9, 16, 25]
even = list(filter(lambda x: x % 2 == 0, numbers)) # [2, 4]
8. 面向对象编程
8.1 类和对象

class Person:
# 类属性
species = "人类"

# 构造方法
def __init__(self, name, age):# 实例属性self.name = nameself.age = age# 实例方法
def introduce(self):return f"我叫{self.name},今年{self.age}岁"# 类方法
@classmethod
def get_species(cls):return cls.species# 静态方法
@staticmethod
def is_adult(age):return age >= 18

创建对象

p = Person("张三", 20)
print(p.introduce())
print(Person.get_species())
print(Person.is_adult(20))
8.2 继承

class Animal:
def init(self, name):
self.name = name

def speak(self):pass

class Dog(Animal):
def init(self, name, breed):
super().init(name) # 调用父类构造方法
self.breed = breed

def speak(self):  # 方法重写return "汪汪!"

多态

def animal_sound(animal):
print(animal.speak())

dog = Dog("旺财", "金毛")
animal_sound(dog) # 汪汪!
8.3 特殊方法(魔术方法)

class MyClass:
def init(self, value):
self.value = value

def __str__(self):  # 字符串表示return f"MyClass({self.value})"def __repr__(self):  # 解释器表示return f"MyClass({self.value})"def __len__(self):return len(self.value)def __add__(self, other):return MyClass(self.value + other.value)def __eq__(self, other):return self.value == other.value
  1. 模块和包
    9.1 导入模块

导入整个模块

import math
print(math.pi)

导入特定函数

from math import sqrt, pow
print(sqrt(16))

导入并重命名

import numpy as np
from math import sqrt as 平方根

导入所有(不推荐)

from math import *
9.2 创建模块和包
text

项目结构

my_package/
init.py # 包初始化文件
module1.py # 模块1
module2.py # 模块2
subpackage/ # 子包
init.py
module3.py
10. 异常处理

try:
# 可能出错的代码
result = 10 / 0
except ZeroDivisionError as e:
# 处理特定异常
print(f"除零错误: {e}")
except (TypeError, ValueError) as e:
# 处理多个异常
print(f"类型或值错误: {e}")
except Exception as e:
# 处理所有其他异常
print(f"未知错误: {e}")
else:
# 没有异常时执行
print("执行成功")
finally:
# 无论是否异常都执行
print("清理工作")

抛出异常

def divide(a, b):
if b == 0:
raise ValueError("除数不能为零")
return a / b

自定义异常

class MyError(Exception):
def init(self, message):
self.message = message
11. 文件操作

打开文件

with open("file.txt", "r", encoding="utf-8") as f:
content = f.read() # 读取全部内容
# content = f.readline() # 读取一行
# lines = f.readlines() # 读取所有行(列表)

写入文件

with open("file.txt", "w", encoding="utf-8") as f:
f.write("Hello\n")
f.writelines(["Line1\n", "Line2\n"])

追加模式

with open("file.txt", "a", encoding="utf-8") as f:
f.write("追加内容\n")

二进制文件

with open("image.jpg", "rb") as f:
data = f.read()
12. 常用内置函数
12.1 类型转换

int("10") # 10
float("3.14") # 3.14
str(100) # "100"
list((1,2,3)) # [1, 2, 3]
tuple([1,2,3]) # (1, 2, 3)
dict([("a",1), ("b",2)]) # {"a":1, "b":2}
set([1,2,2,3]) # {1, 2, 3}
bool(0) # False
12.2 数学运算

abs(-5) # 5
round(3.14159, 2) # 3.14
max(1, 2, 3) # 3
min(1, 2, 3) # 1
sum([1, 2, 3]) # 6
pow(2, 3) # 8
divmod(10, 3) # (3, 1) 商和余数
12.3 序列操作

len([1,2,3]) # 3
sorted([3,1,2]) # [1, 2, 3]
reversed([1,2,3]) # 反向迭代器
enumerate(["a","b"]) # 枚举:[(0,'a'), (1,'b')]
zip([1,2], ["a","b"]) # 打包:[(1,'a'), (2,'b')]

all([True, True, False]) # False
any([False, False, True]) # True

range(5) # range(0, 5)
12.4 输入输出

name = input("请输入姓名: ") # 获取输入
print("Hello", name) # 输出
print("Hello", name, sep=", ", end="!\n") # 自定义分隔符和结束符

格式化输出

name = "Alice"
age = 20
print(f"{name}今年{age}岁") # f-string(推荐)
print("{}今年{}岁".format(name, age)) # format方法
print("%s今年%d岁" % (name, age)) # %格式化
13. 高级特性
13.1 列表推导式

基本形式

squares = [x**2 for x in range(10)]

[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

带条件

evens = [x for x in range(10) if x % 2 == 0]

[0, 2, 4, 6, 8]

多重循环

pairs = [(x, y) for x in range(3) for y in range(3)]

[(0,0), (0,1), (0,2), (1,0), ...]

字典推导式

square_dict = {x: x**2 for x in range(5)}

集合推导式

unique_lengths = {len(x) for x in ["apple", "banana", "cherry"]}

13.2 生成器

生成器表达式(惰性求值)

gen = (x**2 for x in range(10))
for val in gen:
print(val)

生成器函数

def fibonacci(limit):
a, b = 0, 1
while a < limit:
yield a
a, b = b, a + b

for num in fibonacci(100):
print(num)
13.3 装饰器

def timer(func):
"""计时装饰器"""
def wrapper(args, **kwargs):
import time
start = time.time()
result = func(
args, **kwargs)
end = time.time()
print(f"{func.name}执行时间: {end-start:.4f}秒")
return result
return wrapper

@timer
def slow_function():
import time
time.sleep(1)
return "完成"

带参数的装饰器

def repeat(n):
def decorator(func):
def wrapper(args, **kwargs):
for _ in range(n):
result = func(
args, **kwargs)
return result
return wrapper
return decorator

@repeat(3)
def say_hello():
print("Hello!")
13.4 上下文管理器

使用with语句

with open("file.txt", "r") as f:
content = f.read()

自定义上下文管理器

class MyContextManager:
def enter(self):
print("进入上下文")
return self

def __exit__(self, exc_type, exc_val, exc_tb):print("退出上下文")if exc_type:print(f"异常类型: {exc_type}")return True  # 抑制异常

with MyContextManager() as cm:
print("在上下文中执行")
# raise ValueError("测试异常")
14. 标准库常用模块
14.1 os模块(操作系统接口)

import os

os.getcwd() # 当前工作目录
os.listdir('.') # 列出目录内容
os.mkdir('new_dir') # 创建目录
os.path.exists('file.txt') # 检查路径是否存在
os.path.join('dir', 'file.txt') # 路径拼接
14.2 sys模块(系统参数)

import sys

sys.argv # 命令行参数
sys.path # Python搜索路径
sys.exit(0) # 退出程序
sys.version # Python版本
14.3 datetime模块(日期时间)

from datetime import datetime, date, timedelta

now = datetime.now() # 当前时间
today = date.today() # 今天日期
formatted = now.strftime("%Y-%m-%d %H:%M:%S") # 格式化
tomorrow = today + timedelta(days=1) # 明天
14.4 json模块(JSON处理)

import json

data = {"name": "Alice", "age": 20}
json_str = json.dumps(data) # 字典转JSON字符串
data2 = json.loads(json_str) # JSON字符串转字典

文件操作

with open("data.json", "w") as f:
json.dump(data, f) # 写入JSON文件

with open("data.json", "r") as f:
data3 = json.load(f) # 读取JSON文件
14.5 re模块(正则表达式)

import re

pattern = r'\d+' # 匹配数字
text = "abc123def456"
result = re.findall(pattern, text) # ['123', '456']

匹配对象

match = re.search(r'(\d+)-(\d+)', '电话: 010-12345678')
if match:
print(match.group()) # 010-12345678
print(match.group(1)) # 010
print(match.group(2)) # 12345678
15. Pythonic编程技巧
15.1 交换变量

a, b = 1, 2
a, b = b, a # a=2, b=1
15.2 链式比较

x = 5
if 0 < x < 10:
print("x在0和10之间")
15.3 序列解包
列表解包 first, *middle, last = [1, 2, 3, 4, 5]   first=1, middle=[2,3,4], last=5

字典解包 dict1 = {"a": 1, "b": 2} dict2 = {"c": 3, **dict1}   {"c":3, "a":1, "b":2}

15.4 条件表达式
传统写法 if score >= 60: result = "及格" else: result = "不及格"

Pythonic写法 result = "及格" if score >= 60 else "不及格"

15.5 遍历索引和值
传统写法 for i in range(len(items)): print(i, items[i])

Pythonic写法 for i, item in enumerate(items): print(i, item)

15.6 遍历字典
同时获取键和值 for key, value in my_dict.items(): print(key, value)

  1. 最佳实践
    16.1 代码规范(PEP 8)
    缩进:4个空格

行长度:不超过79字符

空行:函数间2行,类方法间1行

导入:按标准库、第三方库、本地库分组

命名:

变量/函数:snake_case

类:CamelCase

常量:UPPER_CASE

16.2 文档字符串
def calculate_sum(a, b):
    计算两个数的和
    参数:
    a -- 第一个数
    b -- 第二个数
    返回:
    两个数的和
    return a + b

16.3 异常处理原则
只捕获你能处理的异常

使用具体的异常类型

不要过度使用try-except

记录异常信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/991527.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java IO:简单易懂的核心讲解(含实战代码)

Java IO(Input/Output)是处理 “数据读写” 的核心技术,比如读取文件内容、写入文本到本地、网络数据传输等,本质是实现程序与外部设备(文件、键盘、网络)的数据交换。Java 提供了完善的 IO 体系,核心分为 字节…

深入解析:昇腾CANN训练营 学习(day3)昇腾AI处理器开发环境构建与实践指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

机器学习中交叉验证(CV)、CV fold(交叉验证折) 和 数据泄露 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

CF2174D tutorial

English version Hints How to choose the edges greedily? In which cases does the greedy method fail? How can we find the extra non-tree edges? Solution Step1 First, sort the edges by weight. If the f…

Python 基础语法:简单易懂的入门指南(含实战代码)

Python 以 “简洁、易读、灵活” 著称,核心语法贴近自然语言,是编程入门的首选。以下用大白话 + 实战代码,带你吃透 Python 基础核心知识点,零基础也能快速上手! 一、先搞懂 3 个核心前提解释型语言:写完代码直接…

Say 赛选记(11.27)

noip 前的最后一篇了(悲 AT_arc171_d [ARC171D] Rolling Hash 众所周知,\([l,r]\) 的哈希值是可以用前缀相减来算的,也就是 \(s_r - s_{l - 1} \times B^{r - l + 1}\),但这个形式在这道题中就力不从心了。 换一个…

.NET异步编程进阶:从语法糖到高性能架构的核心突破

深入探讨如何智能地结合I/O和CPU工作、避免隐藏的线程池成本,以及使用新的.NET功能使异步比以往更安全、更快速。 .NET异步编程进阶:从语法糖到高性能架构的核心突破 在每个.NET开发者的职业生涯中,都会有一个转折…

AI元人文:价值共生时代的元操作系统——理论架构、深层辩护与演进蓝图

AI元人文:价值共生时代的元操作系统——理论架构、深层辩护与演进蓝图 摘要 本文提出并系统阐释了“AI元人文”理论框架,旨在应对通用人工智能(AGI)时代“价值对齐”的根本困境。该框架实现了从寻求静态、普适价值…

2025深圳、惠州生产线厂家TOP5推荐!广东深圳、惠州地区装配线/老化线/组装线/装配线等优质供应商专业评测,智能智造+整厂方案权威榜单发布,技术赋能重构工业生产生态

随着工业自动化技术的飞速发展,生产线设备作为制造业升级的核心基础设施,市场需求持续攀升。本榜单基于技术实力、行业适配性、服务覆盖度三大维度(振熙自动化新增“整厂规划”维度),结合行业协会数据与企业实地调…

[开源代码]基于STM32的环境检测与报警系统

[开源代码]基于STM32的环境检测与报警系统 前言 随着物联网和智能硬件的发展,环境检测在工业、农业以及家庭自动化中变得越来越重要。传统的环境监测多依赖单一传感器,无法实现多参数同时监控,也难以针对不同参数设…

120_尚硅谷_函数注意事项和细节(3)

120_尚硅谷_函数注意事项和细节(3)1.函数注意事项和细节讨论 2.使用 _ 标识符,忽略返回值 3.Go支持可变参数

数据采集与融合技术作业四_102302107_林诗樾

作业①: 要求: 熟练掌握 Selenium 查找HTML元素、爬取Ajax网页数据、等待HTML元素等内容。 使用Selenium框架+ MySQL数据库存储技术路线爬取“沪深A股”、“上证A股”、“深证A股”3个板块的股票数据信息。 候选网站:…

深入解析:了解一个开源日志平台——Elastic Stack

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

低代码平台的强扩展性设计:支撑企业长期业务增长的技巧路径与实践

低代码平台的强扩展性设计:支撑企业长期业务增长的技巧路径与实践2025-12-07 15:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !i…

第二届机器学习暑期学校在印度启动

某中心在印度启动了第二届机器学习暑期学校,这是一个面向工程专业本科及研究生的扩展项目。课程涵盖深度神经网络、监督学习等核心ML主题,并通过虚拟模块与实时问答,为学生提供应用科学技能培训。2021年,某中心在印…

C语言,用json文件存储tree

C语言,用json文件存储tree: 1.读取和保存都用递归算法遍历,可以保存任意树结构,相比用INI文件,一致性更好,当然用数据库功能更多更好2.json数据全部用节点最方便,缺点存储的json文件末端有一个空的{},不太美观…

数通核心专业书

核心专业书 IA阶段:hcia学习指南 /实验指南 ccna学习指南 /ccna笔记IP阶段:hcnp学习指南/hcip实验指南 ccnp笔记 TCP/IP路由协议卷一/卷二 ospf-isis详解 Wireshark网络分析就这么简单IE阶段: 专题形式:ccie笔记IP…

【C++】哈希表:简单易懂的核心讲解(含实战用法)

哈希表(Hash Table)是 C++ 中高效的键值对(key-value)存储结构,核心优势是 插入、查找、删除操作的平均时间复杂度接近 O (1)—— 比数组查找(O (n))、有序容器(如 map,O (log n))快得多,日常开发中常用来解…

PFLS

作者介绍: 来自PFLS。现在7年5班。