gpt4 book ai didi

python - 如何检查Python中是否存在方法?

转载 作者:IT老高 更新时间:2023-10-28 21:45:06 26 4
gpt4 key购买 nike

在函数 __getattr__() 中,如果未找到引用的变量,则会出错。如何检查变量或方法是否作为对象的一部分存在?

import string
import logging

class Dynamo:
def __init__(self,x):
print "In Init def"
self.x=x
def __repr__(self):
print self.x
def __str__(self):
print self.x
def __int__(self):
print "In Init def"
def __getattr__(self, key):
print "In getattr"
if key == 'color':
return 'PapayaWhip'
else:
raise AttributeError


dyn = Dynamo('1')
print dyn.color
dyn.color = 'LemonChiffon'
print dyn.color
dyn.__int__()
dyn.mymethod() //How to check whether this exist or not

最佳答案

检查类是否有这样的方法?

hasattr(Dynamo, key) and callable(getattr(Dynamo, key))

hasattr(Dynamo, 'mymethod') and callable(getattr(Dynamo, 'mymethod'))

您可以使用 self.__class__ 代替 Dynamo

关于python - 如何检查Python中是否存在方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580532/

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