1.マシンコードとは何ですか?バイトコードとは何ですか?
(マシンコード)をコードする時々ネイティブコード(ネイティブコード)と呼ばれる機械語命令の、学名、CPUが直接コンピュータのデータを解釈することができます。
通常の意味で理解、コンピュータが直接最速のコードを実行し、実行できるマシンコード。
バイトコード(バイトコード)バイナリー組成物のOPコード/データのシーケンスが実行するプログラムを含みます。中間バイトコードをマシンコードより抽象的であるコードは、インタプリタが中間コードを機械コードに翻訳する必要があります。
多くの場合、それが構築されていないが、特定のマシン・コードとは何の関係もされています。バイトコードは、通常、同じ人は、ソースコードを読んで、しかし一定の値、参照、一連の命令などをエンコードすることができません。
2.Python - > Pythonインタプリタ
Pythonのソフトウェアは、実際にはPythonインタプリタです。
Python2の違い3.Pyhton3
3.1コアクラスの違い
Unicode文字のためのpython3ネイティブサポート
Python2はSTRとUnicode原因2つのタイプがあります。デフォルトのエンコードASCIIコードの文字列として使用、のpython3は、文字列Unicodeをサポートしています。キャラクターとの関係に対応するバイトpython2とのpython3:
-
エンコード&ストリングス
ストリング:
:PY2
ユニコードに格納されたUnicode V = U "ルート"本質的な使用(ユニコード)
= "ルート"本質的にストアバイト(STR /バイト)V
PY3:
本質的に(Unicodeで格納されているとSTR = V "ルート" Unicodeは)
V = B、本質的に"ルート"をbytesバイト格納された
符号化:
PY2:
- ASCIIの
ファイルヘッダを変更してもよい。位- -コード:UTF-8 - -
PY3:
- 。UTF-8
ヘッダ変更することができます。# - -エンコーディング:UTF-8は、 - -
のpython3の実施形態は、インポートすることへの絶対パスを使用します。
Python2は輸入相対パスは、(同じ時間と標準ライブラリファイルでファイルをインポートする方法を、同じディレクトリをfile.py想像)困難に標準ライブラリにつながります。インポートファイルをインポートするために、関連するインポートを使用する唯一の方法は、絶対パスと同じディレクトリを使用するか、しなければならないにも必要な場合は、この時点でのpython3は、変更されました。
古いものと新しいクラスのクラス間の違いはPython2、新しいクラスののpython3の均一なアプリケーションに存在します。継承オブジェクトに新しいクラス宣言、あなたは、アプリケーションの多重継承新しいクラスを使用する必要があります。
python3より厳格なインデントを使用します。インデント機構でPython2、タブ8は、スペースに相当しますので、コード内で同時共存タブとスペースを可能に後退しています。これは、問題は、機構部のIDE同値引き起こす可能性があります。タブ内のpython3]タブには、別の代替として、タブを見つけ、ひいてはエラースペースが共存引き起こす可能性があります:TabError:インデントのタブとスペースの一貫性のない使用を。
3.2クラスの違いを破棄しました
print文がのpython3放棄され、統一された使用印刷機能
exec文のpython3放棄され、統一された使用のexec機能
execfileを文はのpython3、推奨のexec破棄される(オープン( "./ファイル名")。)(読み)
「<>」のpython3均一な使用を破棄される「!=」等しくない演算子
長整数型がのpython3を破棄され、均一な使用はint
xrangeのpython3関数は範囲内のpython3機構も変更され、大規模なデータセットの改良された製造効率、範囲の均一な使用、廃棄されます
これらの方法はもはやないのpython3は、リストオブジェクトを返す:辞書関連キー()、値()、アイテム()、ZIP()、マップ()、フィルタ()が、力リストで変換することができます。
= {myDict "A" :. 1、 "B":2、 "C":} 3。
myDict.keys()#<内蔵辞書の方法AT 0x000000000040B4C8オブジェクトキー>
一覧(myDict.keys())#[ ' '' C '' B「]
イテレータイテレータのnext()関数のpython3次に(イテレータ)、均一な使用が破棄されます
raw_input機能はのpython3、統一された使用入力機能を放棄されました
has_key機能Pythonの辞書の変数は破棄され、キーワードでの均一な使用
python3は、ファイルの種類をチェックしてio.IOBaseするファイルのオープンプロセスの均一な使用、ファイルの機能を放棄しました
適用する機能が破棄されるのpython3
異常はStandardErrorはのpython3を放棄し、均一な使用の例外
3.3クラスの違いを修正
浮動小数点除算演算子/と//違い
Python2は:/は整数除算であり、//は、分数分周である
のpython3:/分数分周され、//は整数除算です。
例外がスローされ、メカニズムの違いをキャプチャしています
Python2
昇給例外IOError、 "ファイルエラー"スロー#
NameError、ERR以外:#キャッチ例外
python3
スロー昇給例外IOError(「ファイルエラー」)#
ERRとしてNameError除い:#キャッチ例外
ループ変数の差分値について
Python2、外部ループ修正変数の名前の同じ値の
I = 1枚の。
プリント( '内包:'、[IのためのI範囲(5)])
プリント( '後:= I'、I)Iは=#4。
python3は、同じ外側のforループ変数の名前変更しない
私は= 1つの。
印刷( '内包:'、[IのためのI範囲(5)])
プリント( '後:= I'、I)。私は=#1
ラウンド関数は、差の値を返します。
Python2、ラウンド関数はint型の値を返し
でisinstance(ラウンド(15.5)、INT )#Trueを
python3、ラウンド関数は、浮動小数点型の値の戻り
でisinstanceを(ラウンド(15.5)、フロート )#True
差分比較演算子
Python2任意の二つのオブジェクトを比較することができる
11 <「テスト」#Trueは
のpython3オブジェクトのみ同一のデータ・タイプは比較することができる
11 <「テスト」#TypeError例外: unorderableタイプ:INT()<STR()
4.Python変数が何を構成することができます
Pythonは文字、数字、アンダースコアで構成することができます。
注:あなたは桁(アンダースコアで始まる)で始めることはできません。
#class:= 123;
Pythonのキーワードは変数名を使用することはできません
、より良い内部のPythonと同じように機能しません
コードブロック5.Pythonの特長
空白の必要性は、リンクブロック(#TABキーは、多くの場合、コードのリンクの4つのブロックのスペースとして使用されている)になることを行うにはif文の書き込み
:条件であれば
印刷(「OK」)
:他の
印刷(「エラー」)
コードを記述する際の注意サークルそして、の間で、半値幅差を
直接次のキーワードへのパスは声明で、そのステートメントを示し、
文字列の表現は6.Pythonを異なります
=名「###」
NAME =「###」
NAME =「」「###」「」
Pythonの文字列は、単一および二重引用符、3つのマーク、と対にすることが可能であってもよい
加算器列
N1 = "###" + '###'
乗算:ユニークな文字列表現7.Python
= N1は"###"
N2 = '%%%'
N3 = N1 + N2 * 10
の出力プリントは10回n1とn2を繰り返しました。
8.Pythonデジタル特殊な記法
A3 = 4 4 2の電源表す** 2
A3 = 19%8#8を19で割った余りを表します。