python类属性、实例属性及私有属性【For Java 程序员】


1. 相同点:

类属性相当于Java中的static属性,实例属性相当于Java中的public的实例属性,私有属性相当于Java中的私有属性;

2.不同点:

Java中的类属性可以被类或其任意实例修改,但是python中的类属性,只能由类修改,下面通过例子进行分析:

class User():

number = 20

def __init__(self,name,major):
self.name = name
self.__major = major      #实例私有属性

def print_major(self):
print self.__major

obj = User("Andy","software engineer") 


2.1.  Python中,类属性直接在类模块中定义,可以通过类或者其实例可以直接访问:

print User.number , obj.number  #输出一致:20, 20

2.2 通过类修改number值:

User.number = 35

print User.number , obj.number   #输出一致:35,35

2.3  Python中,实例对象可以动态添加其实例属性:

obj.number= 15
print
 User.number, obj.number  #输出不一致:35,15 (此时,类实例对象obj是自己的实例属性,覆盖同名的类属性)


3. python 实例属性&私有实例属性

私有属性在类中以‘__’开头,例子中的 ‘__major';

实例属性在类的__init__方法中定义,例子中的 'name' ; 同时可以动态创建,如2.3。











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值