【嵌牛導讀】Python 是一門運用很廣泛的語言,自動化腳本、爬蟲,甚至在深度學習領域也都有 Python 的身影。作為一名前端開發者,也了解 ES6 中的很多特性借鑒自 Python (比如默認參數、解構賦值、Decorator等),同時本文會對 Python 的一些用法與 JS 進行類比。不管是提升自己的知識廣度,還是更好地迎接 AI 時代,Python 都是一門值得學習的語言。
【嵌牛鼻子】python與JS的相似之處
【嵌牛提問】python與JS有哪些相似呢?
【嵌牛正文】
數據類型
在 Python 中,最常用的能夠直接處理的數據類型有以下幾種:
數字[整數(int)、浮點型(float)、長整型(long)、復數(complex)]
字符串(str)
布爾值(bool)
空值(None)
除此之外,Python 還提供了列表[list]、字典[dict] 等多種數據類型,這在下文中會介紹。
類型轉換與類型判斷
與 JS 十分類似,python 也能實現不同數據類型間的強制與隱式轉換,例子如下:
強制類型轉換:
int('3') # 3str(3.14) # '3.14'float('3.14') # 3.14# 區別于 JS 只有 Number 一種類型,Python 中數字中的不同類型也能相互強制轉換float(3) # 3.0bool(3) # Truebool(0) # False隱式類型轉換:
1 + 1.0 # 2.01 + False # 11.0 + True # 2.0# 區別于 JS 的 String + Number = String, py 中 str + int 會報錯1 + '1' # TypeError: cannot concatenate 'str' and 'int' objects
此外寫代碼的時候經常會需要判斷值的類型,可以 使用 python 提供的 type() 函數獲取變量的類型,或者使用 isinstance(x, type) 來判斷 x 是否屬于相應的 type 類型。
type(1.3) == float # Trueisinstance('a', str) # Trueisinstance(1.3, int) # Falseisinstance(True, bool) # Trueisinstance([], list) # Trueisinstance({}, dict) # True有序集合類型
集合是指包含一組元素的數據結構,有序集合即集合里面的元素是是按照順序排列的,Python 中的有序集合大概有以下幾類:list, tuple, str, unicode。
list 類型
Python 中 List 類型類似于 JS 中的 Array,
L = [1, 2, 3]print L[-1] # '3'L.append(4) # 末尾添加元素print L # [1, 2, 3, 4]L.insert(0, 'hi') # 指定索引位置添加元素print L # ['hi', 1, 2, 3, 4]L.pop() # 末尾移除元素 L.pop(2) ?????? 2 ???print L # ['hi', 1, 2, 3]
tuple 類型
tuple 類型是另一種有序的列表,中文翻譯為" 元組 "。tuple 和 list 非常類似,但是,tuple 一旦創建完畢,就不能修改了。
t = (1, 2, 3)print t[0] # 1t[0] = 11 # TypeError: 'tuple' object does not support item assignmentt = (1)print t # 1 t 的結果是整數 1t = (1,) # 為了避免出現如上有歧義的單元素 tuple,所以 Python 規定,單元素 tuple 要多加一個逗號","print t # (1,)
新聞熱點
疑難解答