『壹』 python雙下劃線怎麼打
shift+_兩次,不同編輯器可能顯示會不太一樣。像圖1中那樣沒連起來也是對的,沒有語法錯誤。
『貳』 Python中下劃線是什麼意思
下劃線是一個匿名變數
『叄』 python 單獨一條下劃線代表什麼
#單獨看for_inpositive_examples只是一個臨時的循環變數,因為_是合法的變數名
for_in[1,2,3]:
print(_)
#如果在一起看[0,1]for_inpositive_examples,_還是變數,只是外圍還有東西
#外圍應該還有(),[],{}...
[[0,1]for_inrange(3)]
#上面返回[[0,1],[0,1],[0,1]]
#()返回生成器,而不是列表
『肆』 求問mac版的python為啥打不出下劃線呢每次按shift和下劃線,打出來的都是空格,而不是下
「mac版的python」是啥。。
我寫python腳本都是用文本編輯器(比如vim或sublime text)編輯好源代碼,然後用命令
pythonmy_script.py
執行。沒有「在python里打下劃線」這種操作。。。
『伍』 Python 的class 里的 method的名稱兩邊加下劃線是什麼意思
前後各有兩個下劃線,說明是類的內置方法,用於操作符重載等用途,自己寫的函數避免使用前後兩個下劃線
前面有兩個下劃線,表示偽私有方法,不能在類外用原始名字直接調用
前面一個下劃線,表示自己寫的特殊用途的方法
『陸』 Python 的類的下劃線命名有什麼不同
首先是單下劃線開頭,這個被常用於模塊中,在一個模塊中以單下劃線開頭的變數和函數被默認當作內部函數,如果使用 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 代碼加黃色底 下劃線 什麼意思
在這種情況下,「_」代表互動式解釋器會話中上一條執行的語句的結果。這種用法首先被標准CPython解釋器採用,然後其他類型的解釋器也先後採用。
『捌』 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中的不同的下劃線代表什麼意思呢
下劃線一般有兩種情況:
1、兩邊都有兩個下劃線的情況:這一般是指內建預定義屬性,這種內建預定義屬性。
2、中間一根下劃線:這個命名中兩個單詞的分割線,這個以前OO編程中單詞首字母大寫差不多一個作用,只不過一般python的模塊函數編程會用下劃線分割這種方式。
『拾』 python 中下劃線使用的規范
PEP-8是Python的編程規范,可以看看,Naming Conventions那一節介紹了前/後、單/雙下劃線的用法。