python中 getnode用法_Python私有属性set 和get方法

class Person(object):

#self不是关键字,换成其他的标识符也是可以的,但是一般不要改

def run(self):

print("run")

def eat(self,food):

print("eat" + food)

def say(self):

print("hello! my name is %s,i am %d years

old" %(self.name,self.age))

def __init__(self,name,age,height,weight,money):#构造函数;

#定义属性

self.name = name

self.__age__ = age

self._height = height

self.weight = weight

self.__money = money#不被外部直接访问;相当于_Person__money

#通过内部的方法,去修改私有属性

#通过自定义的方法实现对私有属性的赋值与取值 def setMoney(self,money):#对私有属性的赋值

#数据过滤

if money < 0:

monry = 0

self.__money = money

def getMoney(self):#对私有属性的取值

return self.__money

per = Person("hanmeimei",20,170,68,1000)

per.setMoney(10)

print(per.getMoney())

'''

如果要让内部的属性,不被外部直接访问,在属性前加两个下划线__,

在Python中如果在属性前加两个下划线,那么这个属性就变成私有属性

'''

'''

不能直接访问per.__money是因为python解释器把__money变成

per.__money变成了_Person_money去访问,但是强烈建议不要这么干

注意:不同的解释器可能存在解释的变量不一致。

可以这么访问对象名._类名__私有属性 =

新值

per.__money

'''

#注意:在Python中__xx__这样的属性不是私有属性,这叫特殊变量;特殊变量的值可以直接访问

print(per.__age__)

#在Python中

_xx变量,这样的实例变量外部也是可以访问的,

#但是按照约定的规则,当我们看到这样的变量时,意思是“虽然我可以

#被访问,但是请把我视为私有变量,不要直接访问我"

print(per._height)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值