‘壹’ 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那一节介绍了前/后、单/双下划线的用法。