語法: 函數名 = lambda 參數:返回值數組
f = lambda n: n ** 2 print(f(10)) # 100
print(f.__name__) # <lambda>
注:匿明函數並非說必定沒有名字。上面f就是一個函數名。說他是匿明緣由是經過__name__查看的時候是沒有名字的。統一叫lambda。在調用時沒有特別之處,像正常函數調用便可。函數
語法:sorted(Iterable, key=None, reverse=False)spa
lst = [1, 4, 6, 8, 4, 9, 10] print(sorted(lst)) # [1, 4, 4, 6, 8, 9, 10]
與函數組合使用設計
lst = [ {"name": "電腦", "price": 6000}, {"name": "手錶", "price": 4000}, {"name": "耳機", "price": 1000} ] def func(dic): return dic["price"] print(sorted(lst, key=func)) 結果: [{'name': '耳機', 'price': 1000}, {'name': '手錶', 'price': 4000}, {'name': '電腦', 'price': 6000}]
與lambda組合使用code
lst = [ {"name": "電腦", "price": 6000}, {"name": "手錶", "price": 4000}, {"name": "耳機", "price": 1000} ] print(sorted(lst, key=lambda dic:dic["price"])) 結果: [{'name': '耳機', 'price': 1000}, {'name': '手錶', 'price': 4000}, {'name': '電腦', 'price': 6000}]
語法:filter(function, Iterable)對象
portfolio = [ {'name': 'IBM', 'shares': 100, 'price': 91.1}, {'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'FB', 'shares': 200, 'price': 21.09}, {'name': 'HPQ', 'shares': 35, 'price': 31.75}, {'name': 'YHOO', 'shares': 45, 'price': 16.35}, {'name': 'ACME', 'shares': 75, 'price': 115.65} ] lst = list(filter(lambda dic: dic["price"] > 100, portfolio)) print(lst) 結果: [{'name': 'AAPL', 'shares': 50, 'price': 543.22}, {'name': 'ACME', 'shares': 75, 'price': 115.65}
語法:map(function, Iterable)blog
lst1 = [1, 2, 3, 4, 5] lst2 = [2, 4, 6, 8, 10] print(list(map(lambda x, y: x + y, lst1, lst2))) 結果: [3, 6, 9, 12, 15]
class Base: pass class Foo(Base): pass class Bar(Foo): pass print(issubclass(Bar, Foo)) # True print(issubclass(Foo, Bar)) # False print(issubclass(Bar, Base)) # True
print(type("hello")) # <class 'str'> class Person(object): pass obj = Person() print(type(Person)) # <class 'type'> print(type(obj)) # <class '__main__.Person'>
class Animal: pass class Cat(Animal): pass class Persian_Cat(Cat): pass kitty = Cat() print(isinstance(kitty, Cat)) # True print(isinstance(kitty, Persian_Cat)) # False print(isinstance(kitty, Animal)) # True