CrazyWing:Python自動化運転メンテナンス開発実戦二、Python基本用法
7331 ワード
ガイド:
Pythonのプログラミングは広くて深くて、知識の点が多くて、まず全体的にpythonのいくつかの基本的な使い方を理解してから、すべての知識の点について詳しく研究する必要があります.このように学習のスピードはずっと速いです.そこで、pythonが事前に知っておくべき基本的な知識を見てみましょう.
インタラクティブモードプログラミング:
インタラクションとは、ユーザー、すなわちpythonを使用する人とインタラクションし、命令やコードを与え、python解釈器が結果を与えることです.呼び出しインタプリタは、スクリプトファイルをパラメータとして使用せずに、次のプロンプトを表示します.
ipythonの使用を強くお勧めします.そのインストール方法は以下の通りです.https://blog.51cto.com/fklinux/2046741
スクリプト・モードのプログラミング:
スクリプトプログラミングとは、pythonコマンドやコードをテキストファイルに書き込み、これらのコマンドにコマンド解釈器を指定することです.このファイルファイルはpythonスクリプトです.例えば、次のコードをtestに書き込む.pyファイル
プログラムの実行:
python test.py
別の方法でPythonスクリプトを実行し、修正後のtest.pyファイル:#!/usr/bin/pythonprint "Hello, Python!"
プログラムの実行:
chmod +x test.py
スクリプトモードプログラミングで中国語を使用
pythonのデフォルトではasciiコードが使用され、中国語はサポートされていません.中国語を使用するには、中国語をサポートする文字セットを宣言する必要があります.一般的にutf 8です.方法は以下の通りです.
上の3つの方法はすべてどうしてこんなに多くの書き方がありますか?pythonは、文字セット定義の中に彼が見たいものがあるかどうかを正則的に検出します.次の正則に合えばいいです.
注意:python 3では中国語を直接サポートできます.中国語をサポートする文字セットを指定する必要はありません.
Python識別子:
識別子命名規則:
アンダースコアを変数名の先頭にしないでください.
予約語:
予約ワードは、定数または変数、または他の識別子として使用できません.すべてのPythonキーワードには小文字しか含まれていません.現在のバージョンpythonのすべてのキーワードをクエリーします.
import keyword#システムにこのモジュールがない場合はpython-docskeywordをインストールする必要があります.kwlist['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
キーワードかどうかを判断します.
keyword.iskeyword('False')はTrueに戻ります
行とインデント:
Pythonを学習する際、最初に注意しなければならないのは、コードのクラスや関数定義ブロックやプロセス制御をカッコで表さないことです.コードブロックは行によってインデントされ、これは厳密に表現されます.インデントビットの数は可変ですが、ブロック内のすべての文は同じ量インデントする必要があります.この例では、2つの機能ブロックがよく使用されます.
この例の2番目のブロックでは、エラーが発生します.
したがって、Pythonのすべての連続線のインデントのスペース数は同じようにブロックされます.
複数行文:
Python文は通常、新しい行で終了します.ただし、Pythonでは、行を継続すべき(行をまたぐ)ことを示すために、継続文字()を使用することができます.
例:
[],{}または()カッコに含まれる記述は、継続文字を使用する必要はありません.例:
三重引用符""または'''を使用して、複数行の文を印刷し、フォーマットを書くとフォーマットを印刷できます.たとえば、次のようになります.
印刷結果は次のとおりです.
続行記号():
Python文は、一般的に改行区切り、つまり1行1文を使用します.1行の長すぎる文は、スラッシュ()を使用して、次のようにいくつかの行に分割できます.
引用符:
Pythonでは、同じタイプの引用符の開始と終了の文字列であれば、単一引用符(')、二重引用符(')、三重('''または')引用符を使用して文字列定数を表すことができます.三重引用符は、複数の行にまたがる文字列に使用できます.たとえば、次のようになります.
コメント:
1行コメント:井戸番号(#)、「#」の後の文字は行の最後までコメントであり、Python解釈器は無視します.たとえば、次のようになります.
三重引用符を使用して複数行のコメントを作成します.
ユーザーの待機:
方式1:raw_input()
プログラムの次の行に表示されるヒントは、Enterキーを押して終了し、ユーザーがEnterキーを押すのを待つ:#!/usr/bin/pythonraw_input("Press the enter key to exit.")ユーザがキーを押すと、プログラムは終了する.これは、ユーザーがアプリケーションの実行を完了するまでインタラクティブな会話を維持する良いテクニックです.
方式2:input()
ユーザーの入力を待つ2つの方法の違いは、次のとおりです.
1行の複数の文:
複数の文グループがスイートとして使用されます.
Pythonで単一のコードブロックをシーケンスと呼ぶ個別の文のセット.if,while,def,and classなどの複雑な文は、タイトル行とスイートが必要です.ヘッダー行は宣言(キーワード)と開始し、コロン(:)と終了し、1つ以上の線でスイートを構成します.たとえば、次のようにします.
コマンドラインパラメータ:
多くのプログラムは実行でき、実行方法に関する基本的な情報を提供します.Pythonでは-hを使用してこれを行うことができます.
スクリプトを設定することもできます.このような方法で様々なオプションを受け入れるべきです.
pythonスクリプトにパラメータを渡すには、モジュール:sysが必要です.
モジュール
各Pythonスクリプトファイルはモジュールと見なすことができます.モジュールはディスクファイルとして存在します.1つのモジュールが大きすぎて、多すぎる機能を駆動している場合は、いくつかのコードを分解して別のモジュールを構築することを考慮する必要があります.モジュール内のコードは、直接実行されるスクリプトであってもよいし、ライブラリ関数のようなコードであってもよく、他のモジュールインポート(import)によって呼び出されてもよい.モジュールは、直接実行されるコードブロック、クラス定義、関数定義、またはこれらの組合せを含むことができる.後で専門のモジュールの説明があります
Pythonのプログラミングは広くて深くて、知識の点が多くて、まず全体的にpythonのいくつかの基本的な使い方を理解してから、すべての知識の点について詳しく研究する必要があります.このように学習のスピードはずっと速いです.そこで、pythonが事前に知っておくべき基本的な知識を見てみましょう.
インタラクティブモードプログラミング:
インタラクションとは、ユーザー、すなわちpythonを使用する人とインタラクションし、命令やコードを与え、python解釈器が結果を与えることです.呼び出しインタプリタは、スクリプトファイルをパラメータとして使用せずに、次のプロンプトを表示します.
# python
Python 2.7.10 (default, Jul 14 2015, 19:46:27)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Python , Enter :
>>> print "Hello, Python!" #python2.0
>>> print ("Hello, Python!") #python3.0
Hello, Python!
ipythonの使用を強くお勧めします.そのインストール方法は以下の通りです.https://blog.51cto.com/fklinux/2046741
スクリプト・モードのプログラミング:
スクリプトプログラミングとは、pythonコマンドやコードをテキストファイルに書き込み、これらのコマンドにコマンド解釈器を指定することです.このファイルファイルはpythonスクリプトです.例えば、次のコードをtestに書き込む.pyファイル
print "Hello, Python!"
プログラムの実行:
python test.py
Hello, Python!
別の方法でPythonスクリプトを実行し、修正後のtest.pyファイル:#!/usr/bin/pythonprint "Hello, Python!"
プログラムの実行:
chmod +x test.py
#./test.py
Hello, Python!
スクリプトモードプログラミングで中国語を使用
pythonのデフォルトではasciiコードが使用され、中国語はサポートされていません.中国語を使用するには、中国語をサポートする文字セットを宣言する必要があります.一般的にutf 8です.方法は以下の通りです.
#!/usr/bin/python
#coding=utf8
#encoding:utf-8
#_*_ coding:utf-8 _*_
print " !"
上の3つの方法はすべてどうしてこんなに多くの書き方がありますか?pythonは、文字セット定義の中に彼が見たいものがあるかどうかを正則的に検出します.次の正則に合えばいいです.
coding[:=]\s*([-\w.]+)
[root@wing python]# cat a.py
#!/usr/bin/env python
#fdsf coding=utf8 fdaf fdsf fdaf coding utf8
print " "
注意:python 3では中国語を直接サポートできます.中国語をサポートする文字セットを指定する必要はありません.
Python識別子:
1. , , , 。
2. A Z a z (_) (0〜9),Python , @、$、% 。
3. Python 。
識別子命名規則:
• 。
• 。
• 。
• , 。
アンダースコアを変数名の先頭にしないでください.
, , 。
, '_xxx' “ ”, 。
, _xxx 。
__xxx__ Python ,
予約語:
予約ワードは、定数または変数、または他の識別子として使用できません.すべてのPythonキーワードには小文字しか含まれていません.現在のバージョンpythonのすべてのキーワードをクエリーします.
import keyword#システムにこのモジュールがない場合はpython-docskeywordをインストールする必要があります.kwlist['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
キーワードかどうかを判断します.
keyword.iskeyword('False')はTrueに戻ります
行とインデント:
Pythonを学習する際、最初に注意しなければならないのは、コードのクラスや関数定義ブロックやプロセス制御をカッコで表さないことです.コードブロックは行によってインデントされ、これは厳密に表現されます.インデントビットの数は可変ですが、ブロック内のすべての文は同じ量インデントする必要があります.この例では、2つの機能ブロックがよく使用されます.
if True:
print "True"
else:
print "False"
この例の2番目のブロックでは、エラーが発生します.
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
したがって、Pythonのすべての連続線のインデントのスペース数は同じようにブロックされます.
複数行文:
Python文は通常、新しい行で終了します.ただし、Pythonでは、行を継続すべき(行をまたぐ)ことを示すために、継続文字()を使用することができます.
例:
total = (item_one +
item_two +
item_three)
[],{}または()カッコに含まれる記述は、継続文字を使用する必要はありません.例:
days = ['Monday', 'Tuesday', 'Wednesday',
'Thursday', 'Friday']
三重引用符""または'''を使用して、複数行の文を印刷し、フォーマットを書くとフォーマットを印刷できます.たとえば、次のようになります.
print('''hello this
is
a
test ''')
印刷結果は次のとおりです.
hello this
is
a
test
続行記号():
Python文は、一般的に改行区切り、つまり1行1文を使用します.1行の長すぎる文は、スラッシュ()を使用して、次のようにいくつかの行に分割できます.
if (weather_is_hot == 1) and \
(shark_warnings == 0):
send_goto_beach_mesg_to_pager()
引用符:
Pythonでは、同じタイプの引用符の開始と終了の文字列であれば、単一引用符(')、二重引用符(')、三重('''または')引用符を使用して文字列定数を表すことができます.三重引用符は、複数の行にまたがる文字列に使用できます.たとえば、次のようになります.
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
コメント:
1行コメント:井戸番号(#)、「#」の後の文字は行の最後までコメントであり、Python解釈器は無視します.たとえば、次のようになります.
#!/usr/bin/python
# First comment
print "Hello, Python!" # second comment
:
Hello, Python!
三重引用符を使用して複数行のコメントを作成します.
'''
comment1
comment2
''''
ユーザーの待機:
方式1:raw_input()
プログラムの次の行に表示されるヒントは、Enterキーを押して終了し、ユーザーがEnterキーを押すのを待つ:#!/usr/bin/pythonraw_input("Press the enter key to exit.")ユーザがキーを押すと、プログラムは終了する.これは、ユーザーがアプリケーションの実行を完了するまでインタラクティブな会話を維持する良いテクニックです.
方式2:input()
ユーザーの入力を待つ2つの方法の違いは、次のとおりです.
raw_input
input
1行の複数の文:
( ; ) , 。 :
import sys; x = 'foo'; sys.stdout.write(x + '')
複数の文グループがスイートとして使用されます.
Pythonで単一のコードブロックをシーケンスと呼ぶ個別の文のセット.if,while,def,and 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. ]
スクリプトを設定することもできます.このような方法で様々なオプションを受け入れるべきです.
pythonスクリプトにパラメータを渡すには、モジュール:sysが必要です.
:len(sys.argv)
: sys.argv[0]
1: sys.argv[1]
2: sys.argv[2]
#vim test.py
import sys
print “ :”,sys.argv[0]
for i in range(1,len(sys.argv)):
print “ ”,i,sys.argv[i]
#python test.py hello world
:test.py
1 hello
2 world
モジュール
各Pythonスクリプトファイルはモジュールと見なすことができます.モジュールはディスクファイルとして存在します.1つのモジュールが大きすぎて、多すぎる機能を駆動している場合は、いくつかのコードを分解して別のモジュールを構築することを考慮する必要があります.モジュール内のコードは、直接実行されるスクリプトであってもよいし、ライブラリ関数のようなコードであってもよく、他のモジュールインポート(import)によって呼び出されてもよい.モジュールは、直接実行されるコードブロック、クラス定義、関数定義、またはこれらの組合せを含むことができる.後で専門のモジュールの説明があります