python有什么隐藏功能_Python的隐藏功能
文章目錄
Python編程語言的鮮為人知的但有用的功能是什么?
嘗試限制Python核心的答案。
每個答案的一個功能
給出一個功能的例子和簡短描述,而不僅僅是文檔的鏈接。
使用標題作為第一行標記該功能。
Quick links to answers:
Chaining comparison operators:>>> x = 5
>>> 1 < x < 10
True
>>> 10 < x < 20
False
>>> x < 10 < x*10 < 100
True
>>> 10 > x <= 9
True
>>> 5 == x > 4
True
如果你認為它正在做1&lt; x,它出現為True,然后比較True&lt; 10,它也是True,那么不會,那真的不會發生什么(參見最后一個例子)。它真的轉化為1&lt; x和x < 10和x < 10和10 < x * 10和x *
10 < 100,但輸入較少,每個術語只評估一次。
獲取python正則表達式分析樹來調試你的正則表達式。
正則表達式是python的一個重要特性,但是調試它們可能是一件痛苦的事情,而正則表達式很容易讓錯誤發生。
幸運的是,python可以通過將未公開的實驗性隱藏標志re.DEBUG(實際上是128)傳遞給re.compile來打印正則表達式分析樹。
/ p>
>>> re.compile("^[font(?:=(?P[-+][0-9]{1,2}))?](.*?)[/font]",
re.DEBUG)
at at_beginning
literal 91
literal 102
literal 111
literal 110
literal 116
max_repeat 0 1
subpattern None
literal 61
subpattern 1
in
literal 45
literal 43
max_repeat 1 2
in
range (48, 57)
literal 93
subpattern 2
min_repeat 0 65535
any None
in
literal 47
literal 102
literal 111
literal 110
literal 116
一旦你理解了語法,你可以發現你的錯誤。在那里,我們可以看到我忘記了在[/ font]中轉義[]。
當然你可以把它和你想要的任何標志結合起來,比如正則表達式:
>>> re.compile("""
^ # start of a line
[font # the font tag
(?:=(?P # optional [font=+size]
[-+][0-9]{1,2} # size specification
))?
] # end of tag
(.*?) # text between the tags
[/font] # end of the tag
""", re.DEBUG|re.VERBOSE|re.DOTALL)
未經作者同意,本文嚴禁轉載,違者必究!
總結
以上是生活随笔為你收集整理的python有什么隐藏功能_Python的隐藏功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python将dataframe导出为c
- 下一篇: 不等式约束的拉格朗日乘数法_Abaqus