You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python面向对象代码中other.cont的含义咨询

理解Python面向对象中的other.cont

嘿,我来帮你把这个疑惑点拆解开!

首先咱们先回顾一下你写的SpecialString类:

class SpecialString:
    def __init__(self, cont):
        self.cont = cont

当你创建这个类的实例时(比如spam = SpecialString("spam")或者hello = SpecialString("Hello world!")),__init__方法会把你传入的字符串赋值给实例的cont属性。也就是说,每个SpecialString的实例都自带一个cont属性,存储着你初始化时传入的内容。

接下来看你困惑的__truediv__方法——这个方法是Python的运算符重载,当你写spam / hello的时候,Python实际上会调用spam.__truediv__(hello)。这里的other参数,就是你用/右边的那个对象,也就是hello这个SpecialString实例。

那other.cont是什么意思?其实很简单:

  • other是另一个SpecialString的实例(和spam是同一种类型的对象)
  • cont是SpecialString类给每个实例都定义的属性
  • 所以other.cont就是直接访问other这个实例的cont属性,也就是hello里面存储的"Hello world!"

举个具体的例子:
hello.cont的值是"Hello world!",它的长度是12,所以"=" * len(other.cont)就会生成一个由12个等号组成的字符串"=============="。最后把self.cont(也就是spam的内容"spam")、这个等号线、other.cont用换行拼接起来,就得到了最终的输出:

spam
==============
Hello world!

补充一点:在Python里,只要属性没有用双下划线__开头(这种是私有属性的命名规范),外部代码或者其他对象都可以直接访问实例的属性。这里的cont是公开的,所以other作为同类型的实例,自然能访问它的cont属性啦。

内容的提问来源于stack exchange,提问作者Adam J.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:19:25