Python 基础入门第十一讲 面向对象 私有属性方法 静态属性及方法 类方法 property/setter/deleter装饰器

本文详细介绍了Python面向对象编程中的私有属性和方法,静态属性和方法,类方法,以及property、setter和deleter装饰器的用法。通过实例解析了如何通过装饰器简化对私有属性的访问、修改和删除操作,强调了装饰器在提高代码可读性和直观性上的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第十一讲

一、私有属性及私有方法

所谓私有属性及私有方法,可以简单理解为不想让其他人看到的一些属性和方法,例如:

class Students(object):
	def __init__(self):
		self.age = 18
		self.weight = 120
Amy = Students()
print(Amy.weight)

Amy老脸一红,这体重的属性咋还能被人从外部调出来……尴尬
于是就把它变成私有属性好了,不让别人看见……这么改下

class Students(object):
	def __init__(self):
		self.age = 18
		self.__weight = 120
Amy = Students()
print(Amy.weight)

weight前面加俩杠,再次打印输出就报错了,说找不到该项属性,好使!
但是有时候Amy也要自己看一下自己的体重数据呀,这从外部调不出来咋整,那就设置方法,从外部调用内部方法查看!
我们可以在类里面加一个方法:

class Students(object):
	def __init__(self):
		self.age = 18
		self.__weight = 120
	def find_weight(self):
		print(self.__weight)
Amy = Students()
Amy.find_weight()

这样就可以查看私有属性了!那如果要修改私有属性呢,可以这么写:

class Students(object):
	def __init__(self):
		self.age = 18
		self.__weight = 120
	def find_weight(self):
		print(self.__weight)
	def change_weight(self,new):
		self.__weight = new
Amy = Students()
Amy.change_weight(140)
Amy.find_weight()

这里插一个知识点,.__dir__()内置方法可以查看类里面的方法名和属性名。

属性既然有私有的,方法也有私有的,有些方法不想公开,同样的,在方法前面加两个杠就可以了,比如:

class Demo(object):
	def __init__(self):
		pass
	def test1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值