#*****
#函式:完成特定功能的**塊,作為乙個整體,對其進行特定的命名,該名字就代表函式
#-- 現實中:很多問題要通過一些工具進行處理 => 可以將工具提前生產出來並命名
#=> 通過名字就可以找到工具 => 使用工具來解決問題
#
函式的優點:# 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)
(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() #
一般不需要對這樣的函式進行接收執行結果
(res)
#def
print_msg():
while
true:
msg = input("
msg: ")
if msg == 'q'
:
#break
return
#在特定的位置需要直接結束函式,但不需要告訴外界某個結果,用空return處理
(msg)
print(msg) #
在break下可以被執行,在return下不能被執行
res =print_msg()
(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中有解壓賦值
(num1, num2)
#總結:
#當用乙個值接收函式的返回值,一定沒有問題
#-- 函式返回乙個接收乙個;函式返回多個,接收裝有多個值得元組
#當用多個值接收函式的返回值,採用的是解壓賦值的機制,返回值的個數一定要與接收值得個數相同
函式定義(對函式定義的使用)函式呼叫
對於函式呼叫,首先我們一定先要理解函式定義 函式定義 1.返回值型別 乙個函式可以返回乙個值,在函式定義中 2.函式名 給函式起個名稱 3.函式體語句 花括號內的 函式內需要執行的語句 4.return 表示式 和返回值型別掛鉤,返回相應的資料 語法 返回值型別 函式名 引數列表 例如我們來寫乙個加...
函式定義與使用
函式定義 你可以定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括號中間。圓括號之間可以用於定義引數。函式的第一行語句可以選擇性地使用文件字串 用於存放函式說明。函式內容以冒號起始,並且縮排。return expression 結束函式,選擇性地返回乙個值給呼叫方。不帶...
Python 函式定義,使用
怎樣定義函式 在python中,定義乙個函式要使用def語句,依次寫出函式名 括號 括號中的引數和冒號 然後,在縮排塊中編寫函式體,函式的返回值用return語句返回。例子 函式可以返回多個值 比如在遊戲中經常需要從乙個點移動到另乙個點,給出座標 位移和角度,就可以計算出新的新的座標 import ...