Python类错误排查:TypeError: User() takes no arguments问题
问题解决:User类实例化TypeError错误
错误原因
你误将Python类的初始化方法写成了__int__,但正确的构造/初始化方法是__init__。__int__是用于将对象转换为整数的特殊方法,不负责处理实例化时的参数传递,所以当你传参数创建User实例时,Python找不到对应的参数处理逻辑,就抛出了TypeError: User() takes no arguments。
修正代码
先看错误的代码示例:
class User: # 错误:写成了__int__ def __int__(self, user_id, name): self.user_id = user_id self.name = name # 执行这行会报错 user = User("007", "Amul")
将__int__改为__init__即可解决问题,修正后代码:
class User: # 正确:使用__init__初始化实例 def __init__(self, user_id, name): self.user_id = user_id self.name = name # 正常实例化 user = User("007", "Amul") print(user.user_id) # 输出:007
补充说明
__init__是Python类的核心初始化方法,创建类实例时会自动触发它来绑定实例属性,必须严格拼写为双下划线+init+双下划线,任何拼写错误都会导致初始化逻辑失效。
内容的提问来源于stack exchange,提问作者amul
相关产品推荐
相关产品推荐

