Python 3の基本構文

エンコーディング

デフォルトでは、Python 3ソースコードファイルはUTF-8でエンコードされ、すべての文字列はユニコード(unicode)文字列です。 もちろん、ソースコードファイルに別のエンコーディングを指定することもできます。

# -*- coding: cp-1252 -*-

上記の定義では、ソースファイルのWindows-1252文字セットで文字コードを使用できます。対応する適切な言語は、ブルガリア、ベラルーシ、マケドニア、ロシア、セルビアです。

識別子

  • 最初の文字は、アルファベットの文字または下線_である必要があります。
  • 識別子の他の部分は、文字、数字、および下線で構成されます。
  • 識別子は大文字と小文字が区別されます。

Python 3では、変数名として日本語を使用でき、非ASCII識別子も使用できます。

Pythonの予約語(キーワード)

予約語(キーワード)は、識別子名として使用することはできません。 Pythonの標準ライブラリは、現在のバージョンのすべてのキーワードを出力できるキーワードモジュールを提供しています。

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

コメント

Pythonの1行のコメントは#で始まります。例は次のとおりです。

例(Python 3.0以降)

#!/usr/bin/python3 
#最初のコメント
print ("Hello, Python!") 
#2番目のコメント

上記のコードを実行すると、出力結果は次のようになります。

Hello, Python!

複数行のコメントでは、複数の#記号、および ”’ と “””を使用できます。

例(Python 3.0以降)

#!/usr/bin/python3
#最初のコメント
#2番目のコメント
''' 
3番目のコメント
4番目のコメント
''' 
""" 
5番目のコメント
6番目のコメント
""" 
print ("Hello, Python!")

上記のコードを実行すると、出力結果は次のようになります。

Hello, Python!

行とインデント

Pythonの最も特徴的な機能は、中括弧{}を使用せずに、インデントを使用してコードブロックを表すことです。

インデントされたスペースの数は変更できますが、同じコードブロック内のステートメントには、同じ数のインデントされたスペースが含まれている必要があります。 例は次のとおりです。

例(Python 3.0以降)

if True: print ("True") else: print ("False")

次のコードの最後の行のステートメントのインデントのスペースの数に一貫性がないため、ランタイムエラーが発生します。

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
   print ("False")#一貫性のないインデントはランタイムエラーを引き起こします。

上記のプログラムの一貫性のないインデントにより、実行後に次のようなエラーが表示されます。

File "test.py", line 6
     print( "False")#一貫性のないインデントはランタイムエラーを引き起こします。
                                       ^
IndentationError: unindent does not match any outer indentation level

複数行のステートメント

Pythonは通常、1つのステートメントを1行で記述しますが、ステートメントが非常に長い場合は、バックスラッシュ(\)を使用して複数行のステートメントを実装できます。次に例を示します。

total = item_one + \
item_two + \
item_three

[]、{}、または()の複数行のステートメントでは、バックスラッシュ(\)を使用する必要はありません。次に例を示します。

total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']

数値型

pythonには、整数、ブール(bool)、浮動小数点、複素数の4種類の数値があります。

  • 1などのint(整数)は、一種類の整数型intがしかありません。python2にある长整型(Long)がありません。
  • Trueなどのbool(ブール値)。
  • 1.23、3E-2などのfloat(浮動小数点数)
  • 1 + 2j、1.1 + 2.2jなどのcomplex (複素数)

文字列(String)

  • Pythonでの単一引用符と二重引用符の使用はまったく同じです。
  • 複数行の文字列を指定するには、三重引用符( “‘または” “”)を使用します。
  • エスケープ:バックスラッシュ ‘\’
  • バックスラッシュ’\’を使用してエスケープできます。rを使用すると、バックスラッシュをエスケープできなくなります。 たとえば、r “this is a line with \n”である場合、改行ではなく\nが表示されます。
  • 文字通り文字列を連結すると、 “this” “is” “string”は自動的にthis is stringに変換されます。
  • 文字列は+演算子で連結し、*演算子で繰り返すことができます。
  • Pythonの文字列には、左から右に0で始まる方法と、右から左に-1で始まる方法の2つのインデックス方法があります。
  • Pythonの文字列は変更できません。
  • Pythonには個別の文字タイプはありません。文字は長さ1の文字列です。
  • 文字列の構文形式は次のとおりです。変数[検索開始:検索終了:増分]
word = '文字列(string)'
sentence= "一つのステートメント。"
paragraph= "" "一つの段、
複数の行で構成できます """

例(Python 3.0以降)

#!/usr/bin/python3 
str='ceodata.com'
print(str) # 文字列を出力します。
print(str[0:-1]) #最初から最後の2番目までのすべての文字を出力します。
print(str[0]) # 文字列の最初の文字を出力します。
print(str[2:5]) # 3番目から5番目までの文字を出力します。
print(str[2:]) #3番目からすべての文字を出力します。
print(str[1:5:2]) # 2番目から5番目まで1文字おきに出力します。
print(str * 2) #文字列を2回出力します。
print (str + 'こんにちは') #文字列を接続します。
print('------------------------------')
print('hello\nceodata.com') # スラッシュ(\)+ nエスケープ特殊文字を使用します。
print(r'hello\nceodata.com') #文字列の前にrを追加します。これは、元の文字列がエスケープしないことを意味します。

ここで、rはraw、つまりraw文字列を指し、次のように自動的にバックスラッシュをエスケープします。例えば:

>>> print( '\n')#空白行を出力します。

>>> print(r '\n')#\ nを出力します。
\n
>>>

上記の例の出力は

ceodata.com
ceodata.co
c
oda
odata.com
ed
ceodata.comceodata.com
ceodata.comこんにちは
------------------------------
hello
ceodata.com
hello\nceodata.com

空白行

空白行を使用して関数の間またはクラスのメソッドの間を区切り、新しいコードの始まりを示します。 クラスと関数のエントリの間も、空白行で区切ります。関数のエントリの先頭を強調するためです。

空白行はコードインデントとは異なります。空白行はPython構文の一部ではありません。 空白行は挿入しなくても、Pythonインタープリターはエラーなしで実行されます。 しかし、空白行の機能は、将来のコードのメンテナンまたは再構築を容易にするために、異なる機能または意味を持つコードの2つのセクションを分離することです。

注意:空白行もプログラムコードの一部です。

ユーザーの入力を待ちます

次のプログラムを実行し、Enterキーを押した後、ユーザーの入力を待ちます。

例(Python 3.0以降)

#!/usr/bin/python3 input("\n\nEnterキーを押して終了します。")

上記のコードでは、”\n\n”は、結果を出力する前に2つの新しい空白行を出力します。 ユーザーがEnterキーを押すと、プログラムは終了します。

同じ行に複数のステートメントを表示します

Pythonは、セミコロン(;)で区切って、同じ行で複数のステートメントを使用できます。以下は簡単な例です。

例(Python 3.0以降)

#!/usr/bin/python3 import sys; x = 'ceodata.com'; sys.stdout.write(x + '\n')

スクリプトを使用して上記のコードを実行すると、出力結果は次のようになります。

ceodata.com

対話(インタラクティブ)コマンドラインを使用して実行すると、出力結果は次のようになります。

>>> import sys; x = 'ceodata.com'; sys.stdout.write(x + '\n')
ceodata.com
12

ここでの12は文字数を表します。

複数のステートメントがコードグループを形成します

同じインデントを持つステートメントのグループは、コードブロックを構成します。これをコードグループと呼びます。

if、while、def、classなどの複合ステートメントの場合、最初の行はキーワードで始まり、コロン(:)で終わり、この行の後の1行または数行のコードがコードグループを構成します。
最初の行と次のコードグループをclauseと呼びます。

次の例のようになります。

if expression :
suite
elif expression :
suite
else :
suite

print出力

printのデフォルト出力は改行です。改行を行わないようにする場合は、変数の最後にend = “”:を追加する必要があります。

例(Python 3.0以降)

#!/usr/bin/python3 
x="a"
y="b"
#改行出力
print( x )
print( y )
print('---------')
#改行出力なし
print( x, end=" " )
print( y, end=" " )
print()

上記の例の実行結果は次のとおりです。

a
b
---------
a b

importおよびfrom …import

対応するモジュールをインポートするには、pythonでimportまたはfrom … importを使用します。

モジュール全体(somemodule)を次の形式でインポートします。

import somemodule

モジュールから関数をインポートします。形式は次のとおりです。

from somemodule import somefunction

モジュールから複数の関数をインポートします。形式は次のとおりです。

from somemodule import firstfunc, secondfunc, thirdfunc

モジュール内のすべての関数をインポートします。形式は次のとおりです。

from somemodule import *

sysモジュールをインポートします。

import sys print('================Python import mode==========================')
print ('コマンドライン引数は:')
for i in sys.argv:print(i)
print ('\ n python path is ',sys.path)

sysモジュールのargv、pathメンバーをインポートします。

from sys import argv、path #特定のメンバーをインポートします。
print('================python from import===================================')
print ('path:',path) #パスメンバーがインポートされているため、ここで参照するときにsys.pathを追加する必要はありません。

コマンドライン引数

多くのプログラムは、いくつかの操作を実行していくつかの基本情報を表示できます。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. ]

スクリプト形式でPythonを実行すると、コマンドラインから入力された引数を受け取ることができます。具体的な使用法については、Python3コマンドライン引数を参照してください

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です