血液の概要を嘔吐!(答え)Pythonの収集面50の質問

Pythonは現在、プログラミング言語の中で最も人気のある分野です。この記事では、私が最も一般的なPythonのインタビューに50個の質問を要約します。各質問には、あなたは、2019就職の面接で目立つ高給の仕事を見つけるのに役立つことを期待して、リファレンスに答えを提供します。これらのインタビューの質問は、各種のパイソンの側面、Pythonプログラミング、データ解析、およびPythonライブラリとの基本的な知識を必要とします。

Q1、Pythonのリストとタプルの違いは何ですか?

Q2、パイソンの主な機能は何ですか?

Pythonはインタプリタ言語です。異なる言語とC言語は、Pythonは実行前にコンパイルする必要はありません。

Pythonは動的言語では、変数または類似の変数を宣言するとき、あなたは型の変数を宣言する必要はありません。

Pythonの適切なオブジェクト指向プログラミングは、クラスや継承の定義との組み合わせを可能にするからです。Pythonは(例えばC ++、パブリック、プライベートなど)のアクセス命令を持っていません。

Pythonでは、関数はファーストクラスのオブジェクトです。彼らは、変数に割り当てることができます。最初のクラスは、クラスオブジェクトであります

すぐにPythonコードを書きますが、遅くなります。Pythonは拡張されたC、例えばnumpyのライブラリに基づくことができます。

Pythonは多くの分野で使用することができます。Webアプリケーション開発、自動化、数学的モデリング、大規模なデータ・アプリケーション、およびように。それはまた、多くの場合、「接着剤」のコードとして使用されています。

Q3、Pythonは汎用プログラミング言語でありますか?

Pythonはスクリプトを書くことができますが、一般的な意味は、汎用プログラミング言語であると考えられています。

、Pythonはインタプリタ言語はどのようにQ4のですか?

プログラムを実行する前に、Pythonは説明する必要はありません。したがって、Pythonはインタプリタ言語です。

Q5、PEPは何ですか?

PEPはPythonの拡張案を代表して。これは、最大の読みやすさのためのPythonコードをフォーマットする方法を指定する一連のルールです。

Q6は、どのようにPythonでメモリを管理するには?

プライベートヒープ領域管理により、Pythonのメモリー管理でのpython。すべてのPythonオブジェクトとデータ構造は、プライベートヒープに配置されています。プログラマは、このプライベートヒープにアクセスすることはできません。Pythonインタプリタは、この問題に対処するための責任があります。

Pythonのメモリマネージャによって行わPythonオブジェクトヒープ領域の割り当て。コアAPIは、コードを書くためのツールのプログラマを提供します。

Pythonのすべての未使用のメモリを回復し、ヒープ領域が使用可能にすることができ、組み込みのガベージコレクタは、そこにあります。

Q7、Pythonで名前空間は何ですか?

名前空間は、名前の競合を避けるために、名前の一意性を保証するために使用されるネーミングシステムです。

Q8、PYTHONPATHは何ですか?

それは時に環境変数インポートモジュールに使用されます。たびインポートモジュール、モジュールがインポートされているかどうかをチェックするために、各ディレクトリPYTHONPATHを探します。インタプリタは、ロードするモジュールを決定するためにそれを使用しています。

Q9、Pythonのモジュールは何ですか?そこにPythonで共通の内蔵モジュールは何ですか?

モジュールは、Pythonの.py Pythonのコードを含むファイルです。このコードは、関数又はクラス変数であってもよいです。一般的に使用されるいくつかの内蔵モジュールからなる:SYS、数学、ランダム、データ時間、JSONを。

Q10、Pythonでローカルおよびグローバル変数何ですか?

グローバル変数:関数内またはグローバル変数と呼ばれるグローバル空間の外で宣言された変数。これらの変数は、プログラム内の任意の関数によってアクセスすることができます。

ローカル変数:関数内で宣言された変数はローカル変数と呼ばれます。この変数は、ローカル空間ではなく、グローバル空間に存在します。

Q11、Pythonは大文字と小文字が区別されますか?

はい。Pythonは大文字と小文字を区別する言語です。

Q12、Pythonの型変換とは何ですか?

型変換は、別のデータ型に1つのデータ型を変換することを意味します。

INT()は、 - 任意のデータ型は、整数型で変換します

フロートは、() - floatに任意のデータ型に変換します

ORD() - 文字が整数に変換しました

ヘクスは、() - 16進数に整数に変換します

OCT() - 整数進

タプル() - この関数はタプルを変換するために使用されます。

セット() - この関数は、変換タイプセットした後に戻ります。

リスト() - この関数は、リストに任意のタイプのデータに使用されます。

辞書() - この関数は(キー、値)が辞書に変換されるタプルを注文するために使用されます。

STR() - 文字列を整数に変換するために使用されます。

複合(実、IMAG) - この機能は、複雑な(実画像)数値に実数に変換します。

Q13、どのようにWindows上のPythonをインストールして、パス変数を設定するには?

Windows上のPythonをインストールするには、次の手順を実行します。

HTTPS://以下のリンクからのpythonをインストールしhttp://www.python.org/downloads/

ダウンロードした後は、お使いのPCにインストールしてください。CMDパイソン:PYTHONは、コマンドプロンプトで次のコマンドを使用してPC上のインストールの場所を見つけます。

その後、システムの詳細設定に移動し、新しい変数と名前PYTHON_NAMEを追加し、コピーしたパスを貼り付けます。

パス変数を検索し、値を選択し、選択し、「編集」を

値が存在しない場合、値の最後にセミコロンを追加し、%PYTHON_HOME%入力

Q14、インデントするかどうかのpython?

Pythonのインデントが必要です。これは、コードブロックを指定します。循環し、クラス、およびコードブロックのインデントに指定された他のすべての機能。通常4つの空白文字が完了します。あなたのコードをインデントする必要がない場合は、それが正確に行われないと、エラーがスローされます。

Q15、Pythonの配列とリストの違いは何ですか?

データを保存するのと同じ方法で、Pythonの配列とリスト。しかし、アレイは、データ要素の単一のタイプを含むことができ、リストは、データ要素の任意のタイプを含むことができます。

Q16、Pythonで関数は何ですか?

関数が呼び出されたときにのみ行うのコードのブロックです。Pythonで関数を定義するには、defキーワードを使用する必要があります。

Q17、__init__は何ですか?

Pythonの__init__メソッドまたは構造インチ あなたがオブジェクト/インスタンスの新しいクラスを作成すると、自動的にメモリを割り当てるために、このメソッドを呼び出します。すべてのクラスは__init__メソッドを持っています。

Q18、ラムダ関数は何ですか?

ラムダ関数、また、操作を実行するために任意の数のパラメータが、唯一のステートメントを含めることができます無名関数を、と呼ばれます。

Q19、自己は、Python何ですか?

それは、自己またはオブジェクトクラスの一例です。Pythonでは、自己が最初のパラメータに含まれています。ただし、Javaの状況はそれがオプションである、そうではありません。これは、ローカル変数を持つクラスのメソッドと属性を区別するのに役立ちます。他の方法では、それは、そのメソッドが呼び出されるオブジェクトを指すのに対し、自己の変数の初期化方法は、新しく作成されたオブジェクトを指します。

Q20は、継続して通過し、休憩を区別しますか?

Q21、[:: - 1}それは何を意味するのでしょうか?

[:: --1]順序を逆転またはアレイの配列が使用されます。

Q22、どのようにPythonでランダム化のリストの要素?

あなたは、ランダムなシャッフル機能リストの要素を使用することができます。たとえば、次のように:

 

コード出力:

 

Q23、Pythonのイテレータとは何ですか?

イテレータオブジェクトは、トラバースまたは反復することができます。

Q24は、どのようにPythonで乱数を生成するには?

標準モジュールの乱数を生成するためのランダムモジュール。このメソッドは次のように定義されます

 

 

random.Random()メソッドは、[0,1]の範囲の浮動小数点数を返します。この関数は、ランダムな浮動小数点数を生成します。確率的隠しインスタンスの結合方法を用いる方法。ランダムな例は、マルチスレッドプログラムのインスタンスを作成するために、別のスレッドを表示するために使用することができます。前記他の乱数発生器が使用されます。

randrange(B):これは、整数を選択し、[B]の間の範囲を定義します。これは、ランダムな要素を選択することにより、指定された範囲から要素を返すことです。これは、範囲オブジェクトを構築しません。

均一な(B):それは[A、B)の範囲で定義された浮動小数点を選択します

normalvariate(sdev平均):これは、平均、標準偏差シグマsdevのものであることを意味正規分布、のために使用されます。

ランダムに使用してインスタンス化されるクラスは、別の乱数生成器を複数作成することができます。

Q25、範囲&xrangeの違いは何ですか?

ほとんどの場合、はxrangeと範囲は、機能性の面で同一です。彼らは、整数のリストを生成する方法を提供する、唯一の違いは、範囲は、Pythonは、Xの範囲はxrangeオブジェクトを返すオブジェクトのリストを返しています。これはxrangeのは、実際に実行時に静的リストを生成しないことを意味します。これは、必要に応じて値を作成するために生じると呼ばれる特殊な技術を使用しています。オブジェクトと一緒に使用される技術は、発電機と呼ばれます。あなたは非常に大規模なリストを持っているのであれば、あなたははxrangeを考慮する必要があります。

Q26、どのようにPythonでメモを書くには?

Pythonでのコメントは、#文字で始まります。また、注釈を付ける(三重文字列は引用符で囲まれた)DOC-文字列を使用することができます。

Q27、何を酸洗し、unpickle化されますか?

pickleモジュールは任意のPythonオブジェクトを受け取り、文字列表現に変換し、酸洗と呼ばれるプロセスのダンプをダンプする機能を使用して。Pythonはunpickle化と呼ばれる文字列のストアドプロシージャから元のオブジェクトを取得します。

発電機は、Pythonで何Q28、?

戻り値は、項目セットジェネレータ関数が呼び出されるイテレーション。

Q29、あなたは首都の文字列の最初の文字をどのように置きますか?

Pythonでは、大文字()関数は、文字列の最初の文字を大文字にすることができます。文字列がすでに先頭の大文字に含まれている場合、それは元の文字列を返します。

Q30は、どのようにすべて小文字に文字列を変換するには?

下に文字列を変換するには、下の()関数を使用することができます。

Q31は、どのようにPythonで複数の行をコメントをするには?

複数行のコードを注意してください。すべてのコメントは#を開始する前に、行になければなりません。また、つまり、複数の行をコメントにショートカットを使用して、Ctrlキーを押しながら左クリックし、#文字を含めるすべての場所に#を入力することができます。

Q32、文書ドキュメンテーション文字列Pythonで何ですか?

ドキュメンテーション文字列は、実際には、文書の文字列である、コメントできません。引用符での3つの文字列内のこれらの文書。彼らは、任意の変数に割り当てられていない、それは時々、コメントに使用されます。

Q33、ある、ないものを機能と各事業者の?

オペレータは、1つまたは複数の値を比較し、対応する結果を生成する特殊な関数です。2つのオペランドがtrueの場合にtrueを返します。これは(例:「」「A」です)

ない:逆数はブール値を返します

中:シーケンス内の要素があるかどうかを確認してください

ヘルプ()とdirでQ34、パイソンの使用は何ですか()関数はありますか?

ヘルプ()とdir()これらの関数のどちらも、Pythonインタプリタから、ダンプの組み込み関数をマージ表示するために直接アクセスすることができます。

ヘルプ()関数:ヘルプ()関数は、文書の文字列を表示するために使用されて、あなたはまた、モジュール、キーワード、財産およびその他の関連する使用情報を見ることができます。

DIR()関数:DIR()関数は、シンボル定義を表示するために使用されます。

Q35、Pythonは終了したときに、なぜすべてのメモリ割り当てを削除しませんか?

Pythonが終了すると、他のオブジェクトまたはグローバルネームスペースからオブジェクト参照を循環参照と特にPythonモジュールは、割り当て解除またはリリースされていません。

Cライブラリのために予約されたメモリ割り当ての部分を持ち上げることができないもの。

効率的かつクリーンアップにお出口は、独自のメカニズムを持っている場合、Pythonは他のすべてのオブジェクトを破壊/未割り当てしようとします。

Q36、どのようなPythonの辞書では?

ビルトインデータ型は、Pythonで辞書を呼びました。これは、キーと値の間に1つの関係を定義します。辞書には値が含まれており、鍵のペアに対応します。辞書のキーでインデックス化。

Q37は、どのようにPythonで三項演算子を使用するには?

三項演算子演算子を表示するための条件文。これは、真または偽の値を含み、その文を評価する必要があります。基本的な構文は次のとおりです。

三項演算子演算子を表示するための条件文。これは、真または偽の値を含み、その文を評価する必要があります。基本的な構文は次のとおりです。

【on_true]他[式] [on_false] X、Y = 25,50big = X X <他Y Yもしあれば

Q38、なぜ* argsを、** kwargsからを使用できますか?

私たちは関数にパラメータを渡しますどのように多くのわからない、あるいは我々が関数に渡されたパラメータのリストやタプルを保存するとき、私たちは*引数を使用します。**私たちはどのように多くの時にkwargsから機能を使用するためにキーワード引数を渡すかわからない、または重要なパラメータとして辞書を評価するために使用することができます。識別子引数とkwargsからは慣例で、あなたもビリー** *ボブとを使用することができます。

Q39、LEN()関数の役割は何ですか?

LEN()関数は、文字列、リスト、配列の長さ、等を決定するために用いることができます。

Q40、Pythonの分割で()、サブ()、SUBN()関数。

文字列を変更するには、「再」モジュールのPythonは3つのメソッドを提供します。彼らは以下のとおりです。

スプリット() - リストに文字列「スプリット」は、与えられた正規表現パターンを使用しました。

サブは() - すべてのサブストリング正規表現パターンマッチングを検索し、別の文字列に置き換えます

SUBN() - も)サブ(と同様であり、新たな文字列を返します。

Q41、負の指数が何であるか、機能は何ですか?

Pythonは、正と負の数から成る配列のインデックスです。正の数字「0」、最初のインデックスとして使用する「1」に第2の指標として、プロセスが使用し続け。

シーケンスが進むにつれて正の数として最後から二番目の指標として - 2「」からの負のインデックスは「-1」、インデックスは、シーケンスの最後を表します。

負の屈折率は、文字列から任意の改行を除去するために使用され、Sとして以外の文字列を許可されている[ - 1]最後の文字が与えられました。負の屈折率は、正しい順序を表すインデックス文字列を表示するために使用されます。

Q42、Pythonパッケージとは何ですか?

Pythonは、モジュールの名前空間を複数備えたパッケージです。

Q43は、どのようにPythonでファイルを削除するには?

Pythonでファイルを削除するには、OSのモジュールをインポートする必要があります。その後、あなたはos.remove()関数を使用する必要があります。

Q44、ビルトインタイプのpythonは何ですか?

次のようにPythonの組み込み型は次のとおりである:整数、浮動小数点、複素数、文字列、ブールと。

Q45、そこにどの機能動作numpyのPythonのリスト?

Pythonは、効率的な汎用コンテナのリストです。彼らは、派生Pythonのリストは、建設と運営それらが容易になり、(比較的)効率的な挿入、削除、追加または接続をサポートしています。

「ベクトル化」操作をピクセル化など、彼らは加算や乗算をサポートしていない、と彼らは、Pythonを保存するために異なるタイプのオブジェクトが含まれていてもよい。この事実は、各要素についての情報の種類を意味し、スケジューリングタイプを実行する必要があります:彼らはいくつかの制限がありますオペレーションコードは、各要素に対して実行されたとき。

だけでなく、より効率的なnumpyの、それはまた、より便利です。あなたは時々不要な作業を避けることができる無料のベクトルや行列演算の多くを得ることができます。彼らはまた、効果的な実施形態です。

numpyのアレイはより速く、あなたがnumpyの、FFT、畳み込み、クイック検索、基本的な統計、線形代数、構築されたヒストグラムを使用することができます。

Q46は、どのようにのpythonの配列に値を追加するには?

追加()、(伸びる)と、配列に要素を追加する(I、x)関数を挿入することができます。

Q47は、どのように値のpythonのアレイを削除するには?

あなたはこの方法では、配列の要素を削除する()ポップ()を使用するか、または削除することができます。これら2つの違いは、前者関数値が削除された戻り、後者が返されないことです。

Q48、PythonはOOPSコンセプトそれを持っていますか?

Pythonはオブジェクト指向のプログラミング言語です。これは、任意のプログラムは、オブジェクト・モデルを作成することで、Pythonで解決できることを意味します。Pythonプログラミング言語つつ、構造化言語として見ることができます。

Q49、深い浅いコピーのコピーの違いは何ですか?

新しいインスタンスでの複製の浅いタイプの新しいインスタンスを作成、コピー、および保持。参照ポインタ、コピーと同じ値をコピーするための浅いコピー。これらの参照は、元のオブジェクトをポイントして、クラスの変更の任意のメンバーも元のコピーに影響します。浅いコピー実行プログラムは、使用するデータのサイズに応じて、より速くできます。

コピーされた値を格納するためのディープコピー。ディープコピーは、オブジェクトへの参照ポインタをコピーしません。これは、オブジェクトを参照し、他のオブジェクトのポイントにいくつかの新しいオブジェクトを格納します。変更の原本は、オブジェクトを利用した任意の他のコピーには影響しません。各オブジェクトの作成コピーの一部が呼び出されますので、そのプログラムの実行速度が深いコピーが遅くなります。

Q50は、どのようにPythonで複数のスレッドを実装するには?

Pythonはマルチスレッドライブラリを持っていますが、速度にマルチスレッドコードの効果があまり良くありませんが、

Pythonはグローバルインタープリタロック(GIL)が命名された構造を有しています。GILは唯一の実装を保証することができます「スレッドを。」スレッドはGILは、関連する操作を実行し、次のスレッドGILに転送されます。

それが見えますが、並列マルチスレッドのプログラムで実行されますが、彼らは実際には同じCPUコアを使用してターンを取ることができます。

これらのパスのすべては、GILのコストが行っ増加しています。これは、複数のスレッドを高速に実行プログラムを作成しないことを意味します。

おすすめ

転載: blog.csdn.net/sinat_38682860/article/details/94763641