麻豆做爰免费观看-日本熟妇一区二区三区-欧美午夜精品一区二区-xxxxx国产-精品欧美日韩-五月天黄色小说-亚洲熟妇一区-jizz国产视频-国产91九色-www好男人-国产精品久久久免费-九九热精彩视频-www..com国产-午夜簧片-欧美一区中文字幕-在线观看亚洲一区二区-一级少妇精品久久久久久久-www.欧美国产-日韩欧美综合视频-成人性视频免费网站

027-81331413

初學(xué)Python之第一個入門小程序

發(fā)布時間:2020-12-16 瀏覽:2459

去年夏天開始接觸Python,剛開始覺得這個語言相當(dāng)簡潔精練,斷斷續(xù)續(xù)的學(xué)了一些基礎(chǔ)知識,打算今年好好地系統(tǒng)學(xué)一下。先把以前看深入Python時做的筆記整理一下,以免像以前那樣學(xué)了后面的就忘了前面的基礎(chǔ)知識。

     第一個Python示例小程序:

1
2
3
4
5
6
7
8
9
10
11
12
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)

  運行結(jié)果:

>>>
pwd=secret;database=master;uid=sa;server=mpilgrim

函數(shù)聲明

     首先,函數(shù)聲明以關(guān)鍵字def開始,接著為函數(shù)名,然后為參數(shù),參數(shù)放在小括號里,多個參數(shù)之間用逗號分隔。

     其次,函數(shù)沒有定義返回的數(shù)據(jù)類型,Python不需要指定返回值的數(shù)據(jù)類型;甚至不需要指定是由有返回值。實際上,每個Python函數(shù)都返回一個值,如果函數(shù)執(zhí)行過return語句,它將返回指定的值,否則將返回None空值。在Python中參數(shù)不需要指定數(shù)據(jù)類型,Python會判定一個變量是什么類型,并在內(nèi)部將其記錄下來。

 

文檔化函數(shù)

     可以通過給出一個 doc string (文檔說明的字符串來文檔化一個 Python 函數(shù)。定義 buildConnectionString 函數(shù)的 doc string

1
2
3
4
5
def buildConnectionString(params):
 
"""Build a connection string from a dictionary of parameters.
 
Returns string."""

   三重引號表示一個多行字符串。在開始與結(jié)束引號間的所有東西都被視為單個字符串的一部分,包括硬回車和其它的引號字符。您可以在任何地方使用它們,但是您可能會發(fā)現(xiàn),它們經(jīng)常被用于定義 doc string。

     在三重引號中的任何東西都是這個函數(shù)的 doc string,它們用來說明函數(shù)可以做什么。如果存在 doc string,它必須是一個函數(shù)要定義的第一個內(nèi)容 (也就是說,在冒號后面的第一個內(nèi)容)。在技術(shù)上不要求給出函數(shù)的 doc string,但應(yīng)該盡可能為每個函數(shù)都添加doc string,它 在運行時可作為函數(shù)的屬性。

 

萬物皆對象

     在Python中,函數(shù)同其它東西一樣也是對象(剛開始覺得很新奇)。

 

1
2
3
4
5
6
7
>>> 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.

 

 ?。?)第一行將 odbchelper 程序作為模塊導(dǎo)入。模塊是指一個可以交互使用,或者從另一 Python 程序訪問的代碼段。 只要導(dǎo)入了一個模塊,就可以引用它的任何公共的函數(shù)、類或?qū)傩?。模塊可以通過這種方法來使用其它模塊的功能。

     (2)當(dāng)使用在被導(dǎo)入模塊中定義的函數(shù)時,必須包含模塊的名字。所以不能只使用 buildConnectionString,而應(yīng)該使用 odbchelper.buildConnectionString。

     (3)訪問函數(shù)的 __doc__ 屬性并不是通過函數(shù)調(diào)用。

代碼縮進(jìn)

     Python 函數(shù)沒有明顯的 begin 和 end,沒有標(biāo)明函數(shù)的開始和結(jié)束的花括號。唯一的分隔符是一個冒號 (:),接著代碼本身是縮進(jìn)的。

     代碼塊是通過它們的縮進(jìn)來定義的。這里所說的“代碼塊”是指:函數(shù)、if 語句、for 循環(huán)、while 循環(huán),等等。開始縮進(jìn)表示塊的開始,取消縮進(jìn)表示塊的結(jié)束。不存在明顯的括號,大括號或關(guān)鍵字。

測試模塊

     所有的 Python 模塊都是對象,并且有幾個有用的屬性??梢允褂眠@些屬性方便地測試你所編寫的模塊。下面是一個使用 if __name__ 的技巧。

if __name__ == "__main__":

  首先,if 表達(dá)式無需使用圓括號括起來。其次,if 語句以冒號結(jié)束,緊跟其后的是縮進(jìn)代碼。

     模塊是對象,并且所有的模塊都有一個內(nèi)置屬性 __name__。一個模塊的 __name__ 的值取決于你如何應(yīng)用模塊。如果 import 模塊,那么 __name__ 的值通常為模塊的文件名,不帶路徑或者文件擴展名。但是你也可以像一個標(biāo)準(zhǔn)的程序一樣直接運行模塊,在這種情況下 __name__ 的值將是一個特別的缺省值,__main__,這樣你可以很方便地測試單個模塊。