Python基礎10 函式

2022-01-30 06:29:16 字數 4050 閱讀 3427

直接貼筆記 :

#

!/usr/bin/env python

#coding:utf-8

#定義函式時要寫成良好的注釋習慣 通常用三個單引號

deftest(x):

'''計算乙個y=2*x+1

:param x: 整型

:return: 整型

'''y = 2 * x + 1

returny#

print(test)

print(test(4))

### 本次課參考

def test(): #

# 後定義的函式將覆蓋前面的函式

'''測試函式

:return:

'''y = 33*2

return

yprint

(test())

"""python中函式定義方法:

def test(x):

"the function definitions"

x+=1

return x

def:定義函式的關鍵字

test:函式名

():內可定義形參

"":文件描述(非必要,但是強烈建議為你的函式新增描述資訊)

x+=1:泛指**塊或程式處理邏輯

return:定義返回值

呼叫執行:可以帶引數也可以不帶

函式名()

"""

過程其實就是沒有返回值的函式:

#

!/usr/bin/env python

#coding:utf-8

#參考 二 為何使用函式

'''def 傳送郵件(內容)

# 傳送郵件提醒

連線郵箱伺服器

傳送郵件

關閉連線

while true:

if cpu利用率 > 90 %:

傳送郵件('cpu報警')

if 硬碟使用空間 > 90 %:

傳送郵件('硬碟報警')

if 記憶體占用 > 80 %:

傳送郵件('記憶體報警')

'''#

總結使用函式的好處:##

1.**重用##

2.保持一致性,易維護##

3.可擴充套件性

########### 過程 就是沒有返回值的函式 沒有return

deftest01():

msg = '

test 01

'print

(msg)

deftest02():

msg = '

hello test02

'print

(msg)

return

msgdef

test03():

msg = '

test 03

'print

(msg)

return 0,10,'

hello

',['

alex

','lb

'],def

test04():

msg = '

test 04

'print

(msg)

return

t1 =test01()

t2 =test02()

t3 =test03()

t4 =test04()

print

(t1)

print

(t2)

print

(t3)

print(t4, type(t4))

各種引數的示例:

#

!/usr/bin/env python

#coding:utf-8

#1.形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。

# 函式呼叫結束返回主呼叫函式後則不能再使用該形參變數

#2.實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。

# 因此應預先用賦值,輸入等辦法使引數獲得確定值

#3.位置引數和關鍵字(標準呼叫:實參與形參位置一一對應;關鍵字呼叫:位置無需固定)

deftest2(x,y,z):

print

(x)

print

(y)

print

(z)

return

test2(3,2,1) #

位置引數必須一一對應

test2(z=11,x=22,y=33) #

關鍵字呼叫:位置無需固定 但是個數必須相同

#test2(z=11,x=22,x=33) # 引數不能傳2 個值,報錯,無法執行。

#test2(11,y=22,x=33) # 位置傳參時,也遵守不能傳2 個值,報錯,無法執行。

#若混合使用,則關鍵字引數必須在位置引數後面。

#可變長度引數

def test(x,*args):

print

(x)

print

(args)

return

test(4,5,2,3,1) #

除了第乙個引數,其它的都被當成乙個元組。

test(11,) #

字典作為乙個整體傳入

test(55,*) #

字典元素傳入,則只能得到key 無法獲取value

test(22,['

a','

b','

c']) #

列表作為乙個整體傳入

test(33,*['

a','

b','

c']) #

列表中的元素分別傳入

#4.預設引數

def test3(x=0,y=2):

s = x **y

return

sprint(test3(3,3)) #

傳了實參,將覆蓋形參的預設值

def test4(x,b='

mysql'):

print

(x)

print

(b)test4(

'hello

',b='

sqlite')

## 例:安裝軟體時的選項

def install(func1=false,func2=true,func3=true):

pass

# 動態引數有兩種: 

*args 接收位置引數,組成元組

**kwargs 接收關鍵字引數,組成字典

順序: 位置引數,*args, 預設引數, **kwargs

#5.引數組

def test5(a,*args,default=' ', **kwargs):   # 此種函式定義可以接收最大種類最大數量的引數。

print(a)

print(args,args[-1])

print(default)

print(kwargs,kwargs.get('2'))

test5(12,*[11,22,33,44], default='aaa', **) # 傳字典

#

# 小練習

def func(x,*y,**z):

print

(x,y,z)

func(1,2,3,4,name='

k',age=3)

#得到 1 (2, 3, 4)

def fun1(x,*y,**z):

print

(x,y,z)

fun1(1,name=2,age=3)

#得到 1 ()

#鍵值引數一定是傳給了兩個星的字典引數.

多個返回值 ,可以用多個變數接

def

calc_d(a,b):

return a*a, b*b

a,b = calc_d(9,8)

print(a,b)

python基礎10 函式初識

1 的組織結構不清晰,可讀性差 2 遇到重複的功能只能重複編寫實現 冗餘 3 功能需要擴充套件時,需要找出所有實現該功能的地方修改之,無法統一管理且維護難度極大 內建函式 為了方便我們開發,一些簡單的功能,python直譯器已經為我們定義好了函式,即內建函式。內建函式我們可以直接呼叫,不用事前先定義...

第10講 python 函式基礎

函式也是乙個物件,物件是記憶體中專門用來儲存資料的一塊區域 函式就是用來儲存一些可以執行的 並且可以在需要的時候,對這些 進行多次呼叫 定義函式的語法 def 函式名 形參1,形參2 塊定義乙個函式 def fn print 這是我第乙個函式 print fn 這是函式儲存的記憶體位址 函式和變數沒...

python基礎 part10 函式

鄙人學習筆記 開發工具 spyder 可變與不可變型別資料在傳參時的區別 函式引數 命名關鍵字形參 引數自左至右的順序 函式用於封裝乙個特定的功能,表示乙個功能或者行為。函式是可以重複執行的語句塊,可以重複呼叫。函式可以提高 的可重用性和可維護性。注意函式命名和清晰性 def 函式名 形式引數 函式...