python中單下劃線 和雙下劃線(

2022-09-27 06:21:09 字數 1051 閱讀 3415

函式使用單下劃線_開頭

使用單下劃線(_)開頭的函式_func不能被模組外部以: from module www.cppcns.comimport *形式匯入。

但程式設計客棧可以用:from module import _func形式單獨匯入。

類屬性和類方法使用單下劃線_開頭

_開頭為保護型別的屬性和方法,僅允許類內部和子類訪問,類例項無法訪問此屬性和方法。

類屬性和類方法使用雙下劃線__開頭

__開頭為私有型別屬性和方法,僅允許類內部訪問,類例項和派生類均不能訪問此屬性和方法。

所以雙劃線比單劃線許可權更嚴格。

補充說明

對於__開頭的屬性和方法如果派生類一定要訪問,使用單下劃線+基類名+雙下劃線開頭的屬性和方法的形式,

且雙下劃線開頭的屬性和方法後面最多只能以乙個單下劃線結束,否則也無法訪問。

class basecwww.cppcns.comls:

def __init__(self, name, age, nick_name):

self.name = name

self.__nick_name_ = nick_name # __nick_name後面最多以乙個_結束,否則通過基類名混淆的方式也無法訪www.cppcns.com問了。

self.age = age

class subcls(basecls):

def __init__(self, name, age, addr, nick_name):

super().__init__(name, age, nick_name)

self.addr = addr

self.a_nick_name = self._basecls__nick_name_

總結以上所述是小編給大家介紹的python中單下劃線(_)和雙下劃線(__)的特殊用法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們**的支援!

本文標題: python中單下劃線(_)和雙下劃線(__)的特殊用法

本文位址: /jiaoben/python/270932.html

Python中單下劃線和雙下劃線

python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。class a def init self,text self.text text def str self return self...

Python中單下劃線和雙下劃線

雙下劃線開頭和結尾 python中存在一些特殊的方法,有些方法以雙下劃線 開頭和結尾,它們是python的魔法函式,比如 init 和 str 等等。不用要這種方式命名自己的變數或者函式。classa def init self,text self.text text def str self re...

Python單下劃線和雙下劃線

python 用下劃線作為變數字首和字尾指定特殊變數。不能用 from moduleimport 匯入 系統定義名字 類中的私有變數名 核心風格 避免用下劃線作為變數名的開始。因為下劃線對直譯器有特殊的意義,而且是內建識別符號所使用的符號,我們建議程式設計師避免用下 劃線作為變數名的開始。一般來講,...