python部落刷題寶學到的內建函數(二)

來源:互聯網
上載者:User

標籤:

  感覺到刷題寶有一個好處,也許也不是好處,它的答案必須是真正輸出的值,也就是說應該輸出字串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部落刷題寶學到的內建函數(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.