毎日Python学習--issubclass,iter,len,locals,map

2009 ワード

  • issubclass(class,classinfo):パラメータclassがタイプパラメータclassinfo(直接、間接または仮想)のサブクラスであるかどうかを判断します.戻り値:classがclassinfoのサブクラスである場合はTrueを返します.そうでない場合はFalseを返します.
  • 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はクラスを判断してもよいが、継承関係は考慮されない
  • iter(object[,sentinel]):反復可能なオブジェクトの要素を遍歴するために反復器を生成するために使用され、2番目の実パラメータsentinelがある場合、objectは呼び出し可能なオブジェクトである必要があります.
  • list_a=[1,2,3,4,5]
    for i in iter(list_a):
        print(i)
    #1
    #2
    #3
    #4
    #5
    

    iter()関数詳細ブログ
  • len(s):戻りオブジェクト(文字、リスト、メタグループなど)の長さまたは項目数
  • .
    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
  • locals():globals関数に対応し、現在の位置のローカル変数
  • を辞書形式で返す.
    def test_locals(a):
        num_a=3
        print(locals())
        
    test_locals(2)
    #{'num_a': 3, 'a': 2}
    
  • map(function, iterable, ...):指定されたシーケンスiterableは、指定された関数functionに従ってマッピングされ、複数のiterableを提供する場合、functionは、提供された関数のうち
  • を使用するために、これらの実パラメータを受け入れる必要がある.
    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]