python中类的用法_Python中类的使用(5私有属性)

class Person(object):

def run(self):

print("run")

def eat(self, food):

print("eat" + food)

def __init__(self,name,age,height,weight,money):

self.name=name

self.age=age

self.height=height

self.weight=weight

self.__money=money #money==_Person__money

#内部可以直接访问加__的属性,外部无法直接访问

#通过自定义的方法实现对私有属性的赋值和取值

def setMoney(self,money):#赋值

#数据过滤

if money<0:

money=0

self.__money=money

def getMoney(self):#取值

return self.__money

#只有在属性前加两个下划线(__),才能变为私有属性,

# 让内部属性不被外部直接访问,

per1=Person("lili",20,175,50,1000)

per1.age=10

print(per1.age)

#per1.money=1000#程序运行时赋值

#print(per1.__money)#外部无法访问

per1.setMoney(100) #修改money的值,等同于per1._Person__money=100

per1.getMoney()

print(per1.getMoney())

#不能直接访问per.__money是因为Python解释器把__money变为了

# _Person__money,仍然可以用_Person__money去访问,只是不建议使用

# 不同版本的解释器可能存在解释的变量名不一致

# per1._Person__money=1#可以直接修改内部money的值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值