Example 2.1 odbchelper.py
def
?buildConnectionString(params):
????
"""
Build?a?connection?string?from?a?dictionary?of?parameters.
????Return?string.
"""
????
return
?
"
;
"
.join([
"
%s=%s
"
?
%
?(k,?v)?
for
?k,?v?
in
?params.items()])
????
if
??
__name__
?
==
?
"
__main__
"
:
????myParams?
=
?{
"
server
"
:?
"
mpilgrim
"
,?\
?????????????????
"
database
"
:?
"
master
"
,?\
?????????????????
"
uid
"
:?
"
sa
"
,?\
?????????????????
"
pwd
"
:?
"
secret
"
}
????
print
?buildConnectionString(myParams)????
????
print
?buildConnectionString.
__doc__
????
????????
1、函數(shù)(function)定義無需指定返回類型。事實(shí)上,所有python函數(shù)都會(huì)返回一個(gè)值。當(dāng)你的函數(shù)定義沒有return語句時(shí),函數(shù)將返回None。多個(gè)函數(shù)參數(shù)(function argument)用逗號(hào)隔開。(這里有一個(gè)疑問,為什么是function argument而不是function parameter呢?@@)
2、Python是一個(gè)動(dòng)態(tài)的、
強(qiáng)類型的語言(dynamically? & strongly type language)
3、注釋函數(shù):(documenting function)以"""開始,以"""結(jié)束,可以通過內(nèi)建屬性 __doc__ 獲得。而且注釋必須在函數(shù)最開始部分先定義,否則調(diào)用__doc__時(shí)你將得到None.
4、Everything is a object!
5、if __name__ == "__main__":
這是在測試模塊。在上例中當(dāng)模塊獨(dú)立運(yùn)行時(shí),模塊的內(nèi)建屬性 __name__ == "__main__",當(dāng)模塊被import時(shí),__name__ == "odbchelper"