gpt4 book ai didi

python - 如何测试 python 中的两个对象是否相等?

转载 作者:太空宇宙 更新时间:2023-11-04 10:19:47 24 4
gpt4 key购买 nike

我制作了一个连接到 Twitter API 的函数。此函数返回一个推特对象。我想创建一个测试函数来检查返回的对象是否真的是一个 twitter 对象。所以这是我的功能:

def authenticate_twitter_api():
"""Make connection with twitters REST api"""
try:
logger.info('Starting Twitter Authentication')
twitter_api = twitter.Twitter(auth=twitter.OAuth(config.TWITTER_ACCESS_KEY, config.TWITTER_ACCESS_SECRET,
config.TWITTER_CONSUMER_KEY, config.TWITTER_CONSUMER_SECRET))
print twitter_api
logger.info("Service has started")
return twitter_api
except:
logger.error("Authentication Error. Could not connect to twitter api service")

当我运行这个函数时,它返回:

<twitter.api.Twitter object at 0x7fc751783910>

现在,我想创建一个测试函数,可能通过 numpy.testing 来检查类型是否为对象。

numpy.testing.assert_equal(actual, desired, err_msg='')

actual = type(authenticate_twitter_api())
desired =<class 'twitter.api.Twitter'>

这就是问题所在。我无法将对象保存到“所需”。

我能做什么?

最佳答案

您正在寻找的所需对象是 twitter.api.Twitter,只需导入它并向类传递 assert_equal。

但是,使用 isinstance 更为惯用:

from twitter.api import Twitter

if isinstance(authenticate_twitter_api(), Twitter):
print("It was a Twitter object.")

关于python - 如何测试 python 中的两个对象是否相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32945506/

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