Pythonのインタビューでは、多くの場合、10個の質問をします

知識に基づいて多くの人が仕事を探してPYTHON、インタビューは多くの場合、ピット鉱山

Pythonは近年、機械学習、クラウドコンピューティングなどの技術の発展に伴い、Pythonの仕事はますます高く要求する、非常に人気のあるプログラミング言語です。ここで私は10 Pythonのインタビュアーが頻繁にあなたの参照の研究のための質問を集めています。
PSは:また、Pythonのを学習する過程で多くの人が、そこには一つの良いチュートリアルではありませんか、あきらめて自分自身が簡単にリードガイド、と私はPythonの交換ドレス建てが多いので:長い時間と軍事をしばらく思考の流れ(番号同音異義語の下に)変換を見つけることができる、新しいPythonのチュートリアルプロジェクトがあります取ることができ、私は内部の人々とのより多くの交流がああを解決する問題を理解していません!

1、クラスの継承

以下のコード:

クラス(オブジェクト):  
    DEF(自己)を表示:  
        印刷'ベースのショー'   
クラスB(A):  
    DEF(自己)を表示:  
        印刷'派生ショー'  
 
OBJ = B()  
obj.show() 
の呼び出しクラスAを表示する方法移動するための方法。

ここに方法は次のとおりです。

.__ class__ = Aobj.show OBJ() 
__class__方法ポイントはクラスオブジェクトに、唯一の方法ショーを呼び出し、その後、彼に割り当てタイプAを得たが、私は戻って修正を実行して覚えています。

図2に示すように、オブジェクトのメソッド

質問:実行するためのコード、どのようなコードを増加させる必要性を以下の作品を作るためには?

クラスA(オブジェクト): 
    DEF __init __(自己、A、B): 
        自己.__ A = A 
        セルフ.__ B = B 
    DEF myPrint(セルフ): 
        印刷する'A ='、自己.__ A、B '='、自己.__ B 
A = A1(10,20) 
a1.myprint() 
A1(80) 
答え:オブジェクトのインスタンスを可能にするために直接呼び出すことができ、方法の__call__を実装する必要が

クラスA(オブジェクト): 
    デフ__init __(自己、B): 
        自己.__ = 
        自己.__ B = B 
    :DEF myprint(自己) 
        印刷'='、自己.__、 'B ='、自己.__ Bを 
    デフ__call __(自己、NUM): 
        プリント'コール:'、NUM +自己.__ 
3、新しい和のinit

どのような次のコードを出力?

クラスB(オブジェクト):  
    DEF FN(自己):  
        プリント'B FN'  
    デフ__init __(自己):  
        プリント"B INIT"  
 
クラスA(オブジェクト):  
    DEF FN(自己):  
        プリント'A FN'  
 
    DEF __new __(CLS、 A):  
            プリント"NEW"、  
            もし> 10:  
                リターン・スーパー(A、CLS).__新しい__(CLS)  
            リターンB()  
 
    デフ__init __(自己):  
        プリント"INIT"、  
 
A1 = A(5)  
a1.fn()  
A2 = A(20)  
a2.fn() 
答案:

5 NEW 
B INIT 
BのFn 
NEW 20 
INIT 20は 
AのFn 
使用__new__方法は、単一の実施形態、工場設計パターンモードで使用することができ、オブジェクトを作成する前に、すなわち、そのオブジェクトを返すように決定することができます。__init__は、オブジェクトが呼び出される作成することです。

4、Pythonのリストと生成辞書

どのような次のコードを出力?

LS = [1,2,3,4]  
LIST1 = [I iに対するLSにおけるiが> 2場合]  
LIST1印刷  
[iが> 2あればLSにiに対するI * 2] = LIST2を  
LIST2印刷  
 
dic1 = {X:Xは* *(2、4、6)中のX 2}  
dic1印刷  
 
dic2 = {X(2、4、6)xの'アイテム' + STR(X ** 2)}  
dic2印刷  
 
xのSET1 = {Xを「ハロー、世界でない場合は「低レベル」}中のx  
印刷SET1 
答案:

[3 ,. 4]   
[6 ,. 8] 
{2 :. 4 ,. 4:16 ,. 6:36} 
{2 'ITEM4' ,. 4: 'item16' ,. 6 'item36'} 
SET([ 'H'、 ' R&LT '' D「]) 
。5、グローバルとローカル変数

どのような次のコードを出力?

= 9 NUM。   
DEF F1():  
    NUM = 20である  
 
)DEF F2(:  
    NUM印刷  
 
F2を()  
F1()  
F2() 
回答

9  

numが変更したい場合は、各機能は、私のコピーNUM、NUMを得たので、あなたはグローバルキーワードステートメントを使用する必要があり、グローバル変数ではありません。以下の例

= 9 NUM。  
DEF F1():  
    グローバルNUM  
    NUM = 20である  
DEF F2():  
   印刷NUM  
F2()  
F1()  
F2()  
プリント:  
#9  
第20位である 
6、二つの変数の交換価値。

二つの変数のコード値の交換ライン

8 = A  
。B = 9 
回答:

(A、B)=(B、A) 
。7、デフォルトメソッド

次のコード

クラス(オブジェクト):  
    DEF __init __(自己、A、B):  
        self.a1 = A  
        self.b1 B =  
        'INIT'印刷  
    DEF MyDefault(セルフ):  
        印刷する'デフォルト'  
 
A1 = A(10,20)  
A1。 FN1()  
a1.fn2()  
a1.fn3() 
メソッドFN1 / FN2 / FN3定義されていない、コードが追加され、ないが定義されている方法はmydefault関数を呼び出し、上記のコードがされる出力

defaultdefaultdefault 
答案:

クラス(オブジェクト): 
    DEF __init __(自己、A、B):  
        self.a1 = A  
        self.b1 B =  
        'INIT'印刷  
    DEF MyDefault(セルフ):  
        印刷する'デフォルト'  
    DEF __getattr __(自己、名):  
        リターン・セルフ.mydefault  
 
A1 = A(10、20)  
a1.fn1()  
a1.fn2()  
a1.fn3() 
メソッド__getattr__全く定義されたメソッド呼び出しが存在しない場合にのみ、彼を呼んでいます。パラメータFN1方法を渡すとき、私たちは、互換性のmydefaultの方法であることが*引数に変数パラメータを追加することができます。

クラスA(オブジェクト):  
    デフ__init __(自己、B):  
        self.a1 = A  
        self.b1 = B  
        印刷'INIT'  
    DEF mydefault(自己、*引数):  
        プリント'デフォルト:' + STR(引数[0 】)  
    DEF __getattr __(自己、名):  
        印刷"他のFN:"、名前  
        戻りself.mydefault 
 
 
A1 = A(10,20)  
a1.fn1(33)  
a1.fn2( 'こんにちは')  
a1.fn3(10) 
8、包管理

demopackインポートからの三つのモジュール、mod1.py、mod2.py、mod3.pyが、使用したバッグは*インポートモジュールは、次のことを確認する方法だけMOD1、MOD3が導入されました。

答え:増加__init__.pyファイル、およびファイルの増加:

= __all__ [ 'MOD1'、 'MOD3']である 
。9、閉鎖

関数を書く整数nは、リターン機能をとり、関数は、関数のパラメータの関数であり、nを乗算した結果を返します。

回答:

DEF mulby(NUM):  
    DEF GN(ヴァル):  
        戻りNUM *ヴァル  
    リターンGN  
 
ZW = mulby(7)  
プリント(ZW(9))。 
10、性能

スローに次のコードを解析します

DEF strtest1(NUM):  
    STR = '最初の'  
    I用(NUM)の範囲内:  
        STR + = "X-"  
    リターンのstr 
回答:STRのPythonは不変で、各反復、新しいを保存するために、新しいstrのオブジェクトを生成し、文字列、NUM大きいほど、strのオブジェクトが作成され、より大きなメモリ消費量。
以上の10個の質問はまだでしょうか?---また、Pythonのを学習する過程で多くの人々に、そこには一つの良いチュートリアルはありませんか、あきらめて、自分の使いやすいをリードする案内が多いので、私はPythonの交換ドレス構築された:思考の流れ(デジタルながら、長い時間と軍事を同音異義語の下に)変換を見つけることができる、新しいPythonのチュートリアルプロジェクトがあります取ることができ、私は内部の人々とのより多くの交流がああを解決する問題を理解していません!

自分のアイデアを持つネットワークから、この記事内のテキストや画像は、だけでなく、任意の商業目的のために、元の作者に属し、交換を学ぶために、どんな質問ならば、治療のためにお問い合わせください。



おすすめ

転載: www.cnblogs.com/chengxuyuanaa/p/12144870.html