Python下劃線用法

2021-10-25 06:41:19 字數 1289 閱讀 4159

1.表示僅供內部使用,但實際上仍然可以被直接訪問。

class

person

:def

__init__

(self)

: self.func(

) self._age=

18def

func

(self)

:print

('human'

)class

man(person)

:def

func

(self)

:print

("mike"

)t=man(

)print

(t._age)

輸出:

mike

18

2.如果用from moudle import *匯入模組,會報錯,需要使用__all__ = [「***」,「***」]來匯入

demo1

def

_name()

:print

('human'

)

demo2

from demo1 import

*_name(

)

輸出:

nameerror: name '_age'

isnot defined

普通的變數名,通常用來避免和python的內建變數名產生衝突

1.不可被from moudle import *直接匯入,同前置單下劃線

2.表明是私有屬性,只能在當前類中被呼叫,外部、子類都無法呼叫和繼承

class

person

:def

__func

(self)

:print

('human'

)class

man(person)

:def

__init__

(self)

: self.__func(

)man(

)

輸出:

attributeerror:

'man'

object has no attribute '_man__func'

表示python裡特殊方法專用的標識,如__init__和__dict__

一般不建議這樣命名

Python單下劃線和雙下劃線

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

Python 單下劃線和雙下劃線解析

單下劃線 單下劃線開始的成員變數叫做保護變數,意思是只有類物件和子類物件自己能訪問到這些變數 雙下劃線 開始的是私有成員,意思是只有類物件自己能訪問,連子類物件也不能訪問到這個資料。如下列所示 以單下劃線開頭 foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from impo...

Python中單下劃線和雙下劃線

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