簡明Python教程第二部分7 9

2021-08-19 06:23:10 字數 2860 閱讀 1844

第9章 資料結構

函式是重用的程式段。類和模組、包也是。它們是python系統的層次構造工具。

沒有返回值的return語句等價於return none,除非你提供你自己的return語句,每個函式都在結尾暗含return none語句。

docstrings

python有乙個很奇妙的特性,稱為文件字串,它通常被簡稱為docstrings

docstrings是乙個重要的工具,由於它幫助你的程式文件更加簡單易懂,你應該盡量使用它。你甚至可以在程式執行的時候,從函式恢復文件字串!

sys模組包含了與python直譯器和它的環境有關的函式。

當python執行import sys語句的時候,它在sys.path變數中所列目錄中尋找sys.py模組。如果找到了這個檔案,這個模組的主塊中的語句將被執行,然後這個模組將能夠被你使用 。

注意,初始化過程僅在我們第一次輸入模組的時候進行。

sys.argv變數是乙個字串的列表,包含了命令列引數的列表,即我們使用命令列傳遞給程式的引數。記住,指令碼的名稱總是sys.argv列表的第乙個引數

sys.path包含輸入模組的目錄名列表。sys.path的第乙個字串是空的,這個空的字串表示當前目錄也是sys.path的一部分,這與pythonpath環境變數是相同的。這意味著你可以直接輸入位於當前目錄的模組。否則,你得把你的模組放在sys.path所列的目錄之一。

# use_sys.py

import sys

print

"the command line arguments are:'

for i in sys.argv:

print i

print '\n\nthe pythonpath is', sys.path, '\n'

# use_name.py

if __name__ == "__main__":

print

'this program is being run by itself.'

else:

print

'i am being imported from another module.'

輸出:

$ python using_nam e.py

this program is being run by itself

$ python

>>>

import using_name

i am being im ported from another m odule

如果它是'__m ain__',這說明這個模組被使用者單獨執行,我們可以進行相應的恰當操作。

在python中有三種內建的資料結構——列表、元組和字典。

序列:

列表、元組和字串都是序列。

序列的兩個主要特點是索引操作符和切片操作符。索引操作符讓我們可以從序列中抓取乙個特定專案。切片操作符讓我們能夠獲取序列的乙個切片,即一部分序列。

引用:當我們建立乙個物件並給它賦乙個變數的時候,這個變數僅僅 引用 那個物件,而不是表示這個物件本身!

也就是說,變數名指向你計算機中儲存那個物件的記憶體,它等同於指標。而這被》稱作名稱到物件的繫結。

在python中,變數無型別,物件有型別,因為變數只是指向物件的引用。而python也因為對物件型別的強調,被認為是一種強型別語言。

記住列表的賦值語句不建立拷貝,得使用切片操作符來建立序列的拷貝

更多字串的內容

# str_method.py

name = 'swaroop'

# this is a string object

if name.startwith('swa'):

print

'yes, the string starts with "swa".'

if'a'

in name:

print

'yes, it contains the string "a".'

if name.find('war') != -1:

print

'yes, it contains the string "war".'

delimiter = '_*_'

mylist = ['brazil', 'russia', 'india', 'china']

print delimiter.join(mylist)

$ python str_m ethods.py

yes, the string starts with

"swa"

yes, it contains the string "a"

yes, it contains the string "war"

brazil_*_russia_*_india_*_china

Python 第二部分 函式

目錄前言 函式是工具,呼叫的過程即使用工具的過程,因此函式名為動詞為好。先定義再呼叫。一般格式為 def 函式名 引數 好的函式名能看出其功能 段 段可適當的注釋 段 return 返回值 函式名 呼叫函式 乙個函式無非三種情況 有引數的情況 def max2 x,y if x y print x ...

Web API 第二部分

web api 第二部分 元素偏移量 offset element.offsettop element.offsetleft element.offsetwidth 可以得到元素的大小 寬度和高度 是包含padding border width element.offsetheight elemen...

redux 第二部分

redux 的使用方法,為什麼使用 action.js 檔案,進行優化 將其分開,然後我們通過工廠函式的每次返回不同的物件,由於引數是固定的,每次返回的都是事件型別和事件資料,所以我們可以使用乙個函式,通過其返回值來返回乙個物件,讓後傳遞給 action 我們的 reducer 函式有兩個引數,引數...