毎日Python学習--issubclass,iter,len,locals,map
2009 ワード
class A:
pass
class B(A):
pass
a=A()
print(issubclass(B,A))#True
print(isinstance(a,A))#True
type(B())==A#False
では、isinstanceとの違いはどこにあるのでしょうか.issubclassはクラスBがクラスAのサブクラスであるか否かを判断し、isinstanceはオブジェクトaが既知のクラスAであるか否かを判断する例であり、前述したようにtypeはクラスを判断してもよいが、継承関係は考慮されない
list_a=[1,2,3,4,5]
for i in iter(list_a):
print(i)
#1
#2
#3
#4
#5
iter()関数詳細ブログ
dict_a = {'num':123,'name':"doiido"}
list_a=[1,2,3,4,5]
tuple_a=(1,2,3,4)
str_a='hello world'
print('len(dict_a) = %s,
len(list_a) = %s,
len(tuple_a) = %s,
len(str_a) = %s
'%(len(dict_a),len(list_a),len(tuple_a),len(str_a)))
# :
len(dict_a) = 2,
len(list_a) = 5,
len(tuple_a) = 4,
len(str_a) = 11
def test_locals(a):
num_a=3
print(locals())
test_locals(2)
#{'num_a': 3, 'a': 2}
def add_x_y(x,y):
return x+y
list(map(add_x_y,[1,2,3,4],[5,6,7,8]))
#[6, 8, 10, 12]
# , ?,
list(map(add_x_y,[1,2,3],[5,6,7,8]))
#[6, 8, 10]
#
次に、匿名関数を使用して関連関数を実装することもできます.
list(map(lambda x,y:x+y, [1,2,3,4],[5,6,7,8]))
最後に、mapとfilter関数を比較します.前者は関数をシーケンスに適用し、後者はFalseの部分をフィルタします.
list(map(lambda n:n>4, [1,2,3,4,5,6,7,8]))
#[False, False, False, False, True, True, True, True]
list(filter(lambda n:n>4, [1,2,3,4,5,6,7,8]))
#[5, 6, 7, 8]