python教程(六)之函式(1 抽象)

2021-10-06 13:45:04 字數 1321 閱讀 5572

#函式是什麼?函式是能為你解決問題的方法,定義的時候很具體

#但你使用起來卻很抽象,因為使用時看不到具體方法

fibs=[0

,1]for a in

range(8

):-2

]+fibs[-1

])print

(fibs)

#[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

def

fibs

(index)

: a=[0

,1]for b in

range

(index-2)

:-2]

+a[-1]

)return a[-1

]print

(fibs(11)

)#55 第11個斐波那契數,正好是上面最後兩個數的和

#這裡我定義函式名時和上面的fibs變數重合了,實際中不建議這麼做

#函式定義時使用def 函式名(形參)

#一般來說函式最終會返回某個值,但如果你不用return,那返回的內容就是

#none,但這不是說你的函式有錯或什麼的,這只是python的一種機制

def

no_return()

: a=

1print

(no_return())

#none

#再介紹乙個關於函式注釋的小技巧

#你在編寫比較龐大的**時,可能會記不清某個函式的作用

#像這樣

def

say_hello()

:'用來返回乙個hello字串'

return

"hello"

print

(say_hello.__doc__)

#用來返回乙個hello字串

#__doc__是乙個函式的屬性,下劃線表示它是乙個特殊屬性

#此外還可以使用help,會返回一大堆內容,在以後我會講到更多關於特殊屬性和help的用法

print

(help

(say_hello)

)# help on function say_hello in module __main__:

# say_hello()

# 用來返回乙個hello字串

# none

python教程(六)函式

函式定義就是對使用者自定義函式的定義。參見 標準型別層級結構 一節 函式定義是一條可執行語句。它執行時會在當前區域性命名空間中將函式名稱繫結到乙個函式物件 函式可執行 的包裝器 這個函式物件包含對當前全域性命名空間的引用,作為函式被呼叫時所使用的全域性命名空間。關鍵字def引入乙個函式 定義。它必須...

python教程(九)之特性(1 建構函式)

特性,指的是python自身就擁有的方法,而不是需要程式設計者自己寫函式來實現 建構函式,不同於普通方法,它將在物件建立後自動呼叫它們 class foobar def init self pass f foobar f.init 例如init這個類中的方法,如果你需要在物件中新增屬性並賦值,就需要...

Python函式之六 遞迴函式

1 程式語言中,函式func type a,直接或間接呼叫函式本身,則該函式稱為遞迴函式。2 遞迴的定義 一種計算過程,如果其中每一步都要用到前一步或前幾步的結果,稱為遞迴。3 用遞迴過程定義的函式,稱為遞迴函式。1 呼叫方式 1.1 直接呼叫 def func print in func func...