Python中單下劃線和雙下劃線

2021-10-01 08:24:33 字數 1001 閱讀 4420

python中存在一些特殊的方法,有些方法以雙下劃線 「__」 開頭和結尾,它們是python的魔法函式,比如__init__()和__str__等等。不用要這種方式命名自己的變數或者函式

class a:

def __init__(self, text):

self.text = text

def __str__(self):

return self.text

a = a("test")

print(a) # 輸出test

在前面加上「__」,表示它是私有成員,我們不能直接訪問。比如 「__***」 如果要訪問得通過 _class__*** 的方式進行訪問。雖然不能防止修改私有屬性,但可以有效降低有意或者無意的修改

class a:

def __init__(self):

self.__name = "text"

a = a()

print(a.__name) # 報錯

print(a._a__name) # 輸出text

_***:一種約定,用來指定變數私有。程式設計師用來指定私有變數的一種方式。不能用from module import * 匯入,其他方面和公有一樣訪問。

# a.py

class a:

def __init__(self):

self.text = "a"

class _b:

def __init__(self):

self.text = "b

# test.py

from a import *

a = a()

print(a.__dict__)

b = _b()

print(b.__dict__)

Python中單下劃線和雙下劃線

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

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

函式使用單下劃線 開頭 使用單下劃線 開頭的函式 func不能被模組外部以 from module www.cppcns.comimport 形式匯入。但程式設計客棧可以用 from module import func形式單獨匯入。類屬性和類方法使用單下劃線 開頭 開頭為保護型別的屬性和方法,僅允...

Python單下劃線和雙下劃線

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