2019 10 01 工作進度報告

2021-09-27 13:18:17 字數 2089 閱讀 7245

學習廖雪峰python教程

1.python內建了很多有用的函式,我們可以直接呼叫。

1.在python中,定義乙個函式要使用 def語句,依次寫出函式名、括號、括號中的引數和冒號:,然後,在縮排塊中編寫函式體,函式的返回值用return語句返回。

我們以自定義乙個求絕對值的my_abs函式為例:

#-- coding: utf-8 --

def my_abs(x):

if x >= 0:

return x

else:

return -x

print(my_abs(-99)) => 99

2.在python互動環境中定義函式時,注意python會出現…的提示。函式定義結束後需要按兩次回車重新回到》提示符下

3.如果想定義乙個什麼事也不做的空函式,可以用pass語句:

def nop():

pass

pass語句什麼都不做,那有什麼用?實際上pass可以用來作為佔位符,比如現在還沒想好怎麼寫函式的**,就可以先放乙個pass,讓**能執行起來。

資料型別檢查可以用內建函式==isinstance()==實現:

def my_abs(x):

if not isinstance(x, (int, float)):

raise typeerror(『bad operand type』)

if x >= 0:

return x

else:

return -x

新增了引數檢查後,如果傳入錯誤的引數型別,函式就可以丟擲乙個錯誤:

>>> my_abs(『a』)

traceback (most recent call last):

file 「」, line 1, in

file 「」, line 3, in my_abs

typeerror: bad operand type

python的函式返回多值其實就是返回乙個tuple

1.def power(x, n=2):

s = 1

while n > 0:

n = n - 1

s = s * x

return s

這樣,當我們呼叫power(5)時,相當於呼叫power(5, 2):

而對於n > 2的其他情況,就必須明確地傳入n,比如power(5, 3)。

2.python函式在定義的時候,預設引數l的值就被計算出來了,即,因為預設引數l也是乙個變數,它指向物件,每次呼叫該函式,如果改變了l的內容,則下次呼叫時,預設引數的內容就變了,不再是函式定義時的了。

可以將預設引數改為none來解決這個問題

1.在引數前面加了乙個*號;

呼叫該函式時,可以傳入任意個引數,包括0個引數

2.python允許你在list或tuple前面加乙個*號,把list或tuple的元素變成可變引數傳進去

>>> extra =

>>> person(『jack』, 24, **extra)

name: jack age: 24 other:

在dict型別的資料前加**可將整個dict內的資料傳進引數中

如果要限制關鍵字引數的名字,就可以用命名關鍵字引數

——只接受某種命名的引數

引數定義的順序必須是:必選引數、預設引數、可變引數、命名關鍵字引數和關鍵字引數。

尾遞迴是指,在函式返回的時候,呼叫自身本身,並且,return語句不能包含表示式。這樣,編譯器或者直譯器就可以把尾遞迴做優化,使遞迴本身無論呼叫多少次,都只占用乙個棧幀,不會出現棧溢位的情況。

程式設計時無法呼叫 math 中的函式

工作進度1

這幾天的主要時間花在閱讀語言的ieee標準上,同時也在思考相應的詞法,語法模組的實現.按現在的理解來看,詞法模組的工作量並不太大,略微有點難度的就是對巨集定義命令和include檔案的處理.自己也基本上有了相應的實現思路,剩下的只是具體的工作量的問題.語法模組的工作可以劃分為兩個部分,第一部分是語法...

日誌 2012 03 12工作進度

目前已經完成了如下的部份 1 所有道具的補充。包括所有單位的特有道具和通用道具。這些道具在新增的副本中都會有途徑取得。大家可以利用藍色魔晶來交易碎片。原來的許多無用的道具已經廢棄,這些道具不需要您自己選擇,直接點一鍵煉金就可以變化成保留的道具或碎片。2 所有副本的修改。新增副本17個,已經配置完畢。...

webgate 重構 工作進度計畫

webgate 重構計畫 1 研究舊登入系統的業務邏輯 研究原有的 系統結構。和 模板 bmis 系統結構。webgate 系統,資源,賬戶,角色,元件,模組,功能 bmis 機構,剛問,使用者,功能,角色,機構用途。以及 日誌 功能。新增 1 快捷按鈕 將常用操作選單,設定為 快捷按鈕列表 2 2...