上次我們執行過了第一個範例
但是該範例的內容與作用我都不了解
所以今天就要來了解一下該範例的內容
"""odbchelper.py sample script
This program is part of "Dive Into Python", a free Python book for
experienced programmers. Visit http://diveintopython.org/ for the
latest version.
All this stuff at the top of the script is just optional metadata;
the real code starts on the "def buildConnectionString" line
"""
首先是第一行到第九行是說明這個範例的用途
在Python的語言中"""代表的是註記,就相當於Java中的/* 和 */或是//
因此第一行的"""到第九行的"""就會被當成說明文字或是備註了
另外備註的用法也可以用底下的技巧:
__author__ = "Mark Pilgrim (mark@diveintopython.org)"
__version__ = "$Revision: 1.2 $"
__date__ = "$Date: 2004/05/05 21:57:19 $"
__copyright__ = "Copyright (c) 2001 Mark Pilgrim"
__license__ = "Python"
接下來真正會執行的程式部分
這行最主要的作用在於宣告與定義function
def buildConnectionString(params):
"""Build a connection string from a dictionary
Returns string.
"""
return ";".join(["%s=%s" & (k, v) for k, v in params.items()])
在這裡定義了一個叫做buildConnectionString的function
並將該function的參數依序傳回
要定義function一定要使用關鍵字def
python的function一定都會返回一個值,且不需要指定返回值的類型
且Python的空直視None而不是Null
程式語言基本上可以分為底下這四類
statically typed(靜態類型):必須事先定義變數的類型,像是Java和C。
dynamically typed(動態類型):不需要事先定義變數的類型,像是Python和VBScript。
strongly typed (強類型):必須進行轉換才能將變數的類型改變,像是Java和Python。
weakly typed(弱類型):不需進行轉換就能將變數的類型改變,像是VBScript。
從這裡就可以看出Python的優缺點,再來我們來看主程式,這裡將"server":"mpilgrim","database":"master","uid":"sa","pwd":"secret"等字串指定給myParams的變數,最後透過buildConnectionString的function秀出myParams的字串內容
if __name__ == "__main__":
myParams = {"server":"mpilgrim", \
"database":"master", \
"uid":"sa", \
"pwd":"secret"
}
print buildConnectionString(myParams)
嗯!分析完成之後!我覺得這個範例好像有用到後面章節的功能
例如:["%s=%s" & (k, v) for k, v in params.items()]是第3章的List功能
所以希望30天過後對於Python真的能有點了解!
jackaitw 提到:
希望30天過後對於Python真的能有點了解
jackaitw大大,沒問題! 不了解的話...您可以再寫個300天...oh yea