Python的冷知識
之前看到一個文章,講的是一些關於Python的冷知識,有興趣的可以看一下喲~
省略號也是物件
在Python中,一切皆物件,
...
也不例外。在Python3中
...
叫做Ellipsis。
>>> type(...)
<class 'ellipsis'>
而在python2中沒有
…
這個語法。只能直接使用Ellipsis來獲取:
>>> type(Ellipsis)
<class 'ellipsis'>
它轉為布林值時為真:
>>> bool(...)
True
那麼這個
...
到底有什麼用呢,據說它是Numpy的語法糖,不使用Numpy的人可以說是沒什麼用了。
或者你可以使用 … 代替 pass ,如:
def test():
pass
# 可以替換成
def test():
...
類首字母不一定是大寫
在正常情況下,我們所編寫的所見到的程式碼,好像都默許了類名首字母大寫,而例項用小寫的這一準則。但這並不是強制性的,即使你反過來的也沒有關係。
但有一些內建的類,首字母都是小寫,而例項都是大寫。
比如 bool 是類名,而 True,False 是其例項;
比如 ellipsis 是類名,Ellipsis是例項;
還有 int,string,float,list,tuple,dict 等一系列資料型別都是類名,它們都是小寫。
增量賦值的效能更好
諸如
+=
和
*=
這些運算子,叫做增量賦值運算子。
這裡使用用
+=
舉例,以下兩種寫法,在效果上是等價的。
# 第一種
a = 1 ; a += 1
# 第二種
a = 1; a = a + 1
+=
其背後使用的魔法方法是
__iadd__
,如果沒有實現這個方法則會退而求其次,使用
__add__
。
這兩種寫法有什麼區別呢?
用列表舉例 a += b,使用
__iadd__
的話就像是使用了a.extend(b),如果使用
__add__
的話,則是 a = a+b,前者是直接在原列表上進行擴充套件,而後者是先從原列表中取出值,在一個新的列表中進行擴充套件,然後再將新的列表物件返回給變數,顯然後者的消耗要大些。
所以在能使用增量賦值的時候儘量使用它。
and 和 or 的取值順序
and 和 or 是我們再熟悉不過的兩個邏輯運算子。而我們通常只用它來做判斷,很少用它來取值。
如果一個or表示式中所有值都為真,Python會選擇第一個值,而and表示式則會選擇第二個。
>>>(1 or 10) * (2 and 5)
5 # 1*5
如何修改直譯器提示符
正常情況下,我們在終端下執行Python 命令是這樣的。
>>> for i in range(3):
... print (i)
...
1
2
其實
>>>
和
...
這兩個提示符也是可以修改:
>>> import sys
>>> sys.ps1
'>>> '
>>> sys.ps2
'... '
>>>
>>> sys.ps2 = '................'
>>> sys.ps1 = 'aaa>>>'
aaa>>>for i in range(3):
................ print (i)
................
0
1
2
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69908432/viewspace-2659910/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 有趣的8個IT冷知識
- 你所不知道的 Python 冷知識!(建議收藏)Python
- JavaScript 有趣的冷知識:模板字串JavaScript字串
- 你所不知道的 Python 冷知識!(二)(建議收藏)Python
- JavaScript 有趣的冷知識:tagged template literalsJavaScript
- HTTP協議冷知識大全HTTP協議
- 蘋果產品冷知識蘋果
- 前端冷知識(持續更新2020.12.13)前端
- Spring 冷知識:一個提前 AOP 的機會Spring
- Flutter冷知識 | 獲取dart的print內容FlutterDart
- 關於flex-shrink如何計算的冷知識Flex
- 冷知識:數學常數“e”的傳奇故事
- 帶你深入理解 Flutter 中的字型“冷”知識Flutter
- 6個冷門但實用的pandas知識點
- 這些鮮為人知的前端冷知識,你都GET了嗎?前端
- 十個關於網際網路圈的冷知識
- 初識python必知的6個知識點Python
- PHP程式設計師遇到問題的冷門知識點PHP程式設計師
- 冷門前端知識,介紹雙執行緒的小程式!前端執行緒
- Python知識體系-Python2基礎知識Python
- Python小知識Python
- Python知識梳理Python
- Python知識概括Python
- Nginx中關於虛擬主機的一點冷門知識Nginx
- Python知識點(二)Python
- Python知識點(一)Python
- python基礎知識Python
- python 基礎知識Python
- 遊戲冷知識——遊戲血條:我們與死亡的距離遊戲
- Python入門必知的知識點!Python基礎入門Python
- Python學習-字串的基本知識Python字串
- python中pandas的知識點整理Python
- 錯錯錯!這些你絕對不知道的手機冷知識!
- 前端的一些坑,一些記錄,一些冷知識前端
- 【Python基礎知識】Python中的while語句PythonWhile
- Python基礎知識1Python
- python入門基本知識Python
- Python基礎知識整理Python