小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

初識Python(二)

 四兩哥 2011-08-24

函數(shù)

函數(shù)通過def關(guān)鍵字定義。def關(guān)鍵字后跟一個函數(shù)的 標(biāo)識符 名稱,然后跟一對圓括號。圓括號之中可以包括一些變量名,該行以冒號結(jié)尾。接下來是一塊語句,它們是函數(shù)體。

def max(a,b):

    if a>b:

   print a

    else:

   print b

max(3,5)

5

使用global語句,可以將一個變量聲明為全局變量,即使在函數(shù)內(nèi)部也可以為函數(shù)外部的變量賦值

x=10

def func():

      global x

      x=20

      print x

func()

20

默認參數(shù)值,當(dāng)用戶沒有給相應(yīng)參數(shù)提供值時將采用默認的參數(shù)值,對于沒有默認值的參數(shù)必須提供值

>>> def say(a,b=2):

print a*b

>>> say('hello')

hellohello

>>> say('hello',3)

hellohellohello

關(guān)鍵參數(shù),用戶可以在使用時通過名稱來給自己想賦值的參數(shù)賦值

>>> def say(a,b=23,c=32):

print 'a is',a,'b is',b,'c is',c

>>> say(a=12,c=12)

a is 12 b is 23 c is 12

return語句,默認Python每個函數(shù)最后都暗含一個return None語句,表示該函數(shù)沒有任何返回值

>>> def say():

return 3

>>> say()

3

文檔字符串,類似于函數(shù),類等的說明

>>> def say():

'''這是一個函數(shù)


用于返回一個字符串'''

print 'aaa'


>>> help(say)

Help on function say in module __main__:

say()

    這是一個函數(shù)

    

    用于返回一個字符串

>>> print say.__doc__      另一種查看文檔字符串的方法  注意雙下劃線

這是一個函數(shù)


用于返回一個字符串

模塊

如果你想要在其他程序中重用很多函數(shù),就需要使用模塊,模塊基本上就是一個包含了所有你定義的函數(shù)和變量的文件。為了在其他程序中重用模塊,模塊的文件名必須以.py為擴展名。

模塊可以從其他程序 輸入 以便利用它的功能。這也是我們使用Python標(biāo)準(zhǔn)庫的方法。首先,我們將學(xué)習(xí)如何使用標(biāo)準(zhǔn)庫模塊。

>>> import sys          導(dǎo)入sys模塊

>>> print 'path is',sys.path       使用sys模塊中的path變量

path is ['C:\\Python23\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python23.zip', 'C:\\Python23', 'C:\\Python23\\DLLs', 'C:\\Python23\\lib', 'C:\\Python23\\lib\\plat-win', 'C:\\Python23\\lib\\lib-tk', 'C:\\Python23\\lib\\site-packages']

當(dāng)一個模塊被第一次輸入的時候,這個模塊的主塊將被運行。假如我們只想在程序本身被使用的時候運行主塊,而在它被別的模塊輸入的時候不運行主塊,我們該怎么做呢?這可以通過模塊的__name__屬性完成。每個Python模塊都有它的__name__,如果它是'__main__',這說明這個模塊被用戶單獨運行,我們可以進行相應(yīng)的恰當(dāng)操作。

if __name__ == '__main__':

    print 'This program is being run by itself'

else:

    print 'I am being imported from another module'

創(chuàng)建你自己的模塊是十分簡單的,你一直在這樣做!每個Python程序也是一個模塊。你已經(jīng)確保它具有.py擴展名了。

def sayhi():
    print 'Hi, this is mymodule speaking.'
version = '0.1'

上面是一個 模塊 的例子。你已經(jīng)看到,它與我們普通的Python程序相比并沒有什么特別之處。我們接下來將看看如何在我們別的Python程序中使用這個模塊。

記住這個模塊應(yīng)該被放置在我們輸入它的程序的同一個目錄中,或者在sys.path所列目錄之一。

import mymodule

mymodule.sayhi()

print 'Version', mymodule.version

你可以使用內(nèi)建的dir函數(shù)來列出模塊定義的標(biāo)識符。標(biāo)識符有函數(shù)、類和變量。

>>> def say():

return None

>>> x=10

>>> dir()

['__builtins__', '__doc__', '__name__', 'say', 'x']

當(dāng)你為dir()提供一個模塊名的時候,它返回模塊定義的名稱列表。如果不提供參數(shù),它返回當(dāng)前模塊中定義的名稱列表。

>>> import sys

>>> dir(sys)

['__displayhook__', '__doc__', '__excepthook__', '__name__', '__stderr__', '__stdin__', '__stdout__', '_getframe', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'exc_clear', 'exc_info', 'exc_traceback', 'exc_type', 'exc_value', 'excepthook', 'exec_prefix', 'executable', 'exit', 'exitfunc', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getrecursionlimit', 'getrefcount', 'getwindowsversion', 'hexversion', 'maxint', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'version', 'version_info', 'warnoptions', 'winver']

注意,輸入的模塊同樣是列表的一部分。

>>> import sys

>>> def say():

return None

>>> x=10

>>> dir()

['__builtins__', '__doc__', '__name__', 'say', 'sys', 'x']

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多