python的类成员和实例成员

在python中定义类的属性有两种,一是类成员,二是实例成员。

  • 类成员是在类中所有方法之外定义的数据成员,属于这个类,(个人理解就是静态属性,类似于java中被static修饰的);
  • 实例成员一般是指在构造函数__init__()中定义的,定义和使用时必须以self作为前缀,属于实例对象。

他们的区别如下:

  1. 在主程序中(或类的外部),实例成员属于实例(即对象),只能通过对象名访问;
    而类成员属于类,可以通过类名或对象名访问。
  2. 在类的方法中可以调用类本身的其他方法,也可以访问类成员以及实例成员。
  3. 与很多面向对象程序设计语言不同,Python允许动态地为类和对象增加成员,这是Python动态类型特点的重要体现。

一个例子:

class Car:	
    price = 150000				#类成员
    def __init__(self,color):
        self.colour = color			#实例成员

car_1 = Car('红色')				#创建对象
print(car_1.price,Car.price,car_1.color)	#访问类成员和实例成员并输出

Car.name = 'Audi'				#增加类成员
car_1.wheelNum = 4			#增加实例成员
print(car_1.wheelNum,car_1.name,Car.name)	#访问类成员和实例成员并输出

print(Car.color)		# 报错,color属于实例成员

其他关于python类的语法参考:https://blog.csdn.net/qq_62789540/article/details/122482850

Python 中,成员实例成员分别指的是在定义中声明的变量或方法,以及在实例后与每个实例相关联的变量或方法。 成员是在定义中声明的变量或方法,它们属于本身,而不是属于的任何实例。在中定义的成员可以通过名直接访问,也可以通过实例访问。 实例成员是在实例后与每个实例相关联的变量或方法。实例成员只能通过实例访问,不能通过名访问。实例成员包括实例变量和实例方法,它们属于实例对象而不是属于本身。 下面是一个示例代码,展示了成员实例成员的使用: ```python class MyClass: class_variable = "I am a class variable" def __init__(self, instance_variable): self.instance_variable = instance_variable def instance_method(self): print("I am an instance method") # 访问成员 print(MyClass.class_variable) # 实例并访问实例成员 my_instance = MyClass("I am an instance variable") print(my_instance.instance_variable) my_instance.instance_method() ``` 输出结果为: ``` I am a class variable I am an instance variable I am an instance method ``` 在示例代码中,`class_variable` 是一个成员,在定义中声明,可以通过名 `MyClass` 直接访问。`instance_variable` 和 `instance_method` 是实例成员,在实例后,与每个实例相关联。`instance_variable` 是一个实例变量,只能通过实例 `my_instance` 访问;`instance_method` 是一个实例方法,也只能通过实例 `my_instance` 访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值