导航:首页 > 编程语言 > 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中以下划线开始的函数相关的资料

热点内容
控制面板命令行 浏览:41
为什么空气难压缩是因为斥力吗 浏览:641
郭天祥单片机实验板 浏览:599
服务器有什么危害 浏览:256
饥荒怎么开新的独立服务器 浏览:753
文件夹变成了 浏览:560
linuxpython绿色版 浏览:431
怎么下载小爱同学音箱app 浏览:554
python占位符作用 浏览:76
javajdbcpdf 浏览:543
php网页模板下载 浏览:192
python试讲课pygame 浏览:409
安居客的文件夹名称 浏览:677
家里服务器如何玩 浏览:451
网站源码使用视频 浏览:748
stc89c52单片机最小系统 浏览:452
邮件安全证书加密 浏览:416
云服务器如何访问百度 浏览:279
常州电信服务器dns地址 浏览:839
用小方块制作解压方块 浏览:42