第十章 函式

2021-10-09 20:25:09 字數 2210 閱讀 5081

使用def關鍵字

*定義個數可變的位置形參

**定義個數可變的關鍵字形參

定義預設值引數

# 定義個數可變的位置形參

deffun1

(*args)

:# 結果為乙個元組

print

(args)

fun1(10,

20,30)

# (10,20,30)

# 定義個數可變的關鍵字形參

deffun2

(**args)

:# 結果為乙個字典

print

(args)

fun2(a=

10,b=

20,c=30)

# # 定義預設值引數

deffun3

(a,b=10)

:# b為預設值引數

print

(a,b)

fun3(1)

# 1,10

fun3(1,

30)# 1,30

# 注意

'''def fun4(**agrs,*a):

pass

報錯,個數可變的關鍵字形參應該在個數可變的位置形參之後

def fun5(*args,*args2):

pass

報錯,只能定義乙個個數可變的位置形參

def fun6(**args,**args):

pass

報錯,只能定義乙個個數可變的關鍵字形參

'''

位置實參

關鍵字實參

# 位置實參

deffun1

(a,b)

:print

(a,b)

fun1(1,

2)# 呼叫fun1函式,1,2是位置實參

# 關鍵字實參

deffun2

(a,b)

:print

(a,b)

fun2(b=

10,a=20)

# 呼叫fun2函式,=左邊的是關鍵字實參,結果 20,10

不需要返回值的時候,不用寫return

只有乙個返回值的時候,直接返回原型別的值

有多個返回值的時候,返回的是乙個元組

# 不需要返回值

deffun1()

:print

('hello'

)# 只有乙個返回值

deffun2

(a,b)

: c = a + b

return c

num = fun2(10,

20)print

(num)

# 30

# 有多個返回值

deffun3

(args)

: odd =

even =

for i in args:

if i %2:

else

:return odd,even

lst =[10

,20,1

,31,21

,22]print

(fun3(lst)

)# ([1,31,21],[10,20,22])

區域性變數:在函式內部定義的變數稱為區域性變數,只在函式內部起作用。

全域性變數:在函式外部定義的變數稱為全域性變數,在函式內外都起作用。

區域性變數通過global關鍵字可以變成全域性變數

遞迴函式:函式本身呼叫本身

遞迴的組成部分:呼叫條件和終止條件

# 求階乘

deffac

(n):

if n==1:

return

1else

:return n*fac(n-1)

print

(fac(6)

)# 720

# 斐波那契數列 1,1,2,3,5,8,13

deffib

(n):

if n==1:

return

1elif n==2:

return

1else

:return fac(n-1)

+fac(n-2)

print

(fib(7)

)# 13

# 遞迴函式的核心:if 終止條件 else 呼叫本身

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...

第十章 屬性

目錄 10.1 無參屬性 10.2 有參屬性 10.3 呼叫屬性訪問器方法時的效能 10.4 屬性訪問器的可訪問性 10.5 泛型屬性訪問器方法 物件導向設計和程式設計的重要原則之一就是資料封裝,意味著型別的字段不應該公開,否則很容易因為不恰單使用欄位而破壞物件的狀態。可將屬性想象成智慧型字段,即背...

第十章 安全

網路安全 面對防病毒 防火牆 ids ips utm等明朗滿目安全解決方案讓使用者不知何選擇,也經常聽到很多管理員抱怨ids ips 防火牆 流量管理等該上的安全裝置都上但是在安全上心裡還是沒有底。網路安全實際上是乙個木桶效應,應該盡快找到最短的短板,只要有一塊短板存在無論你再怎麼加高木桶都是一事無...