zyx2012 发表于 3 天前

python类的问题

定义类的时候一般是class C:
我在一个编程软件上看见还有往类后加括号的,实际上也没有语法错误
再调用类的时候,类加不加括号都可以正常运行。
加不加括号有什么区别?求解答!{:5_102:} {:5_102:} {:5_102:}

FishC 发表于 3 天前

Python 类定义和调用中的括号详解

1. 类定义时加括号的意义:
在定义类时,你可以在类名后面加括号,也可以不加括号。例如:

class C:
    pass

class D(C):
    pass


- 如果不加括号,表示这个类不继承任何父类。
- 如果加括号,则括号内的内容表示这个类的父类,例如上面的 `class D(C)`,表示类 `D` 继承了类 `C`。

2. 类调用时加括号的区别:
在调用类时,加括号和不加括号的区别是:


[*]加括号: 表示你创建了类的一个实例(即对象)。
    例如:
   
    obj = C()# 创建了一个 C 类的对象
    print(type(obj))# <class '__main__.C'>
   

[*]不加括号: 表示你只是引用类本身,而不是创建类的实例。
    例如:
   
    print(C)# 输出的是类本身:<class '__main__.C'>
   


总结:
- 类定义时,括号决定是否继承父类。
- 类调用时,加括号表示创建对象,不加括号表示引用类本身。

如有问题,欢迎继续提问! {:5_137:}

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

某一个“天” 发表于 3 天前

加括号是继承

isdkz 发表于 3 天前

定义的时候加括号写上继承的类,你不写就只继承默认都会继承的object

调用的时候加括号是实例化成对象,不加括号是类本身

ydwb 发表于 前天 07:12

666
页: [1]
查看完整版本: python类的问题