Python类定义无参数时传入实例化参数的相关疑问
问题解答
关于「__init__的参数不需要作为My_Class的参数传入」的说法是否正确
这个说法完全错误。
Python中类定义行(class 类名:后的括号)的作用是声明该类要继承的父类,和实例化类时要传入的参数没有任何关系。你创建类实例时,在类名后括号内传入的所有参数,都会自动传递给类的__init__方法(__init__的第一个参数self是Python自动传入的实例本身,不需要手动填写)。如何将arg1、arg2等参数传入My_Class
你备注里的写法就是正确的:直接在实例化类时把参数放在类名后的括号里即可,示例如下:
# 直接传入参数调用即可,返回实例后直接调用方法 My_Class(arg1, arg2 ...etc).method_1()
- 能否把参数写在类定义的括号里
绝对不能这么写,这是语法错误。类定义后的括号仅支持填写要继承的父类,不能传入普通参数变量,该写法运行时会直接抛出异常。你最开始贴的原脚本里的My_Class写法是完全符合Python语法规范的,不需要修改。
内容的提问来源于stack exchange,提问作者Tms91
相关产品推荐
相关产品推荐

