Pythonのチュートリアルのモバイル自動テストインタビュー
1、スーパーとしているのですか?Python2とのpython3の使用では、違いは何ですか?なぜスーパーを使うのか?例を教えてください。
回答:
- スーパー親クラスのメソッドは、属性を継承します。
- Python2は、パラメータオブジェクトのクラス名に書き込むために使用された場合、新たなスーパークラスがあるだけで、そう。python3のデフォルトは直接利用でき書いていない、新しいクラスです。
- スーパーは、コードの再利用性、保守性を向上させることができます使用してください。コードを変更、単に改変。
- コード例:
class baseClass:
def test1(self, num): print(num) class sonClass(baseClass): def test2(self): super().test1(num) son = sonClass() son.test1(11)
図2に示すように、最終的な結果を導き出すために、次のコードを読み取ります。
def add(n, i): return n+i def test(): for i in range(4): yield i g = test() for n in [1, 10, 5]: g = (add(n, i) for i in g) print(list(g)) # 结果是 [15, 16, 17, 18]
:すべての結果式を生成している、それを呼び出すことはありませんが、内部からの値ではありません、それは動作しません。私は私の派生を囲みます。
n = 1
g = (add(n,i) for i in test()) # print(list(g)) # [1, 2, 3, 4] n = 10 g = (add(n,i) for i in (add(n,i) for i in test())) # print(list(g)) # [20, 21, 22, 23] n = 5 g = (add(n,i) for i in (add(n,i) for i in (add(n,i) for i in test()))) g = (add(n,i) for i in (add(n,i) for i in (5,6,7,8))) g = (add(n,i) for i in (10,11,12,13)) g = (15,16,17,18) print(list(g)) # [15, 16, 17, 18]
図3は、高速なフロントエンドのHTMLやJavaScript、Vueのコードを記述します。
回答:
- HTML、JavaScriptのコード:
<!DOCTYPE html>
<html lang="en"> <head> <meta charset="utf-8"> </head> <body> <h1 id="title">xxx公司</h1> <p>xxx公司是一家......</p> <div id="mybox"> <h1>{{a}}</h1> <input type="button" value="按我" v-on:click="add()"> </div> <script type="text/javascript" src="public/bundle.js"></script> </body> </html> <script> var title = document.getElementById("title"); title.onclick = function() { alert('我爱xxx公司,祝我面试成功'); } </script>
- Vueがコーディング:
import Vue from "vue"; new Vue({ el : "#mybox", data : { a : 100 }, methods : { add : function(){ this.a ++; } } });
4、L = [1、2、3、11、2、5、3、2、5、3]、コードの単一の行を用いて得られた[11、1、2、3、5]
:リスト(セット(L))
5、L = [1、2、3、4、5]、L:結果は[10]を?
:空のリスト(少し緊張し、その時点で、2つの答えの間でさまよっ「範囲外のインデックス」「空のリスト」とされています)。
6、L = [1、2、3、5、6]、どの星 '12356'?
:この問題は、個人的にピットがあると感じていることに注意してください、リストの要素は、それがない、文字列ではありません ''.join(L)
。ここではどのようです:
s = ''
for i in L: s = s + str(i) print(s) # 12356 print(type(s)) # <class 'str'>
7、リストや辞書の違いは何ですか?
A:ほとんどのリストやタプルは違いが何であるかを尋ねています。要素を取得するために異なる(1)の方法。インデックス値、キーによって辞書買収により取得したリスト。(2)データ構造及びアルゴリズム異なります。辞書は、検索速度が特に速いです、ハッシュアルゴリズムです。(3)別のメモリを占有します。
8、どのようにプロセスを終了するには?
:(1)メソッドを終了するために呼び出します。(2)サブプロセスpopenのモジュールを使用する方法。ここで続行するのではなく、特定の使用を簡単に使用できます。
9、プロセス、スレッド、違いは何ですか?どのような状況下でのプロセスでは?どのような状況下でのスレッドでは?
:(1)との差:
- ①アドレス空間と(例えば、ファイルを開くなど)、他のリソースは:相互に独立したプロセスの間に、同じプロセスのスレッド間で共有されます。プロセス内のスレッドは、他のプロセスに表示されません。
- ②通信:プロセス間通信IPC、スレッドが通信する(例えば、グローバル変数など)のプロセスデータセグメントを読み取り、直接書き込むことができる - 必要援助プロセスの同期と相互排他は、データの一貫性を確保することを意味します。
- ③スケジューリングとスイッチング:スレッドコンテキストの切り替えは、プロセスのコンテキスト・スイッチよりもはるかに高速です。
- ④マルチスレッドオペレーティングシステムでは、プロセスは、実行可能エンティティではありません。
(2)使用シナリオ:グローバル変数はすべてのスレッドで共有されているため、このような操作はグローバル変数であり、オブジェクトの同時動作は、私は、スレッドを使用します。
10. ORMは何ですか?なぜORMを使うのか?ORMは何の効果もないのだろうか?
回答:
- ORMフレームワークは、クラスおよびオブジェクトによってデータテーブルに動作することができ、クラスやデータテーブルに対応することができます。
- オブジェクトクラスの操作とそれに対応するデータテーブルでは、静的クラスのフィールド名とデータが名対応表は、SQL文を記述する必要がありません属性。
- ORM別の効果は、クラスの設計に応じて、データベース内のテーブルを生成します。
11は、コードの一部を記述したIPアドレスにpingを実行し、成功、失敗情報を返します。
:(続行しないように、ここで簡単な、具体的な使用方法を使用)を使用するサブプロセスモジュールpopenの方法。
12は、どのようなコンテンツ要求を教え、インタフェーステストプロセスについて話しています。
:(1)工程:試験に合格するかどうかを決定するために、文書のデザインインターフェイスパラメータに応じて、インタフェースのドキュメントを取得し、応答を取得し、応答を解析し、キャリブレーション結果。(2)要求内容:
封装了各种请求类型,get、post 等;
以关键字参数的方式,封装了各种请求参数,params、data、headers、token 等;
封装了响应内容,status_code、json()、cookies、url 等;
session 会话对象,可以跨请求。