函式定義,使用

2022-05-15 16:20:15 字數 3387 閱讀 6861

#

*****

#函式:完成特定功能的**塊,作為乙個整體,對其進行特定的命名,該名字就代表函式

#-- 現實中:很多問題要通過一些工具進行處理 => 可以將工具提前生產出來並命名

#=> 通過名字就可以找到工具 => 使用工具來解決問題

#

函式的優點:# 1. 避免**的冗餘

# 2. 讓程式**結構更加清晰

# 3. 讓**具有復用性,便於維護#

函式的四部分'''

1. 函式名:使用該函式的依據

2. 函式體:完成功能的**塊

3. 返回值:功能完成的反饋結果

4. 引數:完成功能需要的條件資訊

'''#

定義函式的語法:通過def關鍵字來定義

defget_water(water, money):

print('

收入你的%d元錢')

print('

給你%s水種')

return

'礦泉水

'

#

*****

#使用函式:

#1.根據需求定義函式

#2.通過函式名找到函式所在的位置(記憶體位址)

#3.函式名() 執行函式位址中存放的所有**塊

#-- 函式在定義時需要外界的引數,就要在呼叫時傳入對應的引數

#4.函式執行完一定有返回結果,通過return關鍵字將結果返回給外界

#-- 外界需要知道執行結果,用變數接收,反之只執行函式(不需要接收)即可

#注:函式必須先定義,後使用

#函式的四部分都可以根據需求的變化而變化

defget_water(water, money):

print('

收入你的%d元錢

' %money)

print('

給你%s水種

' %water)

return

water

#需要使用函式,就呼叫一次

res = get_water('

礦泉水', 10)

print

(res)

print('

玩耍...')

print('

又口渴了...')

#又來需求,在呼叫一次,**可以復用,函式只有乙個,**結構清晰且不冗餘

res = get_water('

王老吉', 20)

print(res)

#

***#

1.根據函式體分類

#空函式: pass來填充函式體的函式

#-- 優先明確函式名,暫不明確函式體(程式設計中就存在一些沒有函式體的函式)

def login(): pass

#在開發初期,可以講所有功能提前列出來,用pass佔位著,後期再去填充功能體

#非空函式:有函式體的函式

deffn2():

print('

函式體'

)

#2.根據函式引數分類

defadd():

print('

功能體不需要外界的引數')

n1 = input('

n1: ')

n2 = input('

n2: ')

print(n1 +n2)

#有參函式

defadd_two(n1, n2):

print('

功能體需要外界的引數')

print(n1 +n2)

#3.根據函式返回值分類:所有的函式都有返回值

#不明確返回值

deflow_two(n1, n2):

#外部不需要知道內部的執行結果

print(n1 -n2)

#明確返回值

defjump_two(n1, n2):

#外部需要知道內部的執行結果

return n1 *n2

res = jump_two(10, 20)

print(res)

#

*****

#重點:函式名()

#1)拿到函式位址 => 2)加()執行函式體 => 3)得到函式的執行結果

#重點: 返回值的功能

#1.結束函式;2.將函式的內部資料返回給外部

#二、應用場景

#def

fn1():

print('

普通的函式執行')

res = fn1()      #

一般不需要對這樣的函式進行接收執行結果

print

(res)

#def

print_msg():

while

true:

msg = input("

msg: ")

if msg == 'q'

:

#break

return

#在特定的位置需要直接結束函式,但不需要告訴外界某個結果,用空return處理

print

(msg)

print(msg)        #

在break下可以被執行,在return下不能被執行

res =print_msg()

print

(res)

#3.有明確的返回值需求的函式:

#-- python中的函式本質上只能返回乙個值,##

-- 可以通過語法上返回多個值,值之間用逗號隔開,但是本質上返回裝有多個值的元組

#乙個值

defget_num():

num = input('

num: ')

return

numprint

(get_num())

#多個值

defget_two_num():

n1 = input('

n1: ')

n2 = input('

n2: ')

return

n1, n2

#return (n1, n2)

#print(get_two_num())

num1, num2 = get_two_num() #

python的return支援多值返回的語法原因是python中有解壓賦值

print

(num1, num2)

#總結:

#當用乙個值接收函式的返回值,一定沒有問題

#-- 函式返回乙個接收乙個;函式返回多個,接收裝有多個值得元組

#當用多個值接收函式的返回值,採用的是解壓賦值的機制,返回值的個數一定要與接收值得個數相同

函式定義(對函式定義的使用)函式呼叫

對於函式呼叫,首先我們一定先要理解函式定義 函式定義 1.返回值型別 乙個函式可以返回乙個值,在函式定義中 2.函式名 給函式起個名稱 3.函式體語句 花括號內的 函式內需要執行的語句 4.return 表示式 和返回值型別掛鉤,返回相應的資料 語法 返回值型別 函式名 引數列表 例如我們來寫乙個加...

函式定義與使用

函式定義 你可以定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。函式內容以冒號起始,並且縮排。return expression 結束函式,選擇性地返回乙個值給呼叫方。不帶...

Python 函式定義,使用

怎樣定義函式 在python中,定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中編寫函式體,函式的返回值用return語句返回。例子 函式可以返回多個值 比如在遊戲中經常需要從乙個點移動到另乙個點,給出座標 位移和角度,就可以計算出新的新的座標 import ...