python 如何在运行时更改方法的功能

标签 python

想知道是否可以在运行时更改方法的功能化,例如

x = obj1 + obj2
return x+y

你想添加

x = obj1 + obj2
x+= obj3
return x+y

最佳答案

在 Python 中,类只是可以在运行时更改的对象。例如:

class Dog:
    def talk(self):
        print "bark"
dog1 = Dog()
dog1.talk()  # --> Bark

def cat_talk(self):
    print "Meow"

Dog.talk = cat_talk
dog1.talk()  # --> Meow

但是你不想做这样的事情,否则任何必须维护或调试这个程序的人肯定会想杀了你(这个人可能就是你自己)

关于python 如何在运行时更改方法的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4407907/

相关文章:

python - Scrapy:存储/抓取当前的 start_url?

python - 无法安装scrapy

python - 用 Python 抓取具有可点击内容的网站

python - 如何获取 libicui18n.so.36 DEB?

python - 再次迭代,质因数循环,python

python - 从 tkinter.Listbox 中提取项目列表

python - 在 python 中将带有 NaN 的 Numpy 数组写入 CSV

python - 将 QStyle 添加到 Pyqt5

python - 如何访问 Slack 的 Interactive Message 请求负载参数?

python - 为什么即使批量大小为 1 也会出现内存分配错误?