gpt4 book ai didi

python - 重命名每个跳过对象名称的方法

转载 作者:行者123 更新时间:2023-12-01 09:05:19 24 4
gpt4 key购买 nike

不确定这是一个有效的问题还是只是无稽之谈,但我没有在网上找到答案。

我知道可以通过这种方式重命名 Python 中的函数:

SuperMethod = myObject.SuperMethod

我想知道是否可以重命名对象的每个方法,就是这样,能够调用特定对象的每个方法而无需显式告知其名称(类似于在 VBA 中使用 with 子句)

我知道这会有各种命名问题。

最佳答案

过滤掉以 '__' 开头和结尾的内部方法后,您可以使用对象的可调用函数更新 globals() 字典:

class A:
def __init__(self, i):
self.i = i
def x(self):
print(self.i + 1)
def y(self):
print(self.i + 2)
myObject = A(1)
globals().update({k: getattr(myObject, k) for k, v in A.__dict__.items() if not k.startswith('__') and not k.endswith('__') and callable(v)})
x()
y()

输出:

2
3

关于python - 重命名每个跳过对象名称的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52111854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com