1.Python
Python是強類型語言,這意味着每個對象都有明確的類型(或類),默許轉換隻能發生在特定的情況下:
>>> a = 4.5
>>> b = 2
>>> a/b
2.25
判斷某個對象是否是某個類的實例,使用 isinstance
函數:
a = 4.5
b = 4
isinstance(a, (int, float))
isinstance(b, (int, float))
2.鴨子類型
通常的,可能不需要知道對象的類型,只關心對象具有哪些方法或用途。通常被稱爲鴨子類型
判斷兩個引用是否指向同一對象:
- 同一引用,使用
is
- 反之用
is not
is
和is not
常用來判斷一個對象是否是None,因爲只有一個None的實例
3.可變類型和不可變類型
- 可變類型:list,dict,Numpy數組,用戶定義的類型(類)
- 不可變類型:數值類型,字符串,元組
int可以存儲任意大的數
4.字符串格式化
{0:.2f}表示格式化第一個參數爲帶有2個小數點的float類型
{1:s}表示格式化第二個參數爲字符串
{2:d}表示格式化第三個參數爲整數
例:
>>>templates = '{0:.2f}{1:s} are worth US${2:d}'
>>>templates.format(4.5660, 'Argentine Pesos', 1)
>>>4.57Argentine Pesos are worth US$1
5.字節和Unicode
在Python3及以上的版本中, Unicode是一級的字符串類型,這樣可以更一致的處理ASCII和Non-ASCII文本。在老的Python版本中,字符串都是字節,不使用Unicode編碼。
- 兩個最流行的Unicode編碼方案是UTF-8和UTF-16
- Unicode是一個簡單的標準,用來把字符映射到數字上。
- Unicode並不告訴你字符是怎麼編碼成字節的。這是被編碼方案決定的,通過UTF來指定。
6.None
- None是Python的空值類型,如果一個函數沒有明確的函數返回值,則默認返回None
- None也常常作爲函數參數的默認值
- None不僅僅是一個保留字,還是NoneType的實例
>>>type(None)
>>>NoneType
7.range
range 函數返回一個迭代器,它產生一個均勻分佈的整數序列
8.三元表達式
value = true-expr if condition else fase-expr
9. str.title
str.title返回str的所有單詞的首字母大寫格式
mgw = 'my name is jack!'
x = mgw.title()
print(x)
My Name Is Jack!
10.柯里化
指通過“部分參數應用”從現有函數派生出新函數的技術。
例如:
有計算兩數相加的函數add_numbers,通過該函數派生出有一個參數的函數 add_five
def add_numbers(x, y):
return x+y
add_five = lambda y: add_numbers(5, y)
print(add_five(6))
>>> 11
add_numbers函數的第二個參數成爲“柯里化的”,內置的functools模塊中的partial函數進行簡化:
from functools import partial
add_five = partial(add_numbers, 5)
print(add_five(6))
>>> 11
12.range和xrange
range返回一個序列,xrange和range類似,但是他是一個生成器,它生成的數是一個個取出,所以xrange的性能更強
range(0,5)
[0, 1, 2, 3, 4]
xrange(0, 5)
xrange(5)
公衆號:一丁點技術