Pythonでよくある面接問題

3793 ワード

[原句]そもそもPythonって何?
  • Pythonは解釈言語です.Pythonコードは実行前にコンパイルする必要はありません.その他の解釈言語にはPHPとRubyも含まれている.
  • Pythonは動的タイプ言語であり、変数を宣言する際に変数を説明する必要のないタイプを指す.
  • Pythonは、クラス(class)を結合(composition)および継承(inheritance)によって定義することをサポートするため、オブジェクト向けのプログラミング(OOP)に非常に適している.
  • Pythonでは説明子(C++のpublicやprivateのような)にアクセスしていないが、このような設計の根拠は「みんな大人だ」ということだ.

  • 2.pythonコードを書き、リスト内の重複要素を削除する
    方法1:
    a = [1, 2, 4, 2, 4, 5, 6, 5]
    b = set(a)
    print(b)

    出力:{1,2,4,5,6}メソッド2:
    a = [1, 2, 4, 2, 4, 5, 6, 5]
    b = {}
    b = b.fromkeys(a)
    c = list(b.keys())
    print(c)

    出力:[1,2,4,5,6]
    3.リストをsortで並べ替えてから、やり直す
    a = [1, 2, 4, 2, 4, 5, 7, 10, 5, 5, 7, 8, 9, 0, 3]
    a.sort()

    出力:[0,1,2,2,3,4,4,5,5,7,7,8,9,10]
    last = a[-1]
    #              
    for i in range(len(a) - 2, -1, -1):
        if last == a[i]:
            del a[i]
        else:
            last = a[i]
    print(a)

    [0, 1, 2, 3, 4, 5, 7, 8, 9, 10]
    4.Pythonのpass文の役割は何ですか.
    pass文では何も実行されません.一般的にはプレースホルダとして使用するか、プレースホルダを作成するwhile False:pass
    5.Pythonのrange()関数の使い方を紹介しますか?
    for i in range(start,stop,step)でよく使用されるデータのセットをリストします.
    6.Pythonではどのように乱数を生成しますか?
    randomモジュール(1)ランダム整数:random.randint(a,b):ランダム整数xを返し、a<=x<=b(2)ランダム値を設定するステップ:random.randrange(start,stop,step):stepの乱数に増分されたステップ長を返します.(3)乱数実数:random.random():0から1までの浮動小数点数を返します(4)指定範囲内の実数を返します:random.uniform(a,b):指定範囲内の浮動小数点数を返します
    7.functionでグローバル変数を設定する方法
    x = 2
    def f():
        global x
        print(x)
        x = 3
    f()
    print(x)

    出力:2 3
    8.配列とメタグループの違いは何ですか.
  • 配列の内容は修正可能であり、メタグループの内容は読み取り専用である.
  • 要素グループは、辞書のキーワードとしてハッシュされ得る.

  • 9.Pythonのlambdaは何ですか.
    これは、コード内の単一の式でよく使用される匿名関数です.
    10.なぜlambdaに文がないのですか?
    匿名関数lambdaに文がないのは、コードが実行されたときに新しい関数オブジェクトを構築して返すために使用されるためです.
    11.Pythonではコンストラクタとは?
    ジェネレータは反復器を実現するメカニズムである.
    12.Pythonでオブジェクトをコピーする方法
    多くの場合copyを使うことができます.copy()またはcopy.deepcopy()ですが、すべてのオブジェクトがコピーできるわけではありません.
    13.数値を文字列に変換する方法
    str()数値を文字列に変換
    参考資料:1.http://www.cnblogs.com/Allen-rg/p/7689435.html 2. http://www.cnblogs.com/Allen-rg/p/7689580.html 3. http://www.cnblogs.com/Allen-rg/p/7693394.html