Pythonのインタビューキー(基礎)
最初の部分にお答えします(2点)
プログラミング言語と言語を理解間の違いの簡単なリスト?
Pythonは簡単に相対的に解釈学ぶため
のJava Webやって、Javaのブレンド学習の高いコスト
Cコンパイル基盤となる言語
、オブジェクト指向で基本型C C ++コンパイラに追加
ゴーコンパイル高い同時実行、ブロック連鎖を语言特点: 灵活简洁,语言优美 可读性强, 语言类型: 解释型:逐行转化,运行效率低,性能差,开发效率高。兼容性好,跨平台 编译型 :一次性编译成二进制文件,执行效率高,兼容性差, 动态语言:不用声明变量的数据类型(脚本类语言) 静态语言:需要声明变量的数据类型 第三方库:python定位是任其发展,开源库很多,应用领域广
違いPython2とのpython3のリスト?
Pythonの2は2020年サポート
のpython3 Python2文はの関数となる括弧括弧なし印刷機能を
raw_inputのpython3文字列に文字列に、int型の関数として入力Python2ユーザ入力
/ 2得られた結果除数割り切れる小数点以下の桁数、3 Zhenchuシェーピング
デフォルトエンコーディングがascll 2 3 UTF-8コードである
レンジ!= <>のpython3は<>キャンセル
のみlong int型持ってint型タイプ2タイプ3を
レンジ2をリストxrangeの3が反復可能オブジェクトで反復可能オブジェクトである
2つの新しいクラス、新しいクラスクラシック3コード記述された結果を見てください
v1 = 1 or 2 #v1 = 1 v2 = 3 and 7 or 9 and 0 #v2 = 7 or 0 #v2 = 7 在没有()的情况下not 优先级高于 and,and优先级高于or x or y , x为真,值就是x,x为假,值是y; x and y, x为真,值是y,x为假,值是x。 两边都不是0的情况下 and 直接取后面的值 or 直接取前面的值 如果存在0的情况 and 直接取0 or 直接取非0 false是 0 。。
- 違いは何ですか、次の値を比較?
= V1 [1,2,3]
V2 = [(1)、(2)、(3)〕
V3 = [(1)、(2)、(3)]
。1及び2、大差、図3に示すように、その後、(1)素子自体の種類を表すタプル(1)で表されます。 価値交換は、コードの行によって達成しました。
1 = A
B = 2#a,b = b,a
- Pythonの二重引用符の間に単一の違い、3重引用符?
パイソン、それぞれが、単一および二重引用符を含むことができるエスケープを避けるために、
そして3つのマークが2つの効果が長い文字列、およびコメントを包むあり 違いがあると==?
三つの基本的な目的:タイプ(データ型)のID(アイデンティティ)と値(値)
値は、2つのオブジェクトが等しい比較==場合は
同じ値idか否かが判定されますPythonのタプルやリストに変換を達成するためにどのように?
タプル(リスト)#は、環状によって添加することができる
リスト(タプル)#tuple変更しない、追加リサイクルできませんどのように逆の文字列名=「オールドボーイ」を達成するために?
1.スライス
名=名[:: - 1]
2.逆方式リスト
名=リスト(名前)
name.reverse()
NAME = '' .join(名)
(名称.join '#NAME ='の[:: -1])
サイクル3.for
#各部を挿入することができ
4.reduce機能
NEW_NAMEを減らす=(ラムダX、Y:X + Y、名前)が
印刷(NEW_NAME)
5.再帰
DEF FUNC(S):
IF LEN( S)<1:
リターンS
リターンFUNC(S [1:])+ S [0]
6スタックの使用
S = "こんにちは"
L =リスト(S)
結果= ""
ながら(LEN(L)> 0)。
+ = l.pop結果()
印刷(結果)2セットの交差点、労働組合、違いを取得する方法は?
交差点リスト(SET(A).intersection(SET(B)))
&
組合一覧(SET(A).union(SET(B)))
|
差分セットリスト(セット(B).difference(セット() ))
-- これらの場合に、Y = X! - (XY ) ?設定する
Y個ではないX -は、同じ非空集合 Pythonでオブジェクトをコピーする方法?
ために元のデータを変更しないのコピーを変更する際に生成されたデータである
()copy.deepcopy()コピーモジュールcopy.copyを
[:]
変数目的:いわゆる変数が変数オブジェクトを参照する変数の値が、識別(ID)であります変わらず。以下のような:リスト、辞書、一連の
不変オブジェクト:アイデンティティとオブジェクトの値変数ではありません。以下のような:デジタル(数字は不変である、覚えておいてください)、文字列、タプル割り当て、差異の浅いコピーと深いコピーの説明?
原理は、データを分離し、互いに独立してデータを修正します赋值:让多个变量同时指向一个对象的内存地址。不可变对象在赋值时会开辟新空间。可变对象在赋值时,修改一个的值,另一个也会发生改变。 浅拷贝:(copy模块的copy.copy()函数) 拷贝父对象,不会拷贝对象的内部的子对象。不可变对象和赋值没区别。可变对象,浅拷贝在拷贝时,只拷贝第一层中的引用,如果元素是可变对象,并且被修改,那么拷贝的对象也会发生变化。####拷贝第一层元素内存地址 深拷贝:完全拷贝了父对象及其子对象。深拷贝就是将顶级对象以及子对象的值同时复制给新对象,此时修改任何一个都不会影响另一个。{copy模块的 copy.deepcopy()函数}####不管多少层,不可变共有,可变开辟新空间 但由于小数据池的概念,python中 -5~~256 20字符串 bool完全共享内存地址
- 効果を渡しますか?
フットプリント
... コードを読み取る書き込み結果。
コピーインポート
A = [1,2,4,5、[ 'B'、 'C']
B = A
C = copy.copy(A)
D = copy.deepcopy(A)a.append(5) a[4].append('d') print(b) print(c) print(a)
パイソンと9つの* 9の乗算テーブルを実現。
Pythonとは、フィボナッチ数を表示します。
= LST [1,1]
範囲内のI(10)のための:
lst.append()どのように私は、重複する値のリストを削除しますか?
リスト(集合(リスト))100Gのファイルサイズは、特定のプロシージャのコードを記述し、ファイルの内容を読み取るために、etl_log.txt?
ファイルハンドルで私のためにA = dictの(ジップ(( " "、 "B"、 "C"、 "D"、 "E")、(1,2,3,4,5))) 何を聞いて?
辞書を作成する方法ラムダキーワードの役割?
匿名関数を定義します*引数とkwargの役割?
* argの位置は、余分なパラメータ受け入れる
kwargを過剰キーワード引数を受け付けます関数内でグローバル変数を設定する方法は?
、株式会社無料名参加しますフィルタ、マップ、役割を減らしますか?
ろ過フィルタ
マップのマッピングは、
算出された累積削減します匿名関数とは何ですか?無名関数の役割は何ですか?
ラムダ関数は匿名関数、ワードの関数で
使用して高次機能を有する
書き込み方法:高次関数を層のPython再帰の最大数?
公式1000年実際の994から998
のインポートのSYS
は、sys.setrecursionlimit(10000)再帰の最大深さを修正イテレータとは何ですか?反復可能オブジェクトとは何ですか?
__iter __()と__next __()メソッドがイテレータである持っていることは
__iter __()メソッドは、反復可能であるしている
オブジェクトを表示する)すべてのプロパティとメソッドは、(.DIR発電機は何ですか?デコレータとアプリケーションのシナリオとは何ですか?
収率エッセンスジェネレータイテレータキーワードジェネレータであり
、デコレータ自然閉鎖ソースコードと通話モードを変更することなく、追加機能の
ログイン認証は、
入力
フラスコ
ジャンゴを反射とアプリケーションのシナリオとは何ですか?
文字列操作対象のメソッドとプロパティによって
アプリケーションシナリオ:
ユーザ入力の選択はCBV、決定されます一般的なデコレータを書きます。
引数付きのデコレータを書きます。
求结果
DEF NUM():
戻り、λX:I * X iに対して範囲内(4)]
の印刷([M(2)NUMにおけるM用()])[6,6,6,6]
デフ(、B = [] )の文言は何のトラップ?
デフォルトのデータ型のパラメータは変数の閉鎖です書き込まれた参照結果コード
DEF FUNC(A、B = []):
b.append(A)
リターンBv1 = func(1) v2 = func(2,[10,20]) v3 = func(3) print(v1,v2,v3)
書き込まれた参照結果コード
DEF FUNC(A、B = []):
b.append(A)
リターンBv1 = func(1) print(v1) 1 v2 = func(2,[10,20]) print(v2) 10 20 2 v3 = func(3) print(v3) 1 3
達成するための関数を記述してください-整数に置き換えます。
変換規則は、10.3.9.12である:
10 00001010
3 00000011
。9 00001001
12は、00001100であります再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
ディレクトリ下のすべてのファイルを検索してください(そこにネストされたファイルがあります)。
os.walk()再帰的な性質探している結果は、
数学のインポート
印刷(Math.floor(5.5))
5に加えて、床をかどうかは、関数functoolsで使用されますか?その役割は何ですか?
ラップを減らします再検索し、一致の違いは?
試合の最初から一致し、一致が停止され
、任意の位置合わせからの一致の検索が停止されますPythonのHTMLタグと一致する場合は、< >と<?>の違いは何ですか?
。任意の数の文字に一致するように貪欲なマッチ
。*?非欲張りマッチ一度だけ乱数を生成するには?
ランダム
はrandom.Random()スーパーロール?
MROの順序を継承単一および二重下線の下線の違いは?
__a = 10、強制的にプライベート
プライベートメソッドです_b = 15規範プログラマ差@staticmethodと@classmethod?
静的メソッドは、通常の関数であり、
クラスメソッドでありますシングルトンパターン(ロック)を実装します。
マルチスレッドはロックされていることを確実にするためには、もはや単一のケースではありませんスタックとキューの違いは?
スタック先進後
キューFIFO次のコードの出力は何をしている?答え、説明してください。
親クラス(オブジェクト):
X = 1。class Child1(Parent): pass class Child2(Parent): pass print Parent.x, Child1.x, Child2.x Child1.x = 2 print Parent.x, Child1.x, Child2.x Parent.x = 3 print Parent.x, Child1.x, Child2.x
次のコードスニペットを参照する
クラスコンテキスト:
パスwith Content() as ctx: ctx.do_something() 请在Context类下添加代码完成该类的实现
第二の部分は、トピックであってもよいです
- 二番目に大きい値の一覧を取得する方法?
- Pythonのメモリ管理メカニズムをブリーフ。
- Pythonのガベージコレクションのメカニズムをブリーフ。
- 2つのキューを使用してスタックを実装するために来てください。
- リンクリストを実装するためのPythonを使用してください。
- リストのPython実装を逆にしてください。