python命名规则(PEP 8 速查表),以及自定义属性
一、Python 命名规则(PEP 8 速查表)
类型 | 规则 | 例子 | 说明 |
---|---|---|---|
变量 / 函数 / 方法 | 全小写,单词间下划线 | user_name , get_data() | 最常用 |
常量 | 全大写,下划线 | MAX_RETRY , PI | 语义上不变 |
类 | 驼峰式(首字母大写) | MainWindow , HttpClient | 一眼看出是类 |
私有成员 | 前单下划线 _ | _internal , _helper() | “内部使用,别乱动” |
强私有(名称改写) | 前双下划线 __ | __value → 类外变成 _类名__value | 子类不覆盖 |
魔术方法 | 前后双下划线 | __init__ , __str__ | Python 保留,不要乱发明 |
二、“自定义属性”
在 Python 里,类实例就是一张动态的“字典”,你可以随时往里面塞新名字:
class Dog:def __init__(self, name):self.name = name # 正常属性dog = Dog("旺财")
dog.age = 3 # 运行时动态添加
dog.master = "小明"
其中dog.age、dog.master 就是 自定义属性 —— 类定义里原本没有,但实例身上可以出现。
三、常见用法场景
eg:GUI 开发(Qt/Tkinter 等)
给控件贴“便签”存业务数据:
class MainWindow(QMainWindow):def __init__(self):super().__init__()self.button = QPushButton("Hit me")self.button.clicked.connect(self.handle)# 自定义属性:记录点击次数self.button.click_count = 0def handle(self):self.button.click_count += 1self.button.setText(f"Hit {self.button.click_count}")
临时缓存 / 标记位
user = User("bob")
user._loaded = False # 私有标记
四、注意点
拼写错误不会报错,只会悄悄新建属性,调试时容易懵。
若想让 IDE 自动补全,可在类里先声明: slots = (“name”, “age”) 表示只允许这两个属性