类型的区别
啊啊,b和B的区别是啥,B的类型到底是啥{:5_104:}>>> class a:
x = 520
def hello(self):
print('你好')
>>> class b(a):
pass
>>> B = b()
>>> B.x
520
>>> B.hello ()
你好
>>> type(b)
<class 'type'>
>>> type(B)
<class '__main__.b'> b和B的区别是b是一个类,而B是b类的一个实例对象。
b的类型是type,表示它是一个类对象。
B的类型是__main__.b,表示它是b类的一个实例对象。
在Python中,类是对象的模板,可以创建多个对象实例。b是类对象,B是b类的一个实例对象。类对象定义了类的属性和方法,实例对象可以通过类对象继承属性和方法,并可以调用这些属性和方法。
在给定的代码中,类a定义了一个属性x和一个方法hello。类b继承了类a,并没有定义新的属性和方法。实例对象B可以访问继承自类a的属性x和方法hello。 本帖最后由 歌者文明清理员 于 2023-8-15 12:46 编辑
b 继承 a, 但是 b 的定义部分是 pass (pass 是一个占位符,避免 Python 语法报错), 所以 b 等同于 a (使用属性、方法时), 但是 isinstance() 等函数时会识别 B 是 a 的实例。
b 是类, B 是实例。b 规定了所有实例 (比如 B) 应该有哪些属性。
B 的类型是 b, 因为 Python 把当前文件叫做 __main__, 且 Python 在打印一个非 Python 自带类时会输出是哪个模块 (文件), 所以输出 <type '__main__.b'>。 isdkz 发表于 2023-8-15 12:35
b和B的区别是b是一个类,而B是b类的一个实例对象。
b的类型是type,表示它是一个类对象。
谢{:9_225:}
页:
[1]