1. ホーム
  2. パイソン

Xuefeng Liao Python 3.X チュートリアル

2022-02-24 22:54:15

Python入門

Pythonは、1989年にカメおじさんことGuido van Rossumが、退屈なクリスマスシーズンを過ごすために書いたプログラミング言語です。

現在、世界には600近いプログラミング言語が存在するが、人気のあるものは20ほどしかない。TIOBEリストをご存じなら、プログラミング言語の一般的な人気度を知ることができるだろう。ここでは、最も人気のある10のプログラミング言語が、過去10年間でどのように変化したかをグラフにしています。

一般に、これらのプログラミング言語にはそれぞれ特徴がある。C言語はOSを書くことができるため、ハードウェアの性能を最大限に生かした高速な動作を求めるプログラムの開発に向いています。Pythonはアプリケーションを書くための高水準プログラミング言語である。

ある言語で本格的なソフトウェア開発を始めると、コードを書くだけでなく、開発のスピードアップのために、基本的な、すでに書かれている、既成のものがたくさん必要になるんです。例えば、メールクライアントを書くために、ネットワークプロトコルに関連するコードを下から書き始めたら、おそらく1年半は開発できないでしょう。高水準プログラミング言語では、通常、より完全な基本コードベースが提供されており、それを直接呼び出すことができます。例えば、電子メールプロトコルのSMTPライブラリ、デスクトップ環境のGUIライブラリなどがあり、これらの既存のコードベースの上で開発を行うことにより、数日でメールクライアントを開発することが可能です。

Pythonは、ネットワーク、ファイル、GUI、データベース、テキストなど、非常に包括的な基本コードベースを提供しており、「電池込み」と呼ばれるほどです。Pythonで開発する場合、ゼロから多くの機能を書く必要はなく、利用可能なものを使うだけでよいのです。

Pythonには、ビルトインライブラリに加えて、サードパーティライブラリという、他の人が開発したものを直接利用できるものが数多く存在します。もちろん、うまくラッピングされたコードを開発すれば、それを他の人のサードパーティライブラリとして使うことも可能です。

YouTubeなど、多くの大規模なWebサイトがPythonで開発されています。 インスタグラム と国営の 豆板醤 . GoogleやYahooなど、多くの大企業でも NASA (NASA)はPythonを多用しています。

亀おじさんのPythonのポジションは、"elegant", "clear", "simple" なので、Pythonのプログラムは常にわかりやすく見え、初心者はPythonを学ぶ Pythonを始めるのは簡単ですが、将来的にはより深く、非常に複雑なプログラムを書くことができるんですよ。

全体として、Pythonの哲学は、物事をシンプルかつエレガントに保ち、できるだけ理解しやすいコードを書き、できるだけコードを書かないことです。ベテランプログラマーが何万行も書いた無名のコードを見せびらかしたら、好きなだけ笑えばいい。

では、Pythonはどのような用途に向いているのでしょうか?

Webサイトやバックエンドサービスなど、Webアプリケーションを第一候補として。

続いて、システム管理者が必要とするスクリプト作業など、日常的に必要とされる多くのガジェット類が挙げられます。

もう一つは、他の言語で開発されたプログラムを使いやすいようにリパッケージすることです。

そして最後に、Pythonのデメリットについて。

どんなプログラミング言語にも欠点がありますが、Pythonも例外ではありません。長所はさておき、Pythonの短所は何でしょうか?

Pythonはインタプリタ言語であり、コードは実行時に一行ずつCPUが理解できる機械語に翻訳されますが、この翻訳作業に非常に時間がかかるため、Cプログラムと比較して動作が非常に遅いことが第一のデメリットとなります。一方、Cプログラムは、CPUが実行可能な機械語に直接コンパイルしてから実行するので、非常に高速です。

しかし、多数のアプリケーションは、ユーザーがそれを感じないため、それほど高速に動作する必要はない。例えば、MP3をダウンロードするWebアプリケーションを開発する場合、C言語のプログラムは0.001秒、Pythonのプログラムは0.1秒と100倍遅いですが、ネットワークが遅いので1秒の待ち時間が必要で、ユーザーは1.001秒と1.1秒の差を感じられると思いますか?北京の三環路を走るF1カーと普通のタクシーのようなものです。F1カーの理論速度は400km/hですが、環状3号線の渋滞で時速20kmしか出ませんから、乗客として感じる速度は常に時速20kmです。

2つ目のデメリットは、コードを暗号化できないことです。Pythonのプログラムを公開する場合、実際にはソースコードを公開することになりますが、これはCとは異なります。Cはソースコードを公開する必要はなく、コンパイルしたマシンコード(Windowsでよく目にするxxx.exeファイルです)を公開すればいいだけです。機械語コードからCのコードを逆引きすることは不可能なので、コンパイルされた言語であればこの問題はありませんが、インタプリタ型言語ではソースコードを公開しなければならないのです。

このデメリットは、誰かに売らないと儲からないようなソフトウェアを書かなければならないときに限られます。良いことに、現在のインターネット時代には、ソフトウェアのライセンス販売に依存するビジネスモデルは少なくなり、ウェブサイトやモバイルアプリを通じたサービス販売に依存するモデルが多くなっており、後者はソースコードを誰かに渡す必要がない。

それに、今はオープンソース運動が盛んで、インターネットの精神はフリー&オープンです。大企業が自社のコードを公開したがらないもっと重要な理由は、コードがあまりにひどいので、いったんオープンソースになってしまうと、誰もその製品を使う勇気がなくなってしまうからだ。

もちろん、Pythonには他にも細かい欠点がいくつかあるので、全部は挙げませんが、無視していただいて結構です。

Pythonのインストール

Pythonはクロスプラットフォームであるため、Windows、Mac、各種Linux/Unixシステムで動作します。Windows上でPythonのプログラムを書いて、Linux上に置くことも実行可能です。

Pythonでプログラミングの学習を始めるには、まずPythonをコンピュータにインストールする必要があります。一度インストールすれば、Pythonインタプリタ(Pythonプログラムを実行するためのもの)、コマンドラインの対話環境、そしてシンプルな統合開発環境を手に入れることができるのです。

Python 3.5のインストール

現在、Pythonにはバージョン2.xとバージョン3.xの2つのバージョンがあり、互換性がありません。バージョン3.xの普及が進んでいるため、このチュートリアルでは最新のPythonバージョン3.5をベースとしています。このチュートリアルを苦痛なく学べるように、最新バージョンのPython 3.5.xがコンピュータにインストールされていることを確認してください。

MacでのPythonのインストール

OS X 10.8~10.10を搭載したMacをお使いの場合、システムに付属するPythonのバージョンは2.7です。最新のPython 3.5をインストールするには、2つの方法があります。

方法1:Pythonの公式サイトからPython3.5をダウンロードする Pythonウェブサイトからのインストーラー (インターネット接続速度が遅い方は 国内向けミラー ) 、ダブルクリックで実行し、インストールしてください。

方法2:Homebrewがインストールされている場合、コマンドで直接実行します。 brew install python3 をクリックしてインストールします。

LinuxでのPythonのインストール

もしあなたがLinuxを使っているなら、Linuxのシステム管理の経験があると推測できるので、自分でPython 3をインストールすることに問題はないでしょう。そうでなければ、Windowsに切り替えてください。

まだWindowsを使用している多数の学生のために、すぐにMacに切り替える予定がない場合は、以下を読み進めることができます。

WindowsへのPythonのインストール

まず、Windowsのバージョン(64ビットまたは32ビット)に応じて、Pythonの公式ウェブサイトからPython 3.5をダウンロードします。 64ビット版インストーラー または 32ビット版インストーラー (インターネット接続が遅い方はこちらへ移動してください 国内向けミラー ) をダウンロードし、ダウンロードしたEXEインストールパッケージを実行してください。

をチェックすることに特に注意してください。 Add Python 3.5 to PATH をクリックし、[今すぐインストール]をクリックしてインストールを完了します。

デフォルトでは、以下の場所にインストールされます。 C:\Python35 ディレクトリにある場合、コマンドプロンプトウィンドウを開いて python と入力すると、次の2つのことが起こります。

シナリオ1

上の画面が表示されれば、Pythonのインストールが成功したことになります!(笑)。

プロンプトが表示されます。 >>> は、Pythonの対話型環境にいることを意味し、任意のPythonコードを入力でき、キャリッジリターンですぐに実行結果を得ることができます。では、次のように入力します。 exit() を入力し、EnterでPythonの対話型環境を終了します(コマンドラインウィンドウを閉じるだけでもOKです)。

ケース2:エラーが発生した

'python' is not an internal or external command, and is not a runnable program or batch file.


<イグ

これは、Windowsがコードをベースにして Path 環境変数で設定されたパスを見つけるために python.exe で、見つからなかった場合はエラーになります。を確認し損ねた場合は Add Python 3.5 to PATH を追加する必要があります。 python.exe をPathに追加してください。

環境変数の変更方法がわからない場合は、Pythonのインストーラを再度実行し、必ず Add Python 3.5 to PATH .

概要

Pythonをコンピュータにインストールし、Pythonの対話型環境を開いたり終了したりする方法を学びます。

WindowsでPythonを実行するには、コマンドラインを起動し、次のように実行します。 python .

MacやLinuxでPythonを実行するには、ターミナルを開き、次のように実行します。 python3 .

Pythonインタプリタ

Pythonのコードを書くと、Pythonのコードを含むインタプリタが、以下のような形で得られます。 .py を拡張子としてテキストファイルにしたものです。コードを実行するには、Pythonインタプリタに .py ファイルを作成します。

Python言語は仕様からインタプリタまですべてオープンソースなので、理論的には十分な習熟度があれば誰でもPythonインタプリタを書いてPythonコードを実行できます(もちろん、非常に困難ではありますが)。実際、複数のPythonインタプリタが存在しています。

CPython

で始めると Python公式サイト Python 3.5をダウンロードしてインストールすると、直接公式バージョンのインタプリタが手に入る。CPythonはC言語で開発されています。 python がCPythonインタプリタを起動するものです。

CPythonは最も広く使われているPythonインタプリタです。チュートリアルのコードもすべてCPythonの下で実行されます。

IPython

IPython は CPython の上に作られた対話型インタプリタです。つまり、IPython は対話の方法を拡張しただけで、CPython と全く同じ方法で Python コードを実行します。多くの中国製ブラウザが、見た目は違うけど、実はカーネルはIEを呼び出しているようなものです。

CPythonは >>> をプロンプトとして使用するのに対し、IPython は In [serial number]: をプロンプトとして表示します。

PyPy

PyPy は、実行速度を重視したもう一つの Python インタプリタです。 JIT技術 を動的にコンパイルすることで、Pythonコードの実行速度を大幅に向上させることができます(解釈しないことに注意)。

Pythonコードの大部分はPyPyで実行できますが、PyPyとCPythonは多少異なるため、同じPythonコードを両方のインタープリタで実行すると、異なる結果になることがあります。もしあなたのコードがPyPyの下で実行されるのであれば、次のことを理解する必要があります。 PyPyとCPythonの違いについて .

Jython

Jythonは、Javaプラットフォーム上で動作するPythonインタプリタであり、Pythonコードを直接Javaバイトコードにコンパイルして実行することができます。

IronPython

IronPythonはJythonに似ていますが、IronPythonはMicrosoft .Netプラットフォームで動作するPythonインタプリタで、Pythonのコードを直接.Netにコンパイルすることができます。

概要

Pythonのインタプリタはたくさんありますが、最も広く使われているのはCPythonです。Javaや.Netプラットフォームと対話したい場合、JythonやIronPythonではなく、プログラム間の独立性を確保するためにネットワークコールを介して対話するのが最適な方法です。

このチュートリアルのすべてのコードは、CPython バージョン 3.5 でのみ実行が保証されています。CPythonは必ずローカルにインストールしてください(つまり、Pythonの公式サイトからダウンロードしたインストーラを使用します)。

最初のPythonプログラム

Pythonの対話型環境の起動と終了の方法を理解したところで、正式にPythonのコードを書き始めることができます。

コードを書く前に、"copy"-"paste"でページから自分のコンピュータにコードを貼り付けないように注意してください。プログラムを書くということは、気持ちの問題でもあります。自分で一文字ずつコードを叩き込む必要がありますし、初心者はコードを打ち間違えることがよくあるので、ダブルチェックやクロスチェックでプログラムの書き方をマスターする必要があります。

対話型環境でのプロンプト >>> インタラクティブ環境のプロンプトで、コードを直接入力してエンターキーを押すと、すぐにコードの実行結果が得られます。では、次のように入力してみてください。 100+200 で、計算結果が300になるかどうか確認してください。

>>> 100+200
300


かなり単純でしょう?どんな有効な数学的計算でも理解できます。

Pythonに指定したテキストを出力させるためには print() 関数で、印刷したいテキストを一重引用符または二重引用符で囲みますが、一重引用符と二重引用符の混在はできません。

>>> print('hello, world')
hello, world


このようにシングルクォートまたはダブルクォートで囲まれたテキストをプログラムでは文字列と呼びますが、今後よく遭遇することになります。

最後に exit() Python を終了して、最初の Python プログラムは完成です。唯一の欠点は、保存されなかったので、次に実行するときにもう一度コードを入力しなければならないことです。

まとめ

Pythonの対話型コマンドラインでは、コードを直接入力し、実行し、すぐに結果を得ることができます。

テキストエディタを使用する

Pythonの対話型コマンドラインでプログラムを書くと、結果がすぐに出るという利点がありますが、保存ができないので、次に実行するときにまた叩き出さないといけないという欠点があります。

ですから、実際には、いつもテキストエディタでコードを書き、終わったらファイルとして保存して、何度もプログラムを実行できるようにしています。

では、最後の 'hello, world' のプログラムをテキストエディタで編集し、保存してください。

では、ここで問題です。最高のテキストエディタはどれでしょうか?

2つのテキストエディタをお勧めします。

1つは サブライムテキスト でお金を払わずにポップアップする、無料で使えるもの。

1つは メモ帳+α で、無料で使えて、中国語のインターフェースを持っています。

なお、どちらを使っても良いのですが WordやWindowsのメモ帳は絶対に使わないでください。 Wordはプレーンテキストファイルを保存しませんし、メモ帳はファイルの先頭にいくつかの特殊文字(UTF-8 BOM)を巧妙に追加するので、プログラムが不可解なエラーを起こしながら実行される可能性があります。

テキストエディタをインストールした状態で、以下のコードを入力してください。

print('hello, world')


なお print の前にはスペースを入れてはいけません。次に、ディレクトリを選択します。 C:\work という名前で保存し hello.py をクリックすると、コマンドラインウィンドウが開き、カレントディレクトリを hello.py ディレクトリに移動し、以下のようにプログラムを実行することができます。

C:\work>python hello.py
hello, world


のように、別のものとして保存することもできます。 first.py で始まる必要があります。 .py であり、それ以外は動作しません。また、ファイル名はアルファベット、数字、アンダースコアの組み合わせのみです。

カレントディレクトリに hello.py ファイルを実行します。 python hello.py というエラーが表示されます。

C:\Users\IEUser>python hello.py
python: can't open file 'hello.py': [Errno 2] No such file or directory


このエラーは hello.py ファイルが存在しないためです。この場合、そのファイルがカレントディレクトリに存在するかどうかを確認する必要があります。もし hello.py が別のディレクトリに格納されている場合、まず最初に cd コマンドでカレントディレクトリに切り替えます。

コマンドラインモードとPython対話型モード

コマンドラインモードとPythonの対話型モードの区別に注意してください。

のようなものをご覧ください。 C:\> は、Windowsが提供するコマンドラインモードでは

コマンドラインモードで実行すると python Python の対話型環境に入るには、次のように実行することもできます。 python hello.py を実行します。 .py ファイルを作成します。

を参照してください。 >>> は、Pythonの対話型環境である

Pythonの対話型環境では、Pythonのコードのみを入力し、すぐに実行することができます。

また、コマンドラインモードでの実行 .py ファイルは、Pythonの対話型環境でPythonコードを直接実行するのとは異なり、Pythonコードの各行の結果が自動的に出力されますが、Pythonコードを直接実行すると出力されません。

例えば、Pythonの対話型環境では、次のように入力します。

>>> 100 + 200 + 300
600


結果を直接確認することができます 600 .

しかし calc.py というファイルには、次のように書かれています。

100 + 200 + 300


次に、コマンドラインモードで、実行します。

C:\work>python calc.py


出力に何も見つかりませんでした。

これは正常です。結果を出力するには print() をプリントアウトしてください。置くこと calc.py に変換してください。

print(100 + 200 + 300)


もう一度実行すると、その結果が表示されます。

C:\work>python calc.py
600


pyファイルを直接実行する

他の学生は、.exeファイルのように直接実行できないかと質問した .py ファイルですか?Windows ではできませんが、Mac や Linux では .py ファイルの最初の行には、特別なコメントが追加されます。

#! /usr/bin/env python3

print('hello, world')


そして、コマンドを与えることで hello.py に実行権限を付与して

$ chmod a+x hello.py


を実行すればいいのです。 hello.py 例えば、Macでは、次のように実行します。

概要

Pythonのプログラムをテキストエディタで書き、それをファイルとして保存し、接尾辞を .py ファイルを作成すると、Pythonで直接プログラムを実行できるようになります。

Pythonの対話型モードと直接実行 .py ファイルを作成します。

に直接入力します。 python は対話型モードに入ります。これは Python インタープリタを起動するのと同じですが、ソースコードを一行ずつ入力するのを待ち、入力するごとに一行ずつ実行されます。

直接実行する .py ファイルは、Pythonインタプリタを起動するのと同じことであり、Pythonインタプリタから .py ファイルでは、ソースコードを対話的に入力する機会がありません。

Pythonでプログラムを開発する場合、テキストエディタでコードを書きながら、インタラクティブなコマンドウィンドウを開き、コードの一部をコマンドラインに張り付けて検証しながら書くことが完全に可能で、労力は半分で済むのです 前提条件は、27インチの巨大なモニターです

参照元ソースコード

hello.py

Pythonコードランタイムヘルパー

Python Code Runner Helperは、オンラインでPythonコードを入力し、ローカルで動作するPythonスクリプトから実行できるようにするものです。その根拠は以下の通りです。

  • のWebページでコードを入力します。

  • をクリックします。 Run ボタンを押すと、ローカルで動作しているPythonコードランナーにコードが送信されます。

  • Pythonコード・ランナー・アシスタントはコードを一時ファイルとして保存し、Pythonインタプリタを呼び出してコードを実行します。

  • Webページには、コードの実行結果が表示されます。

ダウンロード

右クリックし、対象をファイルに保存してください。 ラーニング.py

代替のダウンロードアドレス learning.py

実行

を格納した後 learning.py ディレクトリで、コマンドを実行します。

C:\Users\michael\Downloads> python learning.py


もし、あなたが Ready for Python code on port 39093... コマンドラインウインドウは閉じずに、最小化してバックグラウンドに置いてください。

効果を試す

HTML5への対応が必要なブラウザ。

  • IE >= 9
  • ファイアフォックス
  • クローム
  • サラフィ
# Test code:
----
print('Hello, world')


入力と出力

出力

使用方法 print() 括弧の中に文字列を入れることで、指定した文字列を画面に出力することができます。例えば、以下のように出力します。 'hello, world' は、次のようなコードで実装されています。

>>> print('hello, world')

print()

>>> print('the quick brown fox', 'jumps over', 'the lazy dog') The quick brown fox jumps over the lazy dog print() この関数は、カンマ ","で区切られた複数の文字列を受け付けることもでき、それらを連結して1つの出力文字列とすることができます。

print()

>>> print(300) 300 >>> print(100 + 200) 300 は、各文字列を順番に表示し、カンマ "、" はスペースを出力するので、出力文字列は次のようになります。

<イグ

100 + 200 また、整数や計算結果を表示することもできます。

>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300


という計算を取ることができるわけです。 100 + 200 その結果、少しきれいに印刷されます。

300

ただし '100 + 200 =' Python インタープリタは自動的に計算します。 print() を指定する必要がありますが input() は文字列であり、Pythonが文字列として扱う数式ではありません。上記のプリントアウトをご自身で解釈してください。

入力

これで >>> name = input() Michael を使えば、欲しい結果を出力することができます。しかし、ユーザーがコンピュータから何か文字を入力する場合はどうでしょうか?Pythonでは name = input() を使用すると、ユーザーが文字列を入力して変数に格納することができます。例えば、ユーザーの名前を入力する場合。

>>>

と入力すると name と入力してエンターキーを押すと、Pythonの対話型コマンドラインがあなたの入力を待っています。このとき、好きな文字を入力し、Enterキーを押して入力を終了します。

入力が終わると、プロンプトは表示されず、Pythonの対話型コマンドラインが name の状態になります。では、先ほど入力した内容はどこに行ったのでしょうか?答えは、それを >>> name 'Michael' という変数があります。次のように入力すればよいのです。 a をクリックすると、その変数の内容が表示されます。

a x a

変数とは何ですか? 中学校の数学で習った代数の基本を思い出してください。

正方形の辺の長さを次のようにする。 a とすると、正方形の面積は a . 一辺の長さを name を変数にすると name の値に基づいて、正方形の面積を計算する。

a=2の場合、面積はa×a=2×2=4となります。

a = 3.5 の場合、面積は a x a = 3.5 x 3.5 = 12.25 となる。

コンピュータのプログラムでは、変数は整数や浮動小数点数だけでなく、文字列も可能なので name を変数にすると、文字列になります。

をプリントアウトするには print() 変数の内容を書き込むだけでなく、さらに >>> print(name) Michael と入力してエンターキーを押すと 'hello, world' 関数を使用します。

name = input()
print('hello,', name)


入出力で、前回出力した name を、ある程度意味のあるものに変換します。

hello

上記のプログラムを実行すると、最初の行は、ユーザーに任意の文字を名前として入力してもらい、その文字を Michael 2行目のコードでは、ユーザーに対して、その名前に基づき C:\Workspace> python hello.py Michael hello, Michael 例えば、次のように入力すると input() :

name = input('please enter your name: ')
print('hello,', name)


しかし、このプログラムは、ユーザーに「おい、早く名前を入力しろよ」というメッセージも出さずに実行されますから、不親切に思えます。幸いなことに Please enter your name: では、ユーザーに促す文字列を表示することができますので、コードを

hello, xxx

このプログラムをもう一度実行してみると、実行と同時にまず C:\Workspace> python hello.py please enter your name: Michael hello, Michael というプロンプトが表示されるので、ユーザーはそのプロンプトに従って名前を入力して input() の出力は

print()

このプログラムを実行するたびに、ユーザーの入力に応じて出力が異なります。

コマンドラインでは、入力と出力はまさにそのようなシンプルなものです。

概要

どんなコンピュータプログラムも、特定のタスクを実行するために設計されています。入力によって、ユーザーはコンピュータ・プログラムに必要な情報を伝えることができ、出力によって、プログラムは実行され、ユーザーにタスクの結果を伝えることができます。

Inputは入力、Outputは出力なので、入力と出力をまとめてInput/Outputと呼び、IOと略すこともあります。

print() 1024 * 768 = xxx は、コマンドラインからの最も基本的な入出力ですが、他にも、ウェブページのテキストボックスに名前を入力してOKをクリックし、ウェブページ上の出力を見るなど、より高度なグラフィカルインターフェースからも行うことが可能です。

演習

を使用してください。 # -*- coding: utf-8 -*- ---- print(????) を出力します。 # print absolute value of an integer: a = 100 if a >= 0: print(a) else: print(-a) :

#

参照元ソースコード

do_input.py

Pythonの基礎知識

Pythonはコンピュータのプログラミング言語です。コンピュータのプログラミング言語と私たちが毎日使っている自然言語の最大の違いは、自然言語は文脈によって理解が異なることであり、コンピュータがプログラミング言語に従って作業を行うためには、プログラミング言語で書かれたプログラムが決して曖昧でないようにしなければならないことです。Pythonも例外ではありません。

Pythonの構文はシンプルで、インデントがあり、以下のような書き方をしています。

:

1 コメントで始まる文はコメントです。コメントは人間の目のためにあるもので、どんなものでもよいのですが、インタープリタはこれを無視します。それ以外の行はステートメントで、ステートメントがコロンで始まっている場合は 100 ステートメントがコロンで終わっている場合、インデントされたステートメントはコードのブロックとみなされます。

インデントにはメリットとデメリットがあります。メリットは整形されたコードを書かざるを得ないことですが、インデントが数スペースなのかタブなのかについてのルールはありません。慣習上、常に <スパン 4スペース のインデントが必要です。

インデントのもう一つの利点は、インデントが少ないコードを書かざるを得ないことです。長いコードをいくつかの関数に分割して、インデントが少ないコードを書こうとする傾向があるでしょう。

インデントの欠点は、"コピー&ペースト"の機能が使えないことで、これが一番悪い点です。コードをリファクタリングするときに、貼り付けたコードが正しいインデントになっているかどうかを再確認しなければなりません。また、IDEがJavaのコードをフォーマットするように、Pythonのコードをフォーマットするのは難しいです。

最後に、Pythonのプログラムは、必ず 大文字・小文字を区別する で、間違った大文字・小文字を書くと、プログラムがエラーを報告します。

概要

Pythonはコードのブロックを整理するためにインデントを使用するので、4スペースのインデントに固執する慣習に従ってください。

テキストエディタでは、タブとスペースが混在しないように、タブをスペース4つに自動変換する設定をする必要があります。

データ型と変数

データ型

コンピュータは数学的な計算をする機械である以上、プログラムがあらゆる種類の数値を扱えることは当然である。しかし、コンピュータが扱えるのは数値だけではありません。テキスト、グラフィックス、オーディオ、ビデオ、ウェブページ、その他あらゆる種類のデータを扱うことができ、データによって異なるデータ型を定義することが必要なのです。Pythonでは、直接扱えるデータ型は以下の通りです。

整数

Python はあらゆる大きさの整数を扱うことができ、もちろん負の整数も扱えますし、数学的に書かれたものと全く同じようにプログラムで表現します。 -8080 ,

0
, etc.
Since computers use binary, it is sometimes easier to represent integers in hexadecimal, which is represented by
0x
prefix and 0-9, a-f for example
0xff00
, the
0xa5b4c3d2
, etc.
Floating point number
A floating point number, also known as a decimal, is called a floating point number because when expressed in scientific notation, the decimal position of a floating point number is variable, for example, 1.23x10
9
and 12.3x10
8
are exactly equal. Floating-point numbers can be written mathematically, as in
1.23
and
3.14
and
-9.01
and so on. But for very large or very small floating-point numbers, you have to use scientific notation, replacing 10 with e, 1.23x10
9
is
1.23e9
or
12.3e8
and 0.000012 can be written as
1.2e-5
, etc.
Integers and floating point numbers are stored differently inside computers, and integer operations are always exact (is division exact too? Yes!) ), while floating-point operations can have rounding errors.
String
Strings are enclosed in single quotes
'
or double quotes
"
Any text enclosed in quotes, such as
'abc'
and
"xyz"
etc. Please note that the
''
or
""
is itself only a representation, not part of a string, so the string
'abc'
Only the
a
and
b
, c
These 3 characters. If
'
itself is also a character, then you can use
""
enclose it, for example
"I'm OK"
contains the characters
I
and
'
, m
, spaces.
O
, space
K
These 6 characters.
If the string contains both
'
and
"
What can I do? You can use the escape character
\
to identify it, e.g.
'I\'m \"OK\"!'

The content of the string represented is.
I'm "OK"!

Escape characters
\
Many characters can be escaped, such as
\n
indicates a line break, and
\t
indicates a tab, the character
\
itself is also escaped, so the
\\
represents a character that is
\
and can be used on Python's interactive command line with
print()
Print the string to see.
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\\\\')
\\n
\\

If there are a lot of characters inside the string that need to be escaped, you need to add a lot of
\
, and for simplicity, Python also allows the use of
r''
to represent
''
The internal strings are not escaped by default, so try it yourself at
>>> print('\\\t\\\')
\\t\\\
>>> print(r'\\\\\t\\\\')
\\\\t\\\\

If there are many newlines inside the string, use
\n
is not easy to read when written on a single line, for simplicity, Python allows the use of
'''...'''
format to represent multiple lines of content, try it yourself: the
>>> print('''line1
... line2
... line3''')
line1
line2
line3

The above is typed within an interactive command line, note that when typing multiple lines, the prompt is defined by the
>>>
to
...
which prompts you to type on the previous line. If written as a program, it would be.
print('''line1
line2
line3''')

Multi-line strings
'''...'''
can also be prefixed with
r
to use, please test it yourself.
Boolean
Boolean values are exactly the same as the representation of Boolean algebra, a Boolean value is only
True
, and
False
Both values, either
True
or
False
in Python, you can just use
True
,
False
indicates a Boolean value (please note the case), which can also be calculated by Boolean operations.
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False


The boolean can be used with
and
and
or
and
not
operations.
and
operations are with operations, and only all are
True
and
and
The result of the operation is
True
: The
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True

or
operations are or operations, as long as one of them is
True
, the
or
The result of the operation is
True
: The
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True

not
operator is a non-operator, which is a monadic operator that takes the
True
into
False
, the
False
becomes
True
:
>>> not True
False
>>> not False
True
>>> not 1 > 2
True

Booleans are often used in conditional judgments, such as
if age >= 18:
    print('adult')
else:
    print('teenager')

Null value
A null value is a special value in Python, and is represented by the
None
to represent it.
None
cannot be interpreted as
0
because
0
is meaningful, while
None
is a special null value.
In addition, Python provides a variety of data types such as lists and dictionaries, and also allows the creation of custom data types, which we'll continue to talk about later.
Variables
The concept of variables is basically the same as the equation variables in middle school algebra, except that in computer programs, variables can be not only numbers, but also any data type.
A variable is represented in a program by a variable name, which must be case-sensitive English, a number, and
_
and cannot start with a number, e.g.
a = 1

Variables
a
is an integer.
t_007 = 'T007'

Variables
t_007
is a string.
Answer = True

Variables
Answer
is a Boolean value
True
.
In Python, the equal sign
=
is an assignment statement that can assign any data type to a variable, the same variable can be assigned repeatedly, and it can be a different type of variable, e.g.
a = 123 # a is an integer
print(a)
a = 'ABC' # a becomes a string
print(a)

This type of language, where the variable itself is not of a fixed type, is called a dynamic language, and its counterpart is a static language. Static languages must specify the type of the variable when defining it, and will report an error if the type does not match when assigning the value. For example, Java is a static language, and the assignment statement is as follows (// indicates a comment)
int a = 123; // a is an integer type variable
a = "ABC"; // error: you cannot assign strings to integer variables

Dynamic languages are more flexible compared to static languages, for this reason.
Please don't equate the equals sign in an assignment statement with the equals sign in math. For example, the following code.
x = 10
x = x + 2

If understood mathematically
x = x + 2
That doesn't hold anyway; in the program, the assignment statement first computes the right-hand expression
x + 2
to get the result
12
and then assigning it to the variable
x
. Since
x
The previous value of
10
and after reassigning the value, the
x
becomes
12
.
Finally, it is also important to understand how variables are represented in computer memory. When we write.
a = 'ABC'

When the Python interpreter does two things.
creates an in-memory
'ABC'
string in memory.
Creates a string in memory named
a
and points it to the
'ABC'
.
It is also possible to put a variable
a
to another variable
b
This operation actually assigns the variable
b
to the variable
a
The data pointed to, such as the following code.
a = 'ABC'
b = a
a = 'XYZ'
print(b)

The last line prints out the variable
b
is exactly the content of
'ABC'
or
'XYZ'
? If understood in a mathematical sense, it would incorrectly result in
b
and
a
are the same, and should also be
'XYZ'
but in fact
b
value is
'ABC'
Let's execute the code line by line to see exactly what is happening: the
Execute
a = 'ABC'
, the interpreter creates the string
'ABC'
and the variable
a
and put
a
pointing to
'ABC'
:
Execute
b = a
, the interpreter creates the variable
b
and adds the
b
pointing to
a
The string to which the
'ABC'
:
Execute
a = 'XYZ'
, the interpreter creates the string 'XYZ' and puts the
a
to point to the
'XYZ'
but
b
does not change.
So, the final print variable
b
will naturally result in
'ABC'
The
constants
A constant is a variable that cannot change, for example, the common mathematical constant π is a constant. In Python, constants are usually represented by all-caps variable names.
PI = 3.14159265359

But the fact that
PI
is still a variable, and Python has no mechanism at all to ensure that
PI
will not be changed, so using all-caps variable names for constants is just a convention, and if you must change the variable
PI
value, no one can stop you.
A final explanation of why division by integers is also exact. In Python, there are two kinds of division; one division is
/
:
>>> 10 / 3
3.333333333333333335

/
Division results in a floating-point number, even when two integers divide exactly.
>>> 9 / 3
3.0

There is also a division method of
//
, called floor division, where the division of two integers is still an integer: the
>>> 10 // 3
3

You read that right, floor division of integers
//
is always an integer, even if the division is inexact. To do exact division, use
//
will work.
Because
//
division takes only the integer part of the result, Python also provides a remainder operation that gives the remainder of the division of two integers: the
>>> 10 % 3
1

Whatever integer does
//
divide or take remainders, the result is always an integer, so the result of integer arithmetic is always exact.

Exercise
Print out the values of the following variables.
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r '''Hello,
Lisa!'''

Summary
Python supports a variety of data types, and within the computer, any data can be thought of as an "object", and variables are used in programs to point to these data objects, and assigning values to variables is how you associate data with variables.
Note: Python integers have no size limit, while some languages have size limits on integers based on their storage length, e.g. Java limits the range of 32-bit integers to
-2147483648
2147483647
. Python's floating-point numbers also have no size limit, but beyond a certain range they are expressed directly as inf (infinite). Strings and encoding Character encoding We've already talked about how strings are also a data type, but what's special about strings is that there's an encoding issue. Because computers can only process numbers, if you want to process text, you must first convert the text to numbers before you can process it. The earliest computers were designed with eight bits as a byte, so the largest integer a byte can represent is 255 (binary 1111111111 = decimal 255), and to represent larger integers, you must use more bytes. For example, the largest integer that can be represented by two bytes is 65535 and the largest integer that can be represented by 4 bytes is 4294967295 . Since the computer was invented in the United States, only 127 letters were first encoded into the computer, that is, upper and lower case letters, numbers, and some symbols, and this code list was called ASCII encoding, such as the uppercase letters A is encoded as 65 and lowercase letters z is encoded as 122 . But to handle Chinese it was clear that one byte was not enough, at least two bytes were needed, and there was no conflict with ASCII, so China developed the GB2312 encoding, which is used to encode Chinese. As you can imagine, there are hundreds of languages around the world, and Japan encodes Japanese into Shift_JIS Korea codifies Korean in Euc-kr In this case, each country has its own standards, and conflicts will inevitably arise, resulting in garbled text in a multilingual mix. Thus, Unicode was born, unifying all languages into one set of encoding so that there are no more garbled codes. The Unicode standard has evolved as well, but the most common one is to represent a character in two bytes (four bytes if you want to use a very remote character). Unicode is directly supported by modern operating systems and most programming languages. Now, run through the differences between ASCII and Unicode encoding: ASCII is 1 byte, while Unicode is usually 2 bytes. Letters A Encoding in ASCII is decimal 65 in ASCII, binary 01000001 ; the character 0 Using ASCII encoding is decimal 48 in ASCII, binary 00110000 , note the character '0' and the integer 0 are different. Chinese character in is beyond ASCII encoding and is decimal in Unicode 20013 in binary 01001110 00101101 . As you can guess, if you take the ASCII-encoded A encoded in Unicode, you just need to append a zero to the front, so the A is encoded in Unicode as 00000000 01000001 . A new problem arises: if you standardize on Unicode, the garbled code problem goes away. However, if you write essentially all text in English, Unicode requires twice as much storage space as ASCII, making it very uneconomical to store and transfer. So, in the spirit of saving, there is the Unicode to "variable length" encoding UTF-8 The UTF-8 encoding encodes a Unicode character into 1-6 bytes depending on the size of the number, with common English letters encoded as 1 byte, Chinese characters usually as 3 bytes, and only very rare characters as 4-6 bytes. If the text you are transferring contains a lot of English characters, using UTF-8 encoding will save space: the

0
, etc.
Since computers use binary, it is sometimes easier to represent integers in hexadecimal, which is represented by
0x
prefix and 0-9, a-f for example
0xff00
, the
0xa5b4c3d2
, etc.
Floating point number
A floating point number, also known as a decimal, is called a floating point number because when expressed in scientific notation, the decimal position of a floating point number is variable, for example, 1.23x10
9
and 12.3x10
8
are exactly equal. Floating-point numbers can be written mathematically, as in
1.23
and
3.14
and
-9.01
and so on. But for very large or very small floating-point numbers, you have to use scientific notation, replacing 10 with e, 1.23x10
9
is
1.23e9
or
12.3e8
and 0.000012 can be written as
1.2e-5
, etc.
Integers and floating point numbers are stored differently inside computers, and integer operations are always exact (is division exact too? Yes!) ), while floating-point operations can have rounding errors.
String
Strings are enclosed in single quotes
'
or double quotes
"
Any text enclosed in quotes, such as
'abc'
and
"xyz"
etc. Please note that the
''
or
""
is itself only a representation, not part of a string, so the string
'abc'
Only the
a
and
b
, c
These 3 characters. If
'
itself is also a character, then you can use
""
enclose it, for example
"I'm OK"
contains the characters
I
and
'
, m
, spaces.
O
, space
K
These 6 characters.
If the string contains both
'
and
"
What can I do? You can use the escape character
\
to identify it, e.g.
'I\'m \"OK\"!'

The content of the string represented is.
I'm "OK"!

Escape characters
\
Many characters can be escaped, such as
\n
indicates a line break, and
\t
indicates a tab, the character
\
itself is also escaped, so the
\\
represents a character that is
\
and can be used on Python's interactive command line with
print()
Print the string to see.
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\\\\')
\\n
\\

If there are a lot of characters inside the string that need to be escaped, you need to add a lot of
\
, and for simplicity, Python also allows the use of
r''
to represent
''
The internal strings are not escaped by default, so try it yourself at
>>> print('\\\t\\\')
\\t\\\
>>> print(r'\\\\\t\\\\')
\\\\t\\\\

If there are many newlines inside the string, use
\n
is not easy to read when written on a single line, for simplicity, Python allows the use of
'''...'''
format to represent multiple lines of content, try it yourself: the
>>> print('''line1
... line2
... line3''')
line1
line2
line3

The above is typed within an interactive command line, note that when typing multiple lines, the prompt is defined by the
>>>
to
...
which prompts you to type on the previous line. If written as a program, it would be.
print('''line1
line2
line3''')

Multi-line strings
'''...'''
can also be prefixed with
r
to use, please test it yourself.
Boolean
Boolean values are exactly the same as the representation of Boolean algebra, a Boolean value is only
True
, and
False
Both values, either
True
or
False
in Python, you can just use
True
,
False
indicates a Boolean value (please note the case), which can also be calculated by Boolean operations.
>>> True
True
>>> False
False
>>> 3 > 2
True
>>> 3 > 5
False


The boolean can be used with
and
and
or
and
not
operations.
and
operations are with operations, and only all are
True
and
and
The result of the operation is
True
: The
>>> True and True
True
>>> True and False
False
>>> False and False
False
>>> 5 > 3 and 3 > 1
True

or
operations are or operations, as long as one of them is
True
, the
or
The result of the operation is
True
: The
>>> True or True
True
>>> True or False
True
>>> False or False
False
>>> 5 > 3 or 1 > 3
True

not
operator is a non-operator, which is a monadic operator that takes the
True
into
False
, the
False
becomes
True
:
>>> not True
False
>>> not False
True
>>> not 1 > 2
True

Booleans are often used in conditional judgments, such as
if age >= 18:
    print('adult')
else:
    print('teenager')

Null value
A null value is a special value in Python, and is represented by the
None
to represent it.
None
cannot be interpreted as
0
because
0
is meaningful, while
None
is a special null value.
In addition, Python provides a variety of data types such as lists and dictionaries, and also allows the creation of custom data types, which we'll continue to talk about later.
Variables
The concept of variables is basically the same as the equation variables in middle school algebra, except that in computer programs, variables can be not only numbers, but also any data type.
A variable is represented in a program by a variable name, which must be case-sensitive English, a number, and
_
and cannot start with a number, e.g.
a = 1

Variables
a
is an integer.
t_007 = 'T007'

Variables
t_007
is a string.
Answer = True

Variables
Answer
is a Boolean value
True
.
In Python, the equal sign
=
is an assignment statement that can assign any data type to a variable, the same variable can be assigned repeatedly, and it can be a different type of variable, e.g.
a = 123 # a is an integer
print(a)
a = 'ABC' # a becomes a string
print(a)

This type of language, where the variable itself is not of a fixed type, is called a dynamic language, and its counterpart is a static language. Static languages must specify the type of the variable when defining it, and will report an error if the type does not match when assigning the value. For example, Java is a static language, and the assignment statement is as follows (// indicates a comment)
int a = 123; // a is an integer type variable
a = "ABC"; // error: you cannot assign strings to integer variables

Dynamic languages are more flexible compared to static languages, for this reason.
Please don't equate the equals sign in an assignment statement with the equals sign in math. For example, the following code.
x = 10
x = x + 2

If understood mathematically
x = x + 2
That doesn't hold anyway; in the program, the assignment statement first computes the right-hand expression
x + 2
to get the result
12
and then assigning it to the variable
x
. Since
x
The previous value of
10
and after reassigning the value, the
x
becomes
12
.
Finally, it is also important to understand how variables are represented in computer memory. When we write.
a = 'ABC'

When the Python interpreter does two things.
creates an in-memory
'ABC'
string in memory.
Creates a string in memory named
a
and points it to the
'ABC'
.
It is also possible to put a variable
a
to another variable
b
This operation actually assigns the variable
b
to the variable
a
The data pointed to, such as the following code.
a = 'ABC'
b = a
a = 'XYZ'
print(b)

The last line prints out the variable
b
is exactly the content of
'ABC'
or
'XYZ'
? If understood in a mathematical sense, it would incorrectly result in
b
and
a
are the same, and should also be
'XYZ'
but in fact
b
value is
'ABC'
Let's execute the code line by line to see exactly what is happening: the
Execute
a = 'ABC'
, the interpreter creates the string
'ABC'
and the variable
a
and put
a
pointing to
'ABC'
:
Execute
b = a
, the interpreter creates the variable
b
and adds the
b
pointing to
a
The string to which the
'ABC'
:
Execute
a = 'XYZ'
, the interpreter creates the string 'XYZ' and puts the
a
to point to the
'XYZ'
but
b
does not change.
So, the final print variable
b
will naturally result in
'ABC'
The
constants
A constant is a variable that cannot change, for example, the common mathematical constant π is a constant. In Python, constants are usually represented by all-caps variable names.
PI = 3.14159265359

But the fact that
PI
is still a variable, and Python has no mechanism at all to ensure that
PI
will not be changed, so using all-caps variable names for constants is just a convention, and if you must change the variable
PI
value, no one can stop you.
A final explanation of why division by integers is also exact. In Python, there are two kinds of division; one division is
/
:
>>> 10 / 3
3.333333333333333