Pythonの最初の入門ウィジェットを初めて学びました

3479 ワード

去年の夏からPythonに触れていたのですが、最初はかなり簡潔で洗練された言葉だと思い、断続的に基礎知識を学んで、今年はしっかりシステム的に勉強したいと思っていました.前のように後のことを学んで前の基礎知識を忘れないように、Pythonを深く見たときのメモを整理しておきましょう.
最初のPythonサンプルウィジェット:
def buildConnectionString(params):
    """Build a connection string from a dictionary
       Returns string.
    """
    return ";".join(["%s=%s" %(k,v) for k, v in params.items()])

if __name__ == "__main__":
    myParams = {"server":"temp",\
                "database":"db_temp",\
                "uid":"sa",\
                "pwd":"dont know"}
    print buildConnectionString(myParams)

実行結果:
>>> 
pwd=secret;database=master;uid=sa;server=mpilgrim

関数宣言
まず、関数宣言はキーワードdefで始まり、次に関数名、次にパラメータとなり、パラメータは括弧で囲まれ、複数のパラメータ間はカンマで区切られます.
次に、関数は返されるデータ型を定義しておらず、Pythonは返される値のデータ型を指定する必要はありません.戻り値を指定する必要もありません.実際には、各Python関数は値を返します.関数がreturn文を実行すると、指定した値が返されます.そうしないと、None空の値が返されます.Pythonではパラメータにデータ型を指定する必要はありません.Pythonは変数のタイプを判定し、内部に記録します.
 
ドキュメント化関数
Python関数はdoc string(ドキュメントの説明文字列)を与えることでドキュメント化できます.buildConnectionsString関数を定義するdoc string
def buildConnectionString(params): 

"""Build a connection string from a dictionary of parameters. 

Returns string."""

三重引用符は、複数行の文字列を表します.開始引用符と終了引用符の間のすべてのものは、ハードリターンや他の引用符文字を含む単一の文字列の一部と見なされます.どこでも使用できますが、doc stringを定義するためによく使用されていることがわかります.
三重引用符の中の何でもこの関数のdoc stringで、関数が何ができるかを説明します.doc stringが存在する場合は、関数が定義する最初のコンテンツ(すなわち、コロンの後ろの最初のコンテンツ)である必要があります.技術的には関数を与えるdoc stringは必要ありませんが、実行時に関数の属性として使用できるdoc stringをできるだけ各関数に追加する必要があります.
 
万物すべて対象
Pythonでは,関数は他のものと同様にオブジェクトである(最初は珍しかった).
 
>>> import odbchelper (1)
>>> params = {"server":"mpilgrim", "database":"master", "uid":"sa", "pwd":"secret"}
>>> print odbchelper.buildConnectionString(params) (2)
server=mpilgrim;uid=sa;database=master;pwd=secret
>>> print odbchelper.buildConnectionString.__doc__ (3)
Build a connection string from a dictionary
  Returns string.

 
(1)最初の行はodbchelperプログラムをモジュールとしてインポートする.モジュールとは、インタラクティブに使用したり、別のPythonプログラムからアクセスしたりできるコードセグメントです.モジュールをインポートすると、共通の関数、クラス、またはプロパティを参照できます.モジュールは、この方法によって他のモジュールの機能を使用することができる.
(2)インポートされたモジュールで定義された関数を使用する場合は,モジュールの名前を含める必要がある.したがってbuildConnectionsStringだけではなくodbchelperを使用するべきである.buildConnectionString.
(3)アクセス関数の_doc__プロパティは関数呼び出しではありません.
コードインデント
Python関数には明らかなbeginとendはなく,関数の開始と終了を示す括弧はない.唯一の区切り文字はコロン(:)で、コード自体がインデントされます.
コードブロックは、それらのインデントによって定義されます.ここでいう「コードブロック」とは、関数、if文、forループ、whileループなどを指す.インデント表示ブロックの開始を開始し、インデント表示ブロックの終了をキャンセルします.括弧、括弧、キーワードは存在しません.
テストモジュール
すべてのPythonモジュールはオブジェクトであり、いくつかの有用な属性があります.これらのプロパティを使用して、作成したモジュールを簡単にテストできます.次はif__を使用します.name__のテクニックです.
if __name__ == "__main__":

まずif式はカッコで囲む必要はありません.次にif文はコロンで終わり,続いてインデントコードである.
モジュールはオブジェクトであり、すべてのモジュールには組み込み属性があります.name__.モジュールの_name__の値は、モジュールをどのように適用するかによって異なります.importモジュールの場合_name__の値は、通常、パスまたはファイル拡張子を持たないモジュールのファイル名です.しかし、標準的なプログラムのようにモジュールを直接実行することもできます.この場合_name__の値は特別なデフォルト値になります.main__,これにより、単一のモジュールを簡単にテストできます.