Monica_MTF 2023-01-29 17:14 采纳率: 73.9%
浏览 35
已结题

测试参数是否为可哈希对象

函数 main() 接收一个任意类型的对象 obj 作为参数,
要求测试其是否为可哈希对象
如果是就放回True,
否则返回False。
例如,main(3)返回True,main([])返回False。
不能使用内置函数hash(),不能使用异常处理结构,不能导入任何模块。
输出不能有多余内容。
考点:哈希,面向对象程序设计?

def main(obj):
    return type(obj)
    '''
    if ... hashable...:
        return Ture
    else...:
        return False
    '''
'''
答题错误!您的代码执行结果为:
<class 'int'>
<class 'str'>
<class 'tuple'>
<class 'list'>
<class 'set'>
'''
  • 写回答

2条回答 默认 最新

  • P2441M 2023-01-29 17:26
    关注

    那可以使用__hash__特殊方法吗,像这样:

    def main(obj):
        return obj.__hash__ is not None
    

    不能用内置函数hash……不知道这个可不可以

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 2月6日
  • 已采纳回答 1月29日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行