理论上的生命---史前巨肥猫 2022-03-17 10:45 采纳率: 95.6%
浏览 47
已结题

类的方法名称可以赋值为数字?

谢谢!

class C:
def x (self):
print ("你好!")

c=C()
c.x = 1 #这是什么操作?

  • 写回答

3条回答 默认 最新

  • 全栈小5 全栈领域优质创作者 2022-03-17 11:31
    关注

    1、操作解释
    其实就是将定义的方法自动转为了类的一个普通变量,method转为了int
    所以,你会发现c.x(),再这样子使用就会报错,此时已经是一个整型,不能当作方法使用

    img

    2、运行代码

    class C:
        def x (self):
            print ("你好!")
        def y (self):
            print ("你好!%s" % self.x)
    
    c=C()
    print ("方法被赋值整型值前的类型:%s" % type(c.x))
    c.x = 1
    print ("方法被赋值整型值后的类型:%s" % type(c.x))
    c.y()
    
    c.x = 666
    c.y()
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月17日

悬赏问题

  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集
  • ¥15 在启动roslaunch时出现如下问题