news 2026/10/29 7:29:13

类变量的初始化规则在Python中有哪些特殊类型处理?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
类变量的初始化规则在Python中有哪些特殊类型处理?

你想再次明确 Python 中类变量初始化规则针对特殊类型的处理方式,核心差异集中在「可变类型(列表、字典、集合等)」和「不可变类型(数值、字符串、元组等)」的初始化后行为上 —— 这是 Python 类变量最核心的 “特殊处理”(语法上无类型豁免,但使用行为差异极大),下面结合可运行代码示例、避坑场景和解决方案详细说明:

一、核心前提:Python 类变量初始化的语法统一性

Python 中所有类型的类变量初始化语法完全一致(类内、方法外直接赋值),不存在像 C++/Java 那样 “某类类型可豁免初始化” 的语法规则;真正的 “特殊处理” 源于:可变类型 vs 不可变类型的内存特性,导致初始化后的使用行为截然不同。

二、不同类型类变量的初始化与使用差异

1. 不可变类型(数值、字符串、元组):初始化后无特殊问题

不可变类型的类变量是最安全的,初始化后无论修改还是误操作,都不会出现 “意外共享” 问题。

核心规则
  • 初始化:类内直接赋值(class_var = 初始值);
  • 特性:不可变类型的 “修改” 本质是重新赋值(创建新对象),不会影响原有引用;
  • 误操作:实例给类变量同名赋值时,仅创建实例变量,不会修改类变量本身。
代码示例

python

运行

class Student: # 初始化不可变类型类变量 school = "北京大学" # 字符串(不可变) total_students = 0 # 整数(不可变) score_tuple = (90, 85) # 元组(不可变) # 1. 正常修改类变量(重新赋值,创建新对象) Student.school = "清华大学" print("类变量 school:", Student.school) # 输出:类变量 school:清华大学 # 2. 实例误赋值(仅创建实例变量,不影响类变量) stu1 = Student() stu1.total_students = 10 # 不是修改类变量,是创建实例变量 print("类变量 total_students:", Student.total_students) # 输出:0 print("实例变量 total_students:", stu1.total_students) # 输出:10 # 3. 不可变类型无法修改内部元素(避免意外共享) # Student.score_tuple[0] = 95 # 报错:TypeError: 'tuple' object does not support item assignment
2. 可变类型(列表、字典、集合):初始化后易踩坑,需特殊处理

这是 Python 类变量最核心的 “特殊类型处理”:类内初始化的可变类型类变量会被所有实例共享,实例修改其内部元素(而非重新赋值)会影响全局。

核心规则
  • 初始化:类内直接赋值(语法与不可变类型一致);
  • 风险:所有实例共享同一个可变对象,修改内部元素会全局生效;
  • 解决方案:如需每个实例有独立的可变变量,不在类内初始化,而是在__init__中重新初始化(转为实例变量)。
代码示例(踩坑版:共享可变对象)

python

运行

class Classroom: # 初始化可变类型类变量(所有实例共享) students = [] # 列表(可变) score_dict = {"math": 0} # 字典(可变) def add_student(self, name): # 实例修改类变量的内部元素 → 影响所有实例 self.students.append(name) self.score_dict["math"] += 10 # 创建两个实例,共享同一个可变类变量 cls1 = Classroom() cls1.add_student("张三") cls2 = Classroom() cls2.add_student("李四") # 所有实例和类本身都能看到修改结果 print("Classroom.students:", Classroom.students) # 输出:['张三', '李四'] print("cls1.score_dict:", cls1.score_dict) # 输出:{'math': 20} print("cls2.score_dict:", cls2.score_dict) # 输出:{'math': 20}
代码示例(修复版:实例隔离可变变量)

python

运行

class ClassroomFix: # 类内不初始化可变类型(避免共享) def __init__(self): # 每个实例创建时,初始化独立的可变变量(实例变量) self.students = [] self.score_dict = {"math": 0} def add_student(self, name): self.students.append(name) self.score_dict["math"] += 10 # 验证:每个实例有独立的可变变量 cls1 = ClassroomFix() cls1.add_student("张三") cls2 = ClassroomFix() cls2.add_student("李四") print("cls1.students:", cls1.students) # 输出:['张三'] print("cls2.students:", cls2.students) # 输出:['李四'] print("cls1.score_dict:", cls1.score_dict) # 输出:{'math': 10} print("cls2.score_dict:", cls2.score_dict) # 输出:{'math': 10}
3. 特殊场景:初始化依赖外部变量 / 其他类

Python 类变量初始化时可引用全局变量或其他类的类变量,但需注意执行顺序—— 引用的变量必须在类定义前已初始化,否则报NameError。

核心规则
  • 初始化时引用的外部变量,需保证 “先定义,后使用”;
  • 支持引用其他类的类变量,但需确保该类已加载。
代码示例

python

运行

# 全局变量(先定义,后引用) DEFAULT_SCHOOL = "北京大学" # 其他类(先定义,后引用) class Grade: max_score = 100 # 类变量 class Student: # 初始化时引用全局变量和其他类的类变量(合法) school = DEFAULT_SCHOOL max_score = Grade.max_score print("Student.school:", Student.school) # 输出:北京大学 print("Student.max_score:", Student.max_score) # 输出:100 # 反例:引用未定义的变量(报错) # class ErrorStudent: # school = UNDEFINED_VAR # 报错:NameError: name 'UNDEFINED_VAR' is not defined

三、Python 类变量特殊类型处理总结表

表格

变量类型初始化语法核心特性避坑方案
不可变类型类内直接赋值修改需重新赋值,实例误赋值仅创建实例变量无需特殊处理,使用最安全
可变类型类内直接赋值实例修改内部元素会影响所有实例如需隔离,在__init__中重新初始化
依赖外部变量类内直接引用需保证引用的变量先定义避免引用未初始化的全局 / 类变量

总结

  1. Python 类变量初始化语法上无类型豁免规则,所有类型均在类内直接赋值;
  2. 核心特殊处理点是可变类型类变量:类内初始化的可变类型会被所有实例共享,需在__init__中重新初始化实现实例隔离;
  3. 不可变类型类变量无需特殊处理,引用外部变量时需注意定义顺序。

这是 Python 类变量初始化最核心的特殊规则,记住 “可变类型类变量默认共享,如需隔离则转为实例变量” 即可避开 90% 的相关错误。

用代码示例说明Python中类变量的初始化规则

你希望通过具体的代码示例理解 Python 中类变量的初始化规则,我会分场景展示核心规则(基础初始化、可变 / 不可变类型差异、初始化顺序、继承场景、误操作陷阱等),每个示例附带详细注释和运行结果,帮你直观掌握。

示例 1:类变量的基础初始化规则

核心规则:类变量在类定义代码块执行时初始化(无需创建实例),可通过类名 / 实例访问,类内直接赋值是唯一初始化方式。

python

运行

class Student: # 1. 类内直接初始化类变量(核心方式) school = "北京大学" # 字符串类型 total_students = 0 # 数值类型 is_open = True # 布尔类型 # 2. 无需创建实例,直接访问类变量(证明初始化已完成) print("类访问 school:", Student.school) # 输出:类访问 school:北京大学 print("类访问 total_students:", Student.total_students) # 输出:类访问 total_students:0 # 3. 创建实例后,实例可访问类变量(共享) stu1 = Student() stu2 = Student() print("stu1 访问 school:", stu1.school) # 输出:stu1 访问 school:北京大学 print("stu2 访问 school:", stu2.school) # 输出:stu2 访问 school:北京大学 # 4. 类变量可后续修改(重新赋值,覆盖初始化值) Student.school = "清华大学" print("修改后类变量:", Student.school) # 输出:修改后类变量:清华大学 print("修改后stu1访问:", stu1.school) # 输出:修改后stu1访问:清华大学

运行结果:

plaintext

类访问 school:北京大学 类访问 total_students:0 stu1 访问 school:北京大学 stu2 访问 school:北京大学 修改后类变量:清华大学 修改后stu1访问:清华大学

示例 2:可变类型 vs 不可变类型类变量的初始化差异(核心坑点)

核心规则:不可变类型类变量初始化后使用安全;可变类型类变量初始化后,所有实例共享该对象,修改内部元素会全局生效。

python

运行

class Classroom: # 1. 初始化不可变类型类变量(安全) class_name = "高一(1)班" # 字符串(不可变) # 2. 初始化可变类型类变量(易踩坑) students = [] # 列表(可变) score_dict = {"math": 0} # 字典(可变) def add_student(self, name): # 实例修改可变类变量的内部元素 → 全局生效 self.students.append(name) self.score_dict["math"] += 10 # 测试不可变类型:实例误赋值仅创建实例变量,不修改类变量 cls1 = Classroom() cls1.class_name = "高一(2)班" # 实例赋值,创建同名实例变量 print("类变量 class_name:", Classroom.class_name) # 输出:类变量 class_name:高一(1)班 print("cls1 实例变量 class_name:", cls1.class_name) # 输出:cls1 实例变量 class_name:高一(2)班 # 测试可变类型:实例修改内部元素,所有实例/类都受影响 cls1.add_student("张三") cls2 = Classroom() cls2.add_student("李四") print("类变量 students:", Classroom.students) # 输出:类变量 students:['张三', '李四'] print("cls1 students:", cls1.students) # 输出:cls1 students:['张三', '李四'] print("cls2 score_dict:", cls2.score_dict) # 输出:cls2 score_dict:{'math': 20} # 修复方案:可变类型需在 __init__ 中初始化(转为实例变量) class ClassroomFix: def __init__(self): self.students = [] # 每个实例独立初始化列表 self.score_dict = {"math": 0} def add_student(self, name): self.students.append(name) fix1 = ClassroomFix() fix1.add_student("张三") fix2 = ClassroomFix() fix2.add_student("李四") print("修复后 fix1 students:", fix1.students) # 输出:修复后 fix1 students:['张三'] print("修复后 fix2 students:", fix2.students) # 输出:修复后 fix2 students:['李四']

运行结果:

plaintext

类变量 class_name:高一(1)班 cls1 实例变量 class_name:高一(2)班 类变量 students:['张三', '李四'] cls1 students:['张三', '李四'] cls2 score_dict:{'math': 20} 修复后 fix1 students:['张三'] 修复后 fix2 students:['李四']

示例 3:类变量初始化的执行顺序

核心规则:类变量按代码书写顺序初始化;引用的全局 / 其他变量需先定义,否则报错。

python

运行

# 全局变量(先定义,后被类变量引用) DEFAULT_SCHOOL = "北京大学" # 错误示例:引用未定义的变量(初始化顺序错误) # class ErrorClass: # wrong_var = UNDEFINED_VAR # 报错:NameError: name 'UNDEFINED_VAR' is not defined # 正确示例:按顺序初始化类变量 class OrderDemo: # 第一步:初始化 var1 var1 = 10 # 第二步:初始化 var2,引用已初始化的 var1 var2 = var1 + 20 # 第三步:初始化 var3,引用全局变量 var3 = DEFAULT_SCHOOL print("var1 =", OrderDemo.var1) # 输出:var1 = 10 print("var2 =", OrderDemo.var2) # 输出:var2 = 30 print("var3 =", OrderDemo.var3) # 输出:var3 = 北京大学

运行结果:

plaintext

var1 = 10 var2 = 30 var3 = 北京大学

示例 4:继承场景下的类变量初始化

核心规则:子类类变量初始化晚于父类;子类未重定义时,继承父类的类变量;子类重定义后,优先使用自身的类变量。

python

运行

# 父类 class Parent: # 父类初始化类变量 parent_var = "父类初始化" shared_var = "父类共享变量" # 父类初始化时打印(验证执行顺序) print("父类类变量初始化完成") # 子类 class Child(Parent): # 子类初始化自身类变量 child_var = "子类初始化" # 子类重定义父类的类变量 shared_var = "子类重定义变量" # 子类初始化时打印(验证执行顺序) print("子类类变量初始化完成") # 测试访问 print("子类访问 child_var:", Child.child_var) # 输出:子类访问 child_var:子类初始化 print("子类访问 parent_var:", Child.parent_var) # 输出:子类访问 parent_var:父类初始化 print("子类访问 shared_var:", Child.shared_var) # 输出:子类访问 shared_var:子类重定义变量 # 父类修改共享变量,子类不受影响(子类已重定义) Parent.shared_var = "父类修改后" print("父类 shared_var:", Parent.shared_var) # 输出:父类 shared_var:父类修改后 print("子类 shared_var:", Child.shared_var) # 输出:子类 shared_var:子类重定义变量

运行结果(初始化顺序:先父类后子类):

plaintext

父类类变量初始化完成 子类类变量初始化完成 子类访问 child_var:子类初始化 子类访问 parent_var:父类初始化 子类访问 shared_var:子类重定义变量 父类 shared_var:父类修改后 子类 shared_var:子类重定义变量

示例 5:类变量初始化的常见误操作陷阱

核心规则:不要在实例方法中通过self.类变量名 = 值“初始化” 类变量 —— 这是创建实例变量,而非修改类变量。

python

运行

class TrapDemo: # 初始化类变量 class_var = 0 # 错误的“初始化”方式:实例方法中赋值 def wrong_init(self): self.class_var = 100 # 不是修改类变量,是创建实例变量 # 正确的修改方式:通过类名修改 def correct_init(self): TrapDemo.class_var = 200 # 真正修改类变量 # 测试错误操作 t1 = TrapDemo() t1.wrong_init() print("错误操作后 类变量:", TrapDemo.class_var) # 输出:错误操作后 类变量:0 print("错误操作后 实例变量:", t1.class_var) # 输出:错误操作后 实例变量:100 # 测试正确操作 t2 = TrapDemo() t2.correct_init() print("正确操作后 类变量:", TrapDemo.class_var) # 输出:正确操作后 类变量:200 print("正确操作后 t2访问:", t2.class_var) # 输出:正确操作后 t2访问:200

运行结果:

plaintext

错误操作后 类变量:0 错误操作后 实例变量:100 正确操作后 类变量:200 正确操作后 t2访问:200

总结

通过代码示例可总结 Python 类变量初始化的核心规则:

  1. 基础规则:类内直接赋值是唯一初始化方式,类定义执行时完成初始化,无需创建实例;
  2. 类型差异:不可变类型初始化后使用安全,可变类型需在__init__中重新初始化实现实例隔离;
  3. 执行顺序:按代码书写顺序初始化,继承场景下先父类后子类;
  4. 避坑核心:不要通过self赋值类变量,修改类变量需用类名.变量名。

这些示例覆盖了 Python 类变量初始化的核心场景,可直接复制运行,结合注释理解每一条规则的实际表现。

shzx188.com
www.shzx188.com
a1b2.shzx188.com
sky07.shzx188.com
run89.shzx188.com
link22.shzx188.com
cool56.shzx188.com
fast31.shzx188.com
star44.shzx188.com
zone78.shzx188.com
net19.shzx188.com
top63.shzx188.com
fire27.shzx188.com
soft51.shzx188.com
page35.shzx188.com
live81.shzx188.com
data04.shzx188.com
tool66.shzx188.com
hub29.shzx188.com
wave53.shzx188.com
peak12.shzx188.com
smart77.shzx188.com
meta33.shzx188.com
flow48.shzx188.com
core09.shzx188.com
wave21.shzx188.com
mint69.shzx188.com
tech15.shzx188.com
byte42.shzx188.com
grid58.shzx188.com
pool37.shzx188.com
key84.shzx188.com
raw06.shzx188.com
clip61.shzx188.com
nest24.shzx188.com
pure55.shzx188.com
rack17.shzx188.com
dash72.shzx188.com
fold39.shzx188.com
mint46.shzx188.com
iron02.shzx188.com
vein64.shzx188.com
glow26.shzx188.com
path52.shzx188.com
hive14.shzx188.com
drift79.shzx188.com
slot32.shzx188.com
bulk49.shzx188.com
bond08.shzx188.com
gaze67.shzx188.com
rust23.shzx188.com
veil57.shzx188.com
book.shzx188.com/article/B2c3D4e5F6.html
book.shzx188.com/article/C3d4E5f6G7.html
book.shzx188.com/article/D4e5F6g7H8.html
book.shzx188.com/article/E5f6G7h8I9.html
book.shzx188.com/article/F6g7H8i9J0.html
book.shzx188.com/article/G7h8I9j0K1.html
book.shzx188.com/article/H8i9J0k1L2.html
book.shzx188.com/article/I9j0K1l2M3.html
book.shzx188.com/article/J0k1L2m3N4.html
book.shzx188.com/article/K1l2M3n4O5.html
book.shzx188.com/article/L2m3N4o5P6.html
book.shzx188.com/article/M3n4O5p6Q7.html
book.shzx188.com/article/N4o5P6q7R8.html
book.shzx188.com/article/O5p6Q7r8S9.html
book.shzx188.com/article/P6q7R8s9T0.html
book.shzx188.com/blog/Q7r8S9t0U1.html
book.shzx188.com/blog/R8s9T0u1V2.html
book.shzx188.com/blog/S9t0U1v2W3.html
book.shzx188.com/blog/T0u1V2w3X4.html
book.shzx188.com/blog/U1v2W3x4Y5.html
book.shzx188.com/blog/V2w3X4y5Z6.html
book.shzx188.com/blog/W3x4Y5z6A7.html
book.shzx188.com/blog/X4y5Z6a7B8.html
book.shzx188.com/blog/Y5z6A7b8C9.html
book.shzx188.com/blog/Z6a7B8c9D0.html
book.shzx188.com/article/a7B8c9D0e1.html
book.shzx188.com/article/b8C9d0E1f2.html
book.shzx188.com/article/c9D0e1F2g3.html
book.shzx188.com/article/d0E1f2G3h4.html
book.shzx188.com/article/e1F2g3H4i5.html
book.shzx188.com/article/f2G3h4I5j6.html
book.shzx188.com/article/g3H4i5J6k7.html
book.shzx188.com/article/h4I5j6K7l8.html
book.shzx188.com/article/i5J6k7L8m9.html
book.shzx188.com/article/j6K7l8M9n0.html
book.shzx188.com/article/k7L8m9N0o1.html
book.shzx188.com/article/l8M9n0O1p2.html
book.shzx188.com/article/m9N0o1P2q3.html
book.shzx188.com/article/n0O1p2Q3r4.html
book.shzx188.com/article/o1P2q3R4s5.html
book.shzx188.com/article/p2Q3r4S5t6.html
book.shzx188.com/article/q3R4s5T6u7.html
book.shzx188.com/article/r4S5t6U7v8.html
book.shzx188.com/article/s5T6u7V8w9.html
book.shzx188.com/article/t6U7v8W9x0.html
book.shzx188.com/article/u7V8w9X0y1.html
book.shzx188.com/article/v8W9x0Y1z2.html
book.shzx188.com/article/w9X0y1Z2a3.html
book.shzx188.com/article/x0Y1z2A3b4.html
bbs.shzx188.com/article/A1b2C3d4E5.html
bbs.shzx188.com/article/B2c3D4e5F6.html
bbs.shzx188.com/article/C3d4E5f6G7.html
bbs.shzx188.com/article/D4e5F6g7H8.html
bbs.shzx188.com/article/E5f6G7h8I9.html
bbs.shzx188.com/article/F6g7H8i9J0.html
bbs.shzx188.com/article/G7h8I9j0K1.html
bbs.shzx188.com/article/H8i9J0k1L2.html
bbs.shzx188.com/article/I9j0K1l2M3.html
bbs.shzx188.com/article/J0k1L2m3N4.html
bbs.shzx188.com/article/K1l2M3n4O5.html
bbs.shzx188.com/article/L2m3N4o5P6.html
bbs.shzx188.com/article/M3n4O5p6Q7.html
bbs.shzx188.com/article/N4o5P6q7R8.html
bbs.shzx188.com/article/O5p6Q7r8S9.html
bbs.shzx188.com/article/P6q7R8s9T0.html
bbs.shzx188.com/blog/Q7r8S9t0U1.html
bbs.shzx188.com/blog/R8s9T0u1V2.html
bbs.shzx188.com/blog/S9t0U1v2W3.html
bbs.shzx188.com/blog/T0u1V2w3X4.html
bbs.shzx188.com/blog/U1v2W3x4Y5.html
bbs.shzx188.com/blog/V2w3X4y5Z6.html
bbs.shzx188.com/blog/W3x4Y5z6A7.html
bbs.shzx188.com/blog/X4y5Z6a7B8.html
bbs.shzx188.com/blog/Y5z6A7b8C9.html
bbs.shzx188.com/blog/Z6a7B8c9D0.html
bbs.shzx188.com/article/a7B8c9D0e1.html
bbs.shzx188.com/article/b8C9d0E1f2.html
bbs.shzx188.com/article/c9D0e1F2g3.html
bbs.shzx188.com/article/d0E1f2G3h4.html
bbs.shzx188.com/article/e1F2g3H4i5.html
bbs.shzx188.com/article/f2G3h4I5j6.html
bbs.shzx188.com/article/g3H4i5J6k7.html
bbs.shzx188.com/article/h4I5j6K7l8.html
bbs.shzx188.com/article/i5J6k7L8m9.html
bbs.shzx188.com/article/j6K7l8M9n0.html
bbs.shzx188.com/article/k7L8m9N0o1.html
bbs.shzx188.com/article/l8M9n0O1p2.html
bbs.shzx188.com/article/m9N0o1P2q3.html
bbs.shzx188.com/article/n0O1p2Q3r4.html
bbs.shzx188.com/article/o1P2q3R4s5.html
bbs.shzx188.com/article/p2Q3r4S5t6.html
bbs.shzx188.com/article/q3R4s5T6u7.html
bbs.shzx188.com/article/r4S5t6U7v8.html
bbs.shzx188.com/article/s5T6u7V8w9.html
bbs.shzx188.com/article/t6U7v8W9x0.html
bbs.shzx188.com/article/u7V8w9X0y1.html
bbs.shzx188.com/article/v8W9x0Y1z2.html
bbs.shzx188.com/article/w9X0y1Z2a3.html
bbs.shzx188.com/article/x0Y1z2A3b4.html
mp.shzx188.com/article/A2b5C7d1E9.html
mp.shzx188.com/article/B3c6D8e2F0.html
mp.shzx188.com/article/C4d7E9f3G1.html
mp.shzx188.com/article/D5e8F0g4H2.html
mp.shzx188.com/article/E6f9G1h5I3.html
mp.shzx188.com/article/F7g0H2i6J4.html
mp.shzx188.com/article/G8h1I3j7K5.html
mp.shzx188.com/article/H9i2J4k8L6.html
mp.shzx188.com/article/I0j3K5l9M7.html
mp.shzx188.com/article/J1k4L6m0N8.html
mp.shzx188.com/article/K2l5M7n1O9.html
mp.shzx188.com/article/L3m6N8o2P0.html
mp.shzx188.com/article/M4n7O9p3Q1.html
mp.shzx188.com/article/N5o8P0q4R2.html
mp.shzx188.com/article/O6p9Q1r5S3.html
mp.shzx188.com/blog/P7q0R2s6T4.html
mp.shzx188.com/blog/Q8r1S3t7U5.html
mp.shzx188.com/blog/R9s2T4u8V6.html
mp.shzx188.com/blog/S0t3U5v9W7.html
mp.shzx188.com/blog/T1u4V6w0X8.html
mp.shzx188.com/blog/U2v5W7x1Y9.html
mp.shzx188.com/blog/V3w6X8y2Z0.html
mp.shzx188.com/blog/W4x7Y9z3A1.html
mp.shzx188.com/blog/X5y8Z0a4B2.html
mp.shzx188.com/blog/Y6z9A1b5C3.html
mp.shzx188.com/blog/Z7a0B2c6D4.html
mp.shzx188.com/article/a8b1C3d7E5.html
mp.shzx188.com/article/b9c2D4e8F6.html
mp.shzx188.com/article/c0d3E5f9G7.html
mp.shzx188.com/article/d1e4F6g0H8.html
mp.shzx188.com/article/e2f5G7h1I9.html
mp.shzx188.com/article/f3g6H8i2J0.html
mp.shzx188.com/article/g4h7I9j3K1.html
mp.shzx188.com/article/h5i8J0k4L2.html
mp.shzx188.com/article/i6j9K1l5M3.html
mp.shzx188.com/article/j7k0L2m6N4.html
mp.shzx188.com/article/k8l1M3n7O5.html
mp.shzx188.com/article/l9m2N4o8P6.html
mp.shzx188.com/article/m0n3O5p9Q7.html
mp.shzx188.com/article/n1o4P6q0R8.html
mp.shzx188.com/article/o2p5Q7r1S9.html
mp.shzx188.com/article/p3q6R8s2T0.html
mp.shzx188.com/article/q4r7S9t3U1.html
mp.shzx188.com/article/r5s8T0u4V2.html
mp.shzx188.com/article/s6t9U1v5W3.html
mp.shzx188.com/article/t7u0V2w6X4.html
mp.shzx188.com/article/u8v1W3x7Y5.html
mp.shzx188.com/article/v9w2X4y8Z6.html
mp.shzx188.com/article/w0x3Y5z9A7.html
mp.shzx188.com/article/x1y4Z6a0B8.html
baike.shzx188.com/article/A3b6C8d2E0.html
baike.shzx188.com/article/B4c7D9e3F1.html
baike.shzx188.com/article/C5d8E0f4G2.html
baike.shzx188.com/article/D6e9F1g5H3.html
baike.shzx188.com/article/E7f0G2h6I4.html
baike.shzx188.com/article/F8g1H3i7J5.html
baike.shzx188.com/article/G9h2I4j8K6.html
baike.shzx188.com/article/H0i3J5k9L7.html
baike.shzx188.com/article/I1j4K6l0M8.html
baike.shzx188.com/article/J2k5L7m1N9.html
baike.shzx188.com/article/K3l6M8n2O0.html
baike.shzx188.com/article/L4m7N9o3P1.html
baike.shzx188.com/article/M5n8O0p4Q2.html
baike.shzx188.com/article/N6o9P1q5R3.html
baike.shzx188.com/article/O7p0Q2r6S4.html
baike.shzx188.com/blog/P8q1R3s7T5.html
baike.shzx188.com/blog/Q9r2S4t8U6.html
baike.shzx188.com/blog/R0s3T5u9V7.html
baike.shzx188.com/blog/S1t4U6v0W8.html
baike.shzx188.com/blog/T2u5V7w1X9.html
baike.shzx188.com/blog/U3v6W8x2Y0.html
baike.shzx188.com/blog/V4w7X9y3Z1.html
baike.shzx188.com/blog/W5x8Z0a4A2.html
baike.shzx188.com/blog/X6y9A1b5B3.html
baike.shzx188.com/blog/Y7z0B2c6C4.html
baike.shzx188.com/blog/Z8a1C3d7D5.html
baike.shzx188.com/article/a9b2D4e8E6.html
baike.shzx188.com/article/b0c3E5f9F7.html
baike.shzx188.com/article/c1d4F6g0G8.html
baike.shzx188.com/article/d2e5G7h1H9.html
baike.shzx188.com/article/e3f6H8i2I0.html
baike.shzx188.com/article/f4g7I9j3J1.html
baike.shzx188.com/article/g5h8J0k4K2.html
baike.shzx188.com/article/h6i9K1l5L3.html
baike.shzx188.com/article/i7j0L2m6M4.html
baike.shzx188.com/article/j8k1M3n7N5.html
baike.shzx188.com/article/k9l2N4o8O6.html
baike.shzx188.com/article/l0m3O5p9P7.html
baike.shzx188.com/article/m1n4P6q0Q8.html
baike.shzx188.com/article/n2o5Q7r1R9.html
baike.shzx188.com/article/o3p6R8s2S0.html
baike.shzx188.com/article/p4q7S9t3T1.html
baike.shzx188.com/article/q5r8T0u4U2.html
baike.shzx188.com/article/r6s9U1v5V3.html
baike.shzx188.com/article/s7t0V2w6W4.html
baike.shzx188.com/article/t8u1W3x7X5.html
baike.shzx188.com/article/u9v2X4y8Y6.html
baike.shzx188.com/article/v0w3Y5z9Z7.html
baike.shzx188.com/article/w1x4Z6a0A8.html
baike.shzx188.com/article/x2y5A7b1B9.html

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/29 7:26:24

B站会员购抢票实战:如何用Python自动化工具突破抢票限制?

B站会员购抢票实战:如何用Python自动化工具突破抢票限制? 【免费下载链接】biliTickerBuy b站会员购购票辅助工具 项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy 在B站热门活动如Bilibili World(BW)、B…

作者头像 李华
网站建设 2026/10/29 14:22:58

如何用SMUDebugTool深度掌控AMD Ryzen处理器?硬件调试终极指南

如何用SMUDebugTool深度掌控AMD Ryzen处理器?硬件调试终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…

作者头像 李华
网站建设 2026/10/29 22:12:10

GraphQL-Yoga + MongoDB Node.js服务实战:安全高效架构设计

1. 项目概述:为什么用 GraphQL-yoga MongoDB 搭建 Node.js 服务不是“炫技”,而是解决真实痛点GraphQL-yoga 和 MongoDB 组合在 Node.js 生态里,不是为了堆砌热门关键词凑出一个“看起来很新”的项目,而是针对传统 REST API 在实…

作者头像 李华
网站建设 2026/10/29 7:28:39

终极文档下载解决方案:kill-doc如何让你看到就能下载

终极文档下载解决方案:kill-doc如何让你看到就能下载 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解…

作者头像 李华
网站建设 2026/10/29 21:20:21

Ubuntu 16.04服务器初始化:安全加固与权限链路详解

1. 项目概述:为什么 Ubuntu 16.04 的初始服务器配置至今仍值得深挖你刚买了一台全新的云服务器,或者在本地虚拟机里装好了 Ubuntu 16.04 镜像,SSH 连上去第一眼看到的是一个裸奔的 root 登录界面——没有防火墙、没有非 root 用户、密码是默认…

作者头像 李华
网站建设 2026/10/29 9:41:07

突破性构建:Kiro和Claude交付了我要求的东西但不是我想要的

在Agentis Lux上的部署成功。绿色检查,没有错误,现场直播。我扫描了我自己的网站,抓取了一张“之前”的照片,进行前后对比,扫描仪给出了62分。它还给下一个站点62。还有下一个。同样的分数,同样的发现&…

作者头像 李华