Python 给类添加不存在的实例方法

举报
千江有水千江月 发表于 2021/07/14 19:36:11 2021/07/14
【摘要】 环境信息ModelArtsNotebook - pytorch1.4-cuda10.1-cudnn7-ubuntu18.04JupyterLab - Notebook - Conda-python3  给类添加不存在的方法,会影响到对象class Person: def __init__(self,name,age): self.name=name sel...

环境信息

  • ModelArts
    • Notebook - pytorch1.4-cuda10.1-cudnn7-ubuntu18.04
      • JupyterLab - Notebook - Conda-python3

给类添加不存在的实例方法,会影响到对象

class Person:
    def __init__(self,name,age):
        self.name=name
        self.age=age
p1 = Person(name="p1",age=14)
# 实例方法 self
# 类方法 cls
def eat(self):
    print(self.name + " " + "eat")
# 给类添加不存在的方法,会影响到对象
Person.eat = eat
help(Person)

Help on class Person in module __main__:

class Person(builtins.object)
 |  Person(name, age)
 |  
 |  Methods defined here:
 |  
 |  __init__(self, name, age)
 |      Initialize self.  See help(type(self)) for accurate signature.
 |  
 |  eat(self)
dir(p1)

['__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__eq__',
 '__format__',
 '__ge__',
 '__getattribute__',
 '__gt__',
 '__hash__',
 '__init__',
 '__init_subclass__',
 '__le__',
 '__lt__',
 '__module__',
 '__ne__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 'age',
 'eat',
 'name']
p1.eat()

p1 eat

相关链接


备注

  1. 欢迎各位同学一起来交流学习心得^_^
  2. 在线课程、沙箱实验、认证、论坛和直播,其中包含了许多优质的内容,推荐了解与学习。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。