真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python私有屬性和方法怎么獲取

今天小編給大家分享一下python私有屬性和方法怎么獲取的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

成都創(chuàng)新互聯(lián)公司專注于雨花網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供雨花營(yíng)銷型網(wǎng)站建設(shè),雨花網(wǎng)站制作、雨花網(wǎng)頁(yè)設(shè)計(jì)、雨花網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造雨花網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供雨花網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。

一般來(lái)說(shuō),私有屬性和方法無(wú)法從外部直接獲得,也不能繼承

注:私有屬性和方法就是在前加上兩道下劃線

  • 舉個(gè)栗子 -- 私有封裝前后對(duì)比

class A:
	# 原屬性
	aa = 1
	# 私有屬性
	__bb = 2
	
	# 初始化
	def __init__(self, num1, num2):
		self.num1 = num1
		self.num2 = num2
	
	# 普通方法
	def get_func(self):
		return self.num1
	
	# 私有方法
	def __get_num2(self):
		return self.num2
	

obj = A(10, 20)
# 訪問(wèn)公有屬性
print(obj.aa)
# 訪問(wèn)私有屬性  -- 結(jié)果報(bào)錯(cuò)
print(obj.bb)
# 訪問(wèn)公有方法
print(obj.get_public_num())
# 訪問(wèn)私有方法  -- 結(jié)果報(bào)錯(cuò)
print(obj.__get_private_num())
  • 輸出結(jié)果

>>>print(obj.aa) # 訪問(wèn)公有屬性
>>>1
>>>print(obj.bb) # 訪問(wèn)私有屬性  -- 結(jié)果報(bào)錯(cuò)
>>> AttributeError: 'A' object has no attribute 'bb'
>>># 訪問(wèn)公有方法
>>>10
>>>print(obj.__get_private_num()) # 訪問(wèn)私有方法  -- 結(jié)果報(bào)錯(cuò)
>>>AttributeError: 'A' object has no attribute '__get_private_num'

可以看到二者的變化,私有屬性和方法無(wú)法通過(guò)原有方法從實(shí)例對(duì)象處獲得

但是你覺(jué)得這樣就真的安全了嗎?

答案是否定的,有一件事我們要明白: ==沒(méi)有絕對(duì)安全的語(yǔ)言==

為什么,讓我們換個(gè)訪問(wèn)方法訪問(wèn),來(lái)看下面這個(gè)例子:

>>> print(obj._A__get_private_num())
>>> 20

結(jié)果顯示,通過(guò)

實(shí)例對(duì)象._當(dāng)前類名__屬性/方法

的方法我們可以從外部實(shí)例對(duì)象處獲取到私有屬性和方法,值得一提的是,即使是繼承的子類也是可以的。

這反映出在語(yǔ)言層面來(lái)講沒(méi)有絕對(duì)的安全,只是python的突破方法比較簡(jiǎn)單而已。但一般設(shè)計(jì)者往往會(huì)在類中添加一些方法來(lái)查看和修改私有屬性與方法,按照規(guī)范,查看私有屬性的方法多命名為 get_xx( ), 修改私有屬性的方法多命名為 set__xx()

以上就是“python私有屬性和方法怎么獲取”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


本文名稱:python私有屬性和方法怎么獲取
文章轉(zhuǎn)載:http://weahome.cn/article/gscjoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部