標籤:
感覺到刷題寶有一個好處,也許也不是好處,它的答案必須是真正輸出的值,也就是說應該輸出字串aaaa的時候,答案必須寫成介面上返回的值,即‘aaaa‘。有利於真正記憶傳回值類型,但是。。。。太繁瑣了
1.getattr():python自省函數,用於查看某對象是否具有某種屬性並返回屬性值或者末字串,參數格式(一個對象, 屬性名稱字串, 不存在時輸出的字串),舉個例子:
1 class A:2 def __init__(self):3 self.name = ‘hahahaha‘4 a = A()5 print getattr(a, ‘name‘, ‘nonono‘) 6 #如果有name屬性列印name值,如果沒有列印nonono
該函數可以構建簡單的原廠模式,參考資料:
很多不懂呀。。的部落格
python中getattr函數使用方法 getattr實現原廠模式
2.globals():python自省函數,以字典形式列出所有的全域變數,對應的函數是locals()-作用是以字典形式列出函數內所有的局部變數
3.hex():參數格式為數字,作用是將數字轉換為十六進位,傳回值帶十六進位標識0x,格式為字串
4.id():Cpython中對象的記憶體位址
5.int():可以將字串轉換為整數,同時可設定以何種進位轉換,預設是十進位,舉個例子:
int (‘13‘) #以十進位輸出13int (‘13‘, base=5) #輸出5進位13的值,即為8int (‘ff‘, base=16) #輸出16進位的ff的值,即為255
6.issubclass(A, B):判斷A是不是B的子類,實際上是指同一個模組下的類,而不是不同模組下的類。
7.filter(A, B)把傳入的函數A依次作用於B中的每個元素,然後根據傳回值是True還是False決定保留還是丟棄該元素。
1 def is_odd(n):2 #只返回奇數3 return n % 2 == 14 5 filter(is_odd, [1, 2, 4, 5, 6, 9])6 # 結果: [1, 5, 9]
8.map(A, B)把傳入的函數A依次作用於B中的每個元素,將結果輸出,看一個例子分別map和filter:
1 def ixii(x):2 return x != 103 list1 = [1, 2, 4, 10, 20]4 print filter(ixii, list1)5 # 輸出為[1, 2, 4, 20]6 print map(ixii, list1)7 # 輸出為[True, True, True, False, True]
由此可知,map傳回值為return的值,而filter會根據返回的布爾值去除false所對應的項,輸出為處理後的列表
9.reduce():他用來將一個資料集合(鏈表,元組等)中的所有資料進行下列操作:用傳給reduce中的函數 func()(必須是一個二元操作函數)先對集合中的第1,2個資料進行操作,得到的結果再與第三個資料用func()函數運算,最後得到一個結果。這麼說有點繞口,看以下倆個例子就可以明白了:
1 a = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])2 # 該操作等價於下方運算式3 a = ((((1+2)+3)+4)+5)
1 a = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5],6)2 # 等價於:3 a = (((((6+1)+2)+3)+4)+5)
今天暫且做到這裡,有空接著繼續
----python小學生
python部落刷題寶學到的內建函數(二)