python封裝自定義函式的基礎用法

2021-10-03 06:12:49 字數 2678 閱讀 9360

很多時候,我們想利用函式來簡化程式,降低維護成本。那麼怎麼利用函式達到目的呢?這裡列舉幾種基礎函式用法。

類似str()的工具型

def

a(a)

: b=a+

1return

(b)

這種函式的典型特點是不改變全域性、有返回值,使用時必須結合其他函式,它只是乙個「工具」。

簡化**的過程型

def

benjin1()

:#此函式用於採集資料

while1:

try:

global benjin

benjin=

float

(input

('請輸入初始本金,只保留數字,支援小數'))

break

except

:print

('輸入資料型別有誤,請重新輸入'

)

這種函式的乙個特點就是自變數、因變數無所謂,它只是為了簡化**,便於維護。

例如下面的定投收益計算工具:

def

benjin1()

:while1:

try:

global benjin

benjin=

float

(input

('請輸入初始本金,只保留數字,支援小數'))

break

except

:print

('輸入資料型別有誤,請重新輸入'

)def

dingtou1()

:while1:

try:

global dingtou

dingtou=

float

(input

('請輸入定投金額,只保留數字,支援小數'))

break

except

:print

('輸入資料型別有誤,請重新輸入'

)def

time1()

:while1:

try:

global time

time=

int(

input

('請輸入定投月份,只保留整數'))

break

except

:print

('輸入資料型別有誤,請重新輸入'

)def

shouyilv1()

:while1:

try:

global shouyilv

shouyilv=

1.0+

float

(input

('請輸入每月預估收益率,只保留數字,支援小數,不支援百分數'))

break

except

:print

('輸入資料型別有誤,請重新輸入'

)def

shouyi1()

:global shouyi

shouyi=benjin*shouyilv**time

for i in

range

(time)

: shouyi=shouyi+dingtou*shouyilv**

(time-i)

print

('理論收益是%f'

%shouyi)

while1:

benjin1(

) dingtou1(

) shouyilv1(

) time1(

) shouyi1(

)

採用自定義函式可以讓程式模組化,當出現bug時,做到有的放矢,並且並且也便於更新和增減功能。

當然也可以利用if函式實現函式的開關:

def

shouyi1

(a):

if a==1:

global shouyi

shouyi=benjin*shouyilv**time

for i in

range

(time)

: shouyi=shouyi+dingtou*shouyilv**

(time-i)

print

('理論收益是%f'

%shouyi)

else

:print

('函式未開啟'

)

過程型函式通常不需要設定自變數和因變數,但有時候我們需要乙個既能改變全域性,又能有返回值的函式,這時候我們要注意,自變數也是乙個區域性變數,而且乙個變數不能兼任區域性變數和全域性變數,這就是乙個典型的錯誤:

def

hanshu

(a):

global a

a=a+

1return

(a)

此時必定報錯:name 『a』 is parameter and global

正確的做法是:

def

hanshu

(b):

global a

a=b+

1return

(a)

php 自定義封裝函式

陣列根據某個字段進行排序 陣列根據某個字段進行排序 param array array 需要排序的陣列 param string keys 根據某個key排序 param string sort 倒敘還是順序 return array function arraysort array keys so...

自定義函式及函式的封裝

l 建立自定義函式的三種方式 js引擎預設以命名函式的形式來解讀函式,所以不能直接宣告匿名函式,解決方法 可以用變數 陣列或物件等資料將匿名函式儲存起來,例如button點選事件,以 及 var fn function a,b fn 100,200 對應呼叫 匿名函式的自呼叫 自執行匿名函式 新增括...

自定義徑向基核函式

根據公式 在自定義svm的徑向基核函式時,需要描述其核矩陣,如下所示 function kernel matrix rbf kernel x1,x2,gamma 在訓練時,x1,x2均為訓練集,x1為測試樣本,即在 時,x1為測試集,x2為支援向量訓練集 len1 size x1,1 測試集樣本數 ...