簡明Python教程(筆記)

2021-06-07 18:38:19 字數 2199 閱讀 2933

只有在形參表末尾的那些引數可以有預設引數值,即你不能在宣告函式形參的時候,先宣告有預設值的形參而後宣告沒有預設值的形參。

這是因為賦給形參的值是根據位置而賦值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 

無效的。

如果你的某個函式有許多引數,而你只想指定其中的一部分,那麼你可以通過命名來為這些引數賦值——這被稱作 關鍵引數 ——我們使用名字(關鍵字)而不是位置(我們前面所一直使用的方法)來給函式指定實參。

這樣做有兩個 優勢 ——一,由於我們不必擔心引數的順序,使用函式變得更加簡單了。二、假設其他引數都有預設值,我們可以只給我們想要的那些引數賦值。

defsomefunction():

pass

pass語句在python中表示乙個空的語句塊。

在函式的第乙個邏輯行的字串是這個函式的 

文件字串

。注意,docstrings也適用於模組和

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

檔字串的慣例是乙個多行字串,它的首行以大寫字母開始,句號結尾。第二行是空行,從第三行開始是詳細的描述。

你可以使用__doc__(注意雙下劃線)呼叫printmax函式的文件字串屬性(屬於函式的名稱)。

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

第9章 資料結構

我們在print語句的結尾使用了乙個 

逗號來消除每個print語句自動列印的換行符。

del語句為我們從列表中刪除它

可以通過help(list)獲得完整的知識。

切片操作符中的第乙個數(冒號之前)表示切片開始的位置,第二個數(冒號之後)表示切片到**結束。如果不指定第乙個數,python就從序列首開始。如果沒有指定第二個數,則python會停止在序列尾。注意,返回的序列從開始位置 

開始,剛好在 

結束位置之前結束。即開始位置是包含在序列切片中的,而結束位置被排斥在切片外。

如果你想要複製乙個列表或者類似的序列或者其他複雜的物件

,那麼你必須使用切片操作符來取得拷貝。

第11章 物件導向的程式設計

python中所有的類成員(包括資料成員)都是 

公共的,所有的方法都是 

有效的。

只有乙個例外:如果你使用的資料成員名稱以 

雙下劃線字首

比如__privatevar,python的名稱管理體系會有效地把它作為私有變數。

這樣就有乙個慣例,如果某個變數只想在類或物件中使用,就應該以單下劃線字首。而其他的名稱都將作為公共的,可以被其他類/物件使用。記住這只是乙個慣例,並不是python所要求的(與雙下劃線字首不同)。

同樣,注意__del__方法與 

destructor

的概念類似。

python不會自動呼叫基本類的constructor,你得親自專門呼叫它。

由於在args變數前有*字首,所有多餘的函式引數都會作為乙個元組儲存在args中。如果使用的是**字首,多餘的引數則會被認為是乙個字典的鍵/值對。

對於def func(**args):,**args表示把引數作為字典的健-值對儲存在dict(字典)args裡面。例如,呼叫

func(a='i', b='am', c='wcdj')

,args就表示這個字典。

當assert語句失敗的時候,會引發乙個assertionerror

簡明Python教程

簡明python教程 swaroop,c.h.著 沈潔元 譯 看了一下,確實不錯,值得推薦。目錄表前言 本書的讀者 本書的由來 本書目前的狀況 官方 約定條款 歡迎給我反饋 值得思考的一些東西 1.介紹 簡介 python的特色 概括 為什麼不使用perl?程式設計師的話 2.安裝python li...

簡明 Python 教程

字面意義上的常量 數字串 變數識別符號的命名 資料型別 物件輸出 它如何工作 邏輯行與物理行 縮排概括 簡介運算子 運算子優先順序 計算順序 結合規律 表示式使用表示式 概括簡介 if語句 使用if語句 它如何工作 while語句 使用while語句 for迴圈 使用for語句 break語句 使用...

簡明Python教程

簡明 python 教程 swaroop,c.h.著 沈潔元 譯 版本 1.20 a byte of python 簡明 python 教程 本書依照 創作公用約定 署名 非派生作品 非商業用途 發布。概要 無論您剛接觸電腦還是乙個有經驗的程式設計師,本書都將有助您學習使用python語言。目錄表前...