導航:首頁 > 編程語言 > python中以下劃線開始的函數

python中以下劃線開始的函數

發布時間:2022-07-26 18:19:17

python里的雙下劃線函數都是什麼意思

python的內置函數,比如構造函數啥的

❷ python中以下劃線開頭的變數名的含義

_xx:前面單個下劃線,私有化屬性或方法,變數不能被外部直接調用
__xx:前面兩條下劃線,私有化屬性或方法,無法在外部直接訪問,只允許類本身調用
__xx__:前後兩條下劃線,系統定義名字,對Python 來說有特殊用途
xx_:後面單條下劃線,用於避免與Python關鍵詞的沖突

❸ python 中的"_,"問題

在python中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。python中的標識符是區分大小寫的。
----這是知識背景------
但是通常python的變成習慣以下劃線開頭的標識符是有特殊意義的。以單下劃線開頭(_foo)的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用「from xxx import *」而導入;以雙下劃線開頭的(__foo)代表類的私有成員;以雙下劃線開頭和結尾的(__foo__)代表python里特殊方法專用的標識,如__init__()代表類的構造函數。

在交互模式下運行python時,一個下劃線字元(_)是特殊標識符,它保留了表達式的最後一個計算結果。

>>> "hello"
'hello'
>>> _
'hello'
>>> 10+10
20
>>> _
20

在python中,函數、類、模塊定義的第一段代碼如果是字元串的話,就把它叫作文件字串,可通過__doc__屬性訪問。如:

def test():
"this is a document string"

return 100+1000

>>>print test.__doc__
this is a document string

❹ Python 的類的下劃線命名有什麼不同

1,以一個下劃線開頭的命名 ,如_getFile
2,以兩個下劃線開頭的命名 ,如__filename
3,以兩個下劃線開頭和結尾的命名,如 __init__()
4,其它
這些命名有什麼不同嗎
首先是單下劃線開頭,這個被常用於模塊中,在一個模塊中以單下劃線開頭的變數和函數被默認當作內部函數,如果使用 from a_mole import * 導入時,這部分變數和函數不會被導入。不過值得注意的是,如果使用 import a_mole 這樣導入模塊,仍然可以用 a_mole._some_var 這樣的形式訪問到這樣的對象。

在 Python 的官方推薦的代碼樣式中,還有一種單下劃線結尾的樣式,這在解析時並沒有特別的含義,但通常用於和 Python 關鍵詞區分開來,比如如果我們需要一個變數叫做 class,但 class 是 Python 的關鍵詞,就可以以單下劃線結尾寫作 class_。

雙下劃線開頭的命名形式在 Python 的類成員中使用表示名字改編 (Name Mangling),即如果有一 Test 類里有一成員 __x,那麼 dir(Test) 時會看到 _Test__x 而非 __x。這是為了避免該成員的名稱與子類中的名稱沖突。但要注意這要求該名稱末尾沒有下劃線。

雙下劃線開頭雙下劃線結尾的是一些 Python 的「魔術」對象,如類成員的 __init__、__del__、__add__、__getitem__ 等,以及全局的 __file__、__name__ 等。 Python 官方推薦永遠不要將這樣的命名方式應用於自己的變數或函數,而是按照文檔說明來使用。

另外單下劃線開頭還有一種一般不會用到的情況在於使用一個 C 編寫的擴展庫有時會用下劃線開頭命名,然後使用一個去掉下劃線的 Python 模塊進行包裝。如 struct 這個模塊實際上是 C 模塊 _struct 的一個 Python 包裝。

更多關於命名的內容可以參考 PEP 8 《代碼風格指南》的 Name Conventions 一節:http://www.python.org/dev/peps/pep-0008/

需要說明的是,由於這份文檔看起來經過多次修改,雙下劃線開頭的用法似乎曾經如 @makestory 所說,建議為類的私有成員,至少啄木鳥社區的 PEP 8 譯文是這樣寫的,但 PEP 8 當前的官方版本中並沒有體現。

❺ 在python中 帶下劃線的片語 例如screen_width是屬於什麼東西 python本身就認識他嗎

以下劃線開始或者結束的標識符通常有特殊的意義,例如
1,你想讓它成為私有的就可以在前面加兩個下劃線;
2,以一個下劃線開始的,如"_foo",不能用 from mole inport * 語句導入;
3,前後均有兩個下劃線的標識符如 "__init__",被特殊方法保留,也就是你說的本身就認識。
你可以下載本python精要參考.pdf看看~~
大概就是這樣。我的不讓復制 = =

❻ 為什麼python有的命名以下劃線開始

python 下劃線,雙下劃線含義
Python 用下劃線作為變數前綴和後綴指定特殊變數。

_xxx 不能用'from mole import *'導入
__xxx__ 系統定義名字
__xxx 類中的私有變數名

核心風格:避免用下劃線作為變數名的開始。

❼ Python中的下橫線是什麼意思

Python中的下橫線是什麼意思

下劃線一般有兩種情況:

1、兩邊都有兩個下劃線的情況:這一般是指內建預定義屬性,這種內建預定義屬性。

2、中間一根下劃線:這個命名中兩個單詞的分割線,這個以前OO編程中單詞首字母大寫差不多一個作用,只不過一般python的模塊函數編程會用下劃線分割這種方式。

更多技術請關注Python視頻教程。

❽ 為什麼Python私有函數會以兩個下劃線開始

這是別人規定的,為什麼,想知道為什麼你要去問設計這個語言的人。

❾ python下劃線開頭的模塊在哪裡

可以查找一下_socket.py

或者換PyCharm,按Ctrl+滑鼠左鍵就找到了。

內容如下:

#encoding:utf-8
#mole_socket
#from(pre-generated)
#bygenerator1.145
"""
.

.
"""
#noimports

#Variableswithsimplevalues

AF_APPLETALK=16
AF_DECnet=12
AF_INET=2
AF_INET6=23
AF_IPX=6
AF_IRDA=26
AF_SNA=11
AF_UNSPEC=0

AI_ADDRCONFIG=1024
AI_ALL=256
AI_CANONNAME=2
AI_NUMERICHOST=4
AI_NUMERICSERV=8
AI_PASSIVE=1
AI_V4MAPPED=2048

EAI_AGAIN=11002
EAI_BADFLAGS=10022
EAI_FAIL=11003
EAI_FAMILY=10047
EAI_MEMORY=8
EAI_NODATA=11001
EAI_NONAME=11001
EAI_SERVICE=10109
EAI_SOCKTYPE=10044

has_ipv6=True

INADDR_ALLHOSTS_GROUP=-536870911

INADDR_ANY=0
INADDR_BROADCAST=-1
INADDR_LOOPBACK=2130706433

INADDR_MAX_LOCAL_GROUP=-536870657

INADDR_NONE=-1

INADDR_UNSPEC_GROUP=-536870912

IPPORT_RESERVED=1024
IPPORT_USERRESERVED=5000

IPPROTO_ICMP=1
IPPROTO_IP=0
IPPROTO_RAW=255
IPPROTO_TCP=6
IPPROTO_UDP=17

IPV6_CHECKSUM=26
IPV6_DONTFRAG=14
IPV6_HOPLIMIT=21
IPV6_HOPOPTS=1

IPV6_JOIN_GROUP=12

IPV6_LEAVE_GROUP=13

IPV6_MULTICAST_HOPS=10
IPV6_MULTICAST_IF=9
IPV6_MULTICAST_LOOP=11

IPV6_PKTINFO=19
IPV6_RECVRTHDR=38
IPV6_RECVTCLASS=40
IPV6_RTHDR=32
IPV6_TCLASS=39

IPV6_UNICAST_HOPS=4

IPV6_V6ONLY=27

IP_ADD_MEMBERSHIP=12

IP_DROP_MEMBERSHIP=13

IP_HDRINCL=2

IP_MULTICAST_IF=9
IP_MULTICAST_LOOP=11
IP_MULTICAST_TTL=10

IP_OPTIONS=1
IP_RECVDSTADDR=25
IP_TOS=3
IP_TTL=4

MSG_BCAST=1024
MSG_CTRUNC=512
MSG_DONTROUTE=4
MSG_MCAST=2048
MSG_OOB=1
MSG_PEEK=2
MSG_TRUNC=256
MSG_WAITALL=8

NI_DGRAM=16
NI_MAXHOST=1025
NI_MAXSERV=32
NI_NAMEREQD=4
NI_NOFQDN=1
NI_NUMERICHOST=2
NI_NUMERICSERV=8

RCVALL_MAX=3
RCVALL_OFF=0
RCVALL_ON=1
RCVALL_SOCKETLEVELONLY=2

SHUT_RD=0
SHUT_RDWR=2
SHUT_WR=1

SIO_KEEPALIVE_VALS=2550136836

SIO_LOOPBACK_FAST_PATH=2550136848

SIO_RCVALL=2550136833

SOCK_DGRAM=2
SOCK_RAW=3
SOCK_RDM=4
SOCK_SEQPACKET=5
SOCK_STREAM=1

SOL_IP=0
SOL_SOCKET=65535
SOL_TCP=6
SOL_UDP=17

SOMAXCONN=2147483647
SO_ACCEPTCONN=2
SO_BROADCAST=32
SO_DEBUG=1
SO_DONTROUTE=16
SO_ERROR=4103
SO_EXCLUSIVEADDRUSE=-5
SO_KEEPALIVE=8
SO_LINGER=128
SO_OOBINLINE=256
SO_RCVBUF=4098
SO_RCVLOWAT=4100
SO_RCVTIMEO=
SO_REUSEADDR=4
SO_SNDBUF=4097
SO_SNDLOWAT=4099
SO_SNDTIMEO=4101
SO_TYPE=4104
SO_USELOOPBACK=64

TCP_MAXSEG=4
TCP_NODELAY=1

……
閱讀全文

與python中以下劃線開始的函數相關的資料

熱點內容
linuxpython綠色版 瀏覽:429
怎麼下載小愛同學音箱app 瀏覽:552
python佔位符作用 瀏覽:76
javajdbcpdf 瀏覽:541
php網頁模板下載 瀏覽:190
python試講課pygame 瀏覽:407
安居客的文件夾名稱 瀏覽:677
家裡伺服器如何玩 瀏覽:449
網站源碼使用視頻 瀏覽:746
stc89c52單片機最小系統 瀏覽:452
郵件安全證書加密 瀏覽:416
雲伺服器如何訪問百度 瀏覽:279
常州電信伺服器dns地址 瀏覽:839
用小方塊製作解壓方塊 瀏覽:42
圖像壓縮編碼實現 瀏覽:68
特色功能高拋低吸線副圖指標源碼 瀏覽:71
西方哲學史pdf羅素 瀏覽:874
python最常用模塊 瀏覽:184
溫州直播系統源碼 瀏覽:112
程序員在上海買房 瀏覽:384