Python3-基本構文
Python言語には、Perl、C、およびJavaと多くの類似点があります。ただし、言語間には明確な違いがいくつかあります。
最初のPythonプログラム
さまざまなプログラミングモードでプログラムを実行してみましょう。
インタラクティブモードプログラミング
スクリプトファイルをパラメータとして渡さずにインタプリタを呼び出すと、次のプロンプトが表示されます-
$ python
Python 3.3.2 (default, Dec 10 2013, 11:35:01)
[GCC 4.6.3] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>
On Windows:
Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>
Pythonプロンプトで次のテキストを入力し、Enterキーを押します。
>>> print ("Hello, Python!")
古いバージョンのPython(Python 2.x)を実行している場合は、括弧を次のように使用します。 inprint機能はオプションです。これにより、次の結果が生成されます-
Hello, Python!
スクリプトモードプログラミング
スクリプトパラメータを使用してインタプリタを呼び出すと、スクリプトの実行が開始され、スクリプトが終了するまで続行されます。スクリプトが終了すると、インタプリタはアクティブではなくなります。
簡単なPythonプログラムをスクリプトで書いてみましょう。Pythonファイルの拡張子は.py。test.pyファイルに次のソースコードを入力します-
print ("Hello, Python!")
Pythonインタープリターが設定されていることを前提としています PATH変数。ここで、このプログラムを次のように実行してみてください-
On Linux
$ python test.py
これにより、次の結果が生成されます-
Hello, Python!
On Windows
C:\Python34>Python test.py
これにより、次の結果が生成されます-
Hello, Python!
LinuxでPythonスクリプトを実行する別の方法を試してみましょう。これが変更されたtest.pyファイルです-
#!/usr/bin/python3
print ("Hello, Python!")
/ usr / binディレクトリにPythonインタープリターが用意されていることを前提としています。ここで、このプログラムを次のように実行してみてください-
$ chmod +x test.py # This is to make file executable
$./test.py
これにより、次の結果が生成されます-
Hello, Python!
Python識別子
Python識別子は、変数、関数、クラス、モジュール、またはその他のオブジェクトを識別するために使用される名前です。識別子は、文字AからZまたはaからzまたはアンダースコア(_)で始まり、その後に0個以上の文字、アンダースコア、および数字(0から9)が続きます。
Pythonでは、識別子内に@、$、%などの句読文字を使用できません。Pythonは大文字と小文字を区別するプログラミング言語です。したがって、Manpower そして manpower Pythonでは2つの異なる識別子です。
Python識別子の命名規則は次のとおりです-
クラス名は大文字で始まります。他のすべての識別子は小文字で始まります。
単一の先頭の下線で識別子を開始すると、識別子がプライベートであることを示します。
2つの先頭の下線で識別子を開始すると、強力なプライベート識別子を示します。
識別子の末尾に2つのアンダースコアも付いている場合、その識別子は言語で定義された特別な名前です。
予約語
次のリストは、Pythonキーワードを示しています。これらは予約語であり、定数や変数、またはその他の識別子名として使用することはできません。すべてのPythonキーワードには、小文字のみが含まれています。
そして | exec | ない |
なので | 最終的に | または |
主張する | にとって | パス |
ブレーク | から | 印刷 |
クラス | グローバル | 上げる |
継続する | もし | 戻る |
def | インポート | 試してみてください |
デル | に | 一方 |
エリフ | です | と |
そうしないと | ラムダ | 産出 |
を除いて |
線とインデント
Pythonは、中括弧({})を使用して、クラスと関数の定義またはフロー制御のコードブロックを示しません。コードのブロックは行のインデントで示され、厳密に適用されます。
インデント内のスペースの数は可変ですが、ブロック内のすべてのステートメントは同じ量だけインデントする必要があります。例-
if True:
print ("True")
else:
print ("False")
ただし、次のブロックはエラーを生成します-
if True:
print ("Answer")
print ("True")
else:
print "(Answer")
print ("False")
したがって、Pythonでは、同じ数のスペースでインデントされたすべての連続行がブロックを形成します。次の例には、さまざまなステートメントブロックがあります-
Note−この時点ではロジックを理解しようとしないでください。中括弧がない場合でも、さまざまなブロックを理解していることを確認してください。
#!/usr/bin/python3
import sys
file_finish = "end"
file_text = ""
contents=[]
file_name=input("Enter filename: ")
if len(file_name) == 0:
print("Please enter filename")
sys.exit()
try:
# open file stream
file = open(file_name, "w")
except IOError:
print ("There was an error writing to", file_name)
sys.exit()
print ("Enter '", file_finish,)
print ("' When finished")
while file_text != file_finish:
file_text = input("Enter text: ")
contents.append(file_text)
if file_text == file_finish:
# close the file
file.close()
break
print(contents)
data = ' '.join([str(elem) for elem in contents])
print(data)
file.write(data)
file.close()
file_name = input("Enter filename: ")
if len(file_name) == 0:
print ("Next time please enter something")
sys.exit()
try:
file = open(file_name, "r")
except IOError:
print ("There was an error reading file")
sys.exit()
file_text = file.read()
file.close()
print (file_text)
複数行のステートメント
Pythonのステートメントは通常、改行で終わります。ただし、Pythonでは、行継続文字(\)を使用して、行を継続する必要があることを示すことができます。例-
total = item_one + \
item_two + \
item_three
[]、{}、または()括弧内に含まれるステートメントは、行継続文字を使用する必要はありません。例-
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Pythonでの引用
Pythonは、同じタイプの引用符が文字列を開始および終了する限り、文字列リテラルを示すために単一( ')、二重( ")、および三重(' ''または" "")引用符を受け入れます。
トリプルクォートは、文字列を複数行にまたがるのに使用されます。たとえば、次のすべてが合法です-
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
Pythonでのコメント
文字列リテラル内にないハッシュ記号(#)は、コメントの始まりです。#の後の物理行の終わりまでのすべての文字はコメントの一部であり、Pythonインタープリターはそれらを無視します。
#!/usr/bin/python3
# First comment
print ("Hello, Python!") # second comment
これにより、次の結果が生成されます-
Hello, Python!
ステートメントまたは式の後に同じ行にコメントを入力できます-
name = "Madisetti" # This is again comment
Pythonには複数行のコメント機能はありません。次のように、各行に個別にコメントする必要があります-
# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.
空白行の使用
おそらくコメント付きの空白のみを含む行は空白行と呼ばれ、Pythonはそれを完全に無視します。
対話型インタプリタセッションでは、複数行のステートメントを終了するには、空の物理行を入力する必要があります。
ユーザーを待っています
プログラムの次の行には、プロンプトと「Enterキーを押して終了します」というステートメントが表示され、ユーザーがアクションを実行するのを待ちます-
#!/usr/bin/python3
input("\n\nPress the enter key to exit.")
ここで、「\ n \ n」は、実際の行を表示する前に2つの新しい行を作成するために使用されます。ユーザーがキーを押すと、プログラムは終了します。これは、ユーザーがアプリケーションを使い終えるまでコンソールウィンドウを開いたままにしておくための優れたトリックです。
1行に複数のステートメント
セミコロン(;)は、新しいコードブロックを開始するステートメントがない場合、1行に複数のステートメントを許可します。これはセミコロンを使用したサンプルの切り取りです-
import sys; x = 'foo'; sys.stdout.write(x + '\n')
スイートとしての複数のステートメントグループ
単一のコードブロックを構成する個々のステートメントのグループは、 suitesPythonで。if、while、def、classなどの複合ステートメントまたは複雑なステートメントには、ヘッダー行とスイートが必要です。
ヘッダー行は(キーワードで)ステートメントを開始し、コロン(:)で終了し、その後にスイートを構成する1つ以上の行が続きます。例-
if expression :
suite
elif expression :
suite
else :
suite
コマンドライン引数
多くのプログラムを実行して、実行方法に関する基本的な情報を提供できます。Pythonを使用すると、これを次のように行うことができます-h −
$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]
さまざまなオプションを受け入れるようにスクリプトをプログラムすることもできます。コマンドライン引数は高度なトピックです。理解しましょう。