新聞中心
1、說明

10年積累的做網(wǎng)站、網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有廬陽免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
(1)確保定義類別中的屬性(類別屬性和實(shí)例屬性)名稱是唯一的,即使是同名屬性,也能區(qū)分屬于哪個(gè)類別中的定義屬性。
(2)在屬性名稱前面添加__雙下劃線,后面不添加下劃線,py會(huì)將此屬性轉(zhuǎn)換為_className__attrName。
(3)可視為私有屬性,即對(duì)外暴露的屬性名稱不再是定義的屬性名稱,而是_className__attrName。
(4)使用偽屬性是為了保證唯一性,防止不同子類在多繼承過程中命名相同而產(chǎn)生沖突。
2、實(shí)例
## private.py
class Person:
__template_name = "person instance template name"
def __init__(self,name):
self.__name = name ## __name 屬于Person類,
def get_name(self):
return self.__name
@staticmethod
def get_template_name():
return Person.__template_name
>>> p = Person("keithl")
>>> print(p.get_name())
keithl
>>> print(p._Person__name)
keithl
>>> print(p.__name)
AttributeError: 'Person' object has no attribute '__name'
>>> print(dir(p))以上就是python偽私有屬性的理解,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)python教程
本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。
文章題目:創(chuàng)新互聯(lián)Python教程:python偽私有屬性的理解
轉(zhuǎn)載來源:http://fisionsoft.com.cn/article/coojipo.html


咨詢
建站咨詢
