基于深度学习YOLOv12的固体垃圾废物识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

核心内容摘要

CSDN官方Markdown语句
赶deadline必备! 8个降AIGC软件测评:专科生降AI率必看

MedGemma-X在肺部CT诊断中的应用:3步完成病灶自动标注

在 Python 中å®�例对象instanceå¹¶ä¸�是类的附å±�产物而是ä¸�类对象并列的一等è¿�行期å®�体。å®�例ä¸�ç±»ä¸€æ ·éƒ½æ˜¯åœ¨ç¨‹åº�执行过程中被创建的对象具备æ˜�确的身份ã€�ç±»å�‹å’Œå€¼å¹¶å®Œå…¨å�—统一的对象模å�‹è§„则约æ�Ÿã€‚ç�†è§£å®�例对象的创建机制ã€�结æ�„å½¢æ€�以å�Šä¸�类对象之间的å��作关系是正确ç�†è§£å±�性访问ã€�方法调用ã€�状æ€�管ç�†å�Šé�¢å�‘对象语义的基础。一ã€�å®�例对象的创建过程在 Python 中å®�例并ä¸�是由语法结æ�„ç›´æ�¥ç”Ÿæˆ�的而是在è¿�行时通过对类对象的调用而产生。当执行如下代ç �æ—¶class Contact: def __init__(self, name, phone): self.name name self.phone phone def display(self): return f{self.name}: {self.phone} c Contact(艾婉婷,

解释器会按顺�完�一组�确的�行期步骤。1调用类对象触��例创建过程表达�Contact(艾婉婷,

这里的 Contact() å¹¶ä¸�是函数调用而是对类对象å�¯è°ƒç”¨è¡Œä¸ºçš„触å�‘。ä»�对象模å�‹è§’度看该表达å¼�等价äº�进入由 type æ�§åˆ¶çš„å®�例æ�„é€ æµ�程Contact.__call__(...)__call__ 的默认å®�ç�°ç”±å…ƒç±» type æ��供并负责调度 __new__ ä¸� __init__。2调用 __new__æ�„é€ å®�例对象在 type.__call__ 的内部æµ�程中首先会调用类的 __new__ 方法一般ä¸�需用户自定义obj Contact.__new__(Contact)此步骤完æˆ�• 分é…�内存并创建一个新的å®�例对象• å°†å®�例ä¸�å…¶ç±»å�‹å¯¹è±¡ç±»å»ºç«‹å…³è�”• 为å®�例准备其状æ€�承载结æ�„对äº�未定义 __slots__ 的普通类å®�例的 __dict__ 也在此阶段一并创建。此时å®�例已ç»�在对象模å�‹æ„�义上æˆ�立具备• 独立的身份identity• æ˜�确的类å�‹type但尚未包å�«ä»»ä½•用户定义的状æ€�æ•°æ�®ã€‚3调用 __init__写入å®�例åˆ�始状æ€�在å®�例对象æˆ�功创建å��解释器会自动调用类中定义的 __init__ 方法Contact.__init__(obj, 艾婉婷,

这里需è¦�强调的是__init__ å¹¶ä¸�创建å®�例它æ“�作的是一个已ç»�存在的å®�例对象def __init__(self, name, phone): self.name name self.phone phoneæ­¤æ—¶ä¼ å…¥çš„ self 指å�‘刚刚创建的å®�例对象。对 self.nameã€�self.phone 的绑定æ“�作本质上是å�‘å®�例已有的状æ€�容器通常是 __dict__中写入æ�¡ç›®ã€‚4å��称绑定建立引用关系当å®�例æ�„é€ ä¸�åˆ�始化完æˆ�å��表达å¼�的求值结æ�œä¼šè¢«ç»‘å®šåˆ°ç›®æ ‡å��称上c Contact(艾婉婷,

这里的 c å�ªæ˜¯å½“å‰�作用域中的一个å��称用äº�引用该å®�例对象。å��称绑定å±�äº�作用域ä¸�å��å­—è§£æ��机制ä¸�å®�例对象自身的结æ�„和行为相互独立。至此一个å®�例对象ä»�æ�„é€ åˆ°å�¯ç”¨å…¨éƒ¨è¿‡ç¨‹å�‡å�‘生在è¿�行期且æ¯�一步都é�µå¾ªç»Ÿä¸€çš„对象模å�‹è§„则。二ã€�å®�例对象的本质ä»�对象模å�‹çš„角度看å®�例对象ä¸�å…¶ä»–å¯¹è±¡å¹¶æ— æœ¬è´¨å·®å¼‚å�Œæ ·å…·å¤‡å¯¹è±¡çš„三è¦�ç´ â€¢ 身份identityå®�例在è¿�è¡ŒæœŸé—´çš„å”¯ä¸€æ ‡è¯†â€¢ ç±»å�‹typeå®�例所å±�的类对象• 值valueå®�例当å‰�所承载的状æ€�æ•°æ�®c Contact(艾婉婷,

print(isinstance(c, object)) # Trueprint(type(c)) # class __main__.Contactè¿™æ„�味ç�€å®�例对象• å�¯ä»¥è¢«ç»‘定到å��称• å�¯ä»¥ä½œä¸ºå‡½æ•°çš„å�‚数或返å›�值• å�¯ä»¥åœ¨è¿�行时被检查和修改å®�例并ä¸�是类对象中的“内部数æ�®â€�而是独立存在的è¿�行期å®�体。三ã€�å®�例å±�性ä¸�å®�例字典1ã€�å®�例字典的角色在未引入 __slots__ 等约æ�Ÿçš„æƒ…况下大多数å®�例对象都拥有独立的å®�例字典print(c.__dict__)# {name: 艾婉婷, phone: 13800138001}å®�例字典用äº�存储• å®�例特有的状æ€�æ•°æ�®â€¢ è¿�行时动æ€�æ·»åŠ çš„å®�例å±�性c.email testexample.comprint(c.__dict__)# {name: 艾婉婷, phone: 13800138001, email: testexample.com}2ã€�å®�例å±�性的写入语义当执行c.name å¼ ä¸‰Python 的行为是始终å�‘å®�例自身写入å±�性ä¸�会修改类对象中的å�Œå��å±�性。å®�例å±�性在语义上始终优先äº�ç±»å±�性。四ã€�å®�例视角下的å±�性查找机制当通过å®�例访问å±�性或方法时例如c.display()解释器的查找顺åº�为1在å®�例对象的 __dict__ 中查找2在å®�例所å±�类的 __dict__ 中查找3沿ç�€ç±»çš„ MRO å�‘上查找父类4è‹¥ä»�未找到抛出 AttributeError这一过程由对象模å�‹çš„å±�性访问入å�£ __getattribute__ 统一驱动而ä¸�是由å®�例或类“å�„自决定â€�。示例class A: x 10 class B(A): pass b B()b.x 20查找顺åº�结æ�œä¸ºâ€¢ b.__dict__[x] → 20• A.x 被é�®è”½ä½†æœªè¢«ä¿®æ”¹äº”ã€�方法访问ä¸�绑定行为在 Python 中方法methodå¹¶ä¸�是一ç§�独立存储äº�å®�例中的对象而是函数对象在特定访问路径下产生的绑定结æ�œã€‚1ã€�方法æ�¥æº�äº�ç±»å±�性类体中通过 def 定义的æˆ�员本质上是函数对象存储äº�类对象的命å��空间中class Contact: ... def display(self): return f{self.name}: {self.phone}此时display å±�äº� Contact.__dict__而ä¸�å±�äº�任何å®�例的 __dict__。å®�例并ä¸�æŒ�有方法本身。2ã€�å®�例访问触å�‘绑定行为当通过å®�例访问类中定义的函数å±�性时c Contact(艾婉婷,

m c.displayå±�性解æ��首先在类对象中å�–得函数对象 display。在å±�性访问返å›�阶段解释器会æ�„é€ ä¸€ä¸ªæ–°çš„ç»‘å®šæ–¹æ³•å¯¹è±¡bound method。该对象å�Œæ—¶æŒ�有• å�Ÿå§‹å‡½æ•°å¯¹è±¡ä½œä¸ºå�¯è°ƒç”¨é€»è¾‘• 当å‰�å®�例对象作为éš�å¼�绑定的第一个å�‚æ•°å› æ­¤m å¹¶ä¸�是类中存储的å�Ÿå§‹å‡½æ•°è€Œæ˜¯ä¸€ä¸ªä¸´æ—¶ç”Ÿæˆ�çš„ã€�ä¸�å®�例关è�”的方法对象。当调用该方法时m()等价äº�Contact.display(c)需è¦�强调的是• 绑定方法对象是在å±�性访问阶段创建的• 该对象并ä¸�写入å®�例的 __dict__• æ¯�次通过å®�例访问都会生æˆ�新的绑定方法对象3ã€�类访问ä¸�会å�‘生绑定当通过类对象访问方法å±�性时Contact.display得到的是类对象中存储的å�Ÿå§‹å‡½æ•°å¯¹è±¡ä¸�会å�‘生任何ä¸�å®�ä¾‹ç›¸å…³çš„ç»‘å®šè¡Œä¸ºã€‚å› æ­¤å¦‚æ�œç›´æ�¥è°ƒç”¨Contact.display()将导致错误TypeError: display() missing 1 required positional argument: selfå�Ÿå› 在äº� display 在定义时就约定了第一个å�‚数用äº�æ�¥æ”¶å®�例对象而通过类访问时解释器ä¸�ä¼šä¸»åŠ¨æ›¿ä½ æ��供这个å�‚数。六ã€�å®�例ä¸�类的å��作关系在 Python 的对象模å�‹ä¸­å®�例对象ä¸�类对象通过清晰的è�Œè´£åˆ†å·¥å��作完æˆ�é�¢å�‘对象语义。• 类对象æ��供行为定义ä¸�结æ�„规范• å®�例对象承载è¿�行期状æ€�å¹¶å�‚ä¸�行为执行1ã€�行为共享状æ€�独立类中定义的方法ä¸�会被å¤�制到å®�例中。多个å®�例共享å�Œä¸€ä»½è¡Œä¸ºå®šä¹‰å�„自维护独立状æ€�。例如创建两个å®�例c1 Contact(艾婉婷,

c2 Contact(å¼ ä¸‰,

此时c

display � c

display 并�存储在�自的�例字典中display 的函数定义�存在� Contact.__dict__ 中。两个�例在调用该方法时共享�一份行为定义而它们的状�则完全独立print(c

__dict__) # {name: 艾婉婷, phone: 13800138001}print(c

__dict__) # {name: å¼ ä¸‰, phone: 13900000002}这体ç�°äº† Python 对象模å�‹ä¸­â€œè¡Œä¸ºå…±äº«ã€�状æ€�分离â€�的基本å�Ÿåˆ™ã€‚2ã€�å®�例作为行为执行的å�‚ä¸�者如å‰�所述c

display()在语义上等价�Contact.display(c

方法体中对 self 的访问å®�质上是对当å‰�å®�例状æ€�的访问。3ã€�å®�例的è¿�行期扩展能力å®�例对象本身也是普通对象其结æ�„在è¿�行期并é��ä¸�å�¯å�˜ã€‚在未引入é¢�外约æ�Ÿçš„æƒ…况下å�¯ä»¥åœ¨è¿�行期为å®�例å�•ç‹¬æ·»åŠ å±�性c

email testexample.comprint(c

email) # testexample.com该�性仅存在� c1 的�例字典中print(c

__dict__)# {name: 艾婉婷, phone: 13800138001, email: testexample.com}而å�¦ä¸€ä¸ªå®�例ä¸�å�—å½±å“�print(hasattr(c2, email)) # Falseå�Œæ ·ä¹Ÿå�¯ä»¥ä¸ºå�•个å®�例注入新的å�¯è°ƒç”¨è¡Œä¸ºdef greet(self): return fHello, {self.name} c

greet greet.__get__(c1, Contact)print(c

greet()) # Hello, 艾婉婷此行为是仅å±�äº�该å®�例的行为ä¸�会影å“�类对象å�Šå…¶ä»–å®�例。 å°�结å®�例对象是 Python 对象模å�‹ä¸­çš„基本è¿�行期å®�体。å®�例通过类è�·å�–行为定义通过自身结æ�„承载状æ€�æ•°æ�®ã€‚å®�例ä¸�是类的拷è´�也ä¸�是类的附å±�结æ�„而是ä¸�类对象å��作完æˆ�é�¢å�‘å¯¹è±¡è¯­ä¹‰çš„æ ¸å¿ƒå�‚ä¸�者。ç�†è§£å®�例对象是深入ç�†è§£ Python é�¢å�‘对象机制ã€�动æ€�行为以å�Šå…ƒç¼–程能力的基础å‰�æ��。“点èµ�有ç¾�æ„�èµ�èµ�是鼓励â€�

被十个医生照b超了高-被十个医生照b超了高应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123