未完待續
首先 函數的概念簡單來說就是 有括弧()
再來 可以分為 內建函數 跟 自訂函數
內建函數就不多贅述,內建代表可以直接使用
來說說自訂函數吧
因為是自己建立的,必須要先'宣告',才可以進行呼叫使用
我們常常看到的 def 就是在作方法的宣告設定
在提醒一次,只是在配置方法,並不會有動作
要呼叫方法,才會有使用的動作!
例如下方程式碼
首先 看到有一個自訂方法 sayhello()
透過 def
宣告這個方法
內容我們縮排,內容這裡簡單寫 print 出$@%$#^$%&這樣
這樣就完成方法配置,沒有呼叫 就不會有動作!
一直到下面出現 sayhello()
,呼叫動作才會被使用
要呼叫成功有幾個條件
def sayhello():
print('hello')
print('早安安安')
sayhello()
def CtoF1(degreeC):
degreeF = degreeC * 1.8 + 32
print('攝氏', degreeC, '度可以轉換華氏', degreeF, '度')
temperatureC = eval(input('請輸入攝氏溫度 :'))
CtoF1(temperatureC)
用溫度轉換為例子
(degreeC)
就是參數(temperatureC)
這個則是引數,引導資料給參數的 = 引數
def CtoF1(degreeC):
degreeF = degreeC * 1.8 + 32
print('攝氏', degreeC, '度可以轉換華氏', degreeF, '度')
temperatureC = eval(input('請輸入攝氏溫度 :'))
CtoF1(temperatureC)
RRRRRRRRRRRRRRRR
def teatime(dessert,drink = '紅茶'):
print('我的甜點:',dessert,'+飲料:',drink, sep = "")
teatime('馬卡龍','咖啡')
teatime('帕尼尼')
# 想改變順序 全部都抓下來寫
teatime(drink = '奶茶', dessert = '三明治')
# 不好的示範
teatime('紅豆餅', drink ='綠茶')
首先變數 會有範圍 (Scope)
家裡有的 就是區域 家裡就先用 沒有才可以去找外面
外面沒有就沒有 不能往別人家偷拿 找不到就是 NameError : not defined
※ 除非 ! 使用return ,把區域拿去全域使用,後念在來說說如何使用 函數回傳值
簡單例子:
練習I
x = 100
def test():
print(x)
test()
>>>
100
練習II
x = 100
def test():
x = 200
print(x)
test()
print(x)
>>>
200
100
最後一題
下圖可以看到
一開始是方法的配置
內容沒有 print
而是 return
XXX , XXX
而外面在呼叫函數 cal(120,7) 引數符合我們參數的 cal(x,y)
允許他被呼叫,世說前面還出現 a , b = cal(120,7)
兩個數字被帶進去方法跑到 return 會是 div = 17 mod = 1
誰呼叫 函數就回去找誰 a , b = cal(120,7) 呼叫的
那 a , b 就會是 a , b = 17 , 1
附上講義文字定義
def compute(x,y):
result = x * y
return result
x,y = eval(input('請輸入任意兩組數字,用逗號隔開 :'))
result = compute(x,y)
print('相乘為',result)
看看別人寫的
def compute():
x=eval(input())
y=eval(input())
z=x*y
return z
v=compute()
print(v)
練習題總結 我要一航打完兩組數字但是題目顯示為兩次的輸入
修改如下
x = eval(input('請輸入數字 :'))
y = eval(input('請輸入數字 :'))
def compute(x,y):
result = x * y
return result
result = compute(x,y)
print('相乘為',result)
請輸入數字 :11
請輸入數字 :56
相乘為 616