当前位置: 首页 > news >正文

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”) 表示只允许这两个属性

http://www.dtcms.com/a/352291.html

相关文章:

  • 深度感知卷积和深度感知平均池化
  • python自动测试 crictl 可以从哪些国内镜像源成功拉取镜像
  • pulsar、rocketmq常用命令
  • C#由Dictionary不正确释放造成的内存泄漏问题与GC代系
  • Text to Speech技术详解与实战:GPT-4o Mini TTS API应用指南
  • 从“脚本语言”到“企业级引擎”——PHP 在 2025 年技术栈中的再定位
  • Linux服务器安全配置与NTP时间同步
  • 记录一下,qt问题:qt ui文件的改动无法更新到cpp
  • 疯狂星期四文案网第51天运营日记
  • Typescript入门-interface讲解
  • 类型签名,位置参数,关键字参数
  • open webui源码分析8—管道
  • 域名常见问题集(十一)——为什么要进行域名管理?
  • 【实时Linux实战系列】基于实时Linux的音频实时监控系统
  • 从16个粉丝到680万年收入:AI创业的117天奇迹
  • 声明式微服务通信新范式:OpenFeign如何简化RestTemplate调用
  • Windows下实现类似`watch nvidia-smi`的实时监控效果
  • 进入docker中mysql容器的方法
  • Java:TreeSet的使用
  • (Arxiv-2024)VideoMaker:零样本定制化视频生成,依托于视频扩散模型的内在力量
  • QT qml(quick3D)模型的移动
  • 专业解读《Light》封面:可调谐混合超表面(THCMs)如何革新下一代LiDAR系统
  • 3D游戏角色建模资源搜索指南(资料来源于网络)
  • 湖仓一体:小米集团基于 Apache Doris + Apache Paimon 实现 6 倍性能飞跃
  • JavaWeb之分布式事务规范
  • LInux(二十一)——Linux SSH 基于密钥交换的自动登录原理简介及配置说明
  • jenkins2025配置邮箱发送
  • 基于Android的车位预售预租APP/基于Android的车位租赁系统APP/基于Android的车位管理系统APP
  • Leetcode—1163. 按字典序排在最后的子串【困难】
  • Linux(二十二)——服务器初始化指南