慶祝學呀
百萬
造訪!
尚未建立名稱
能量:0
我的帳號中心
問 學Bot 任何問題!
首頁&搜尋
最愛&收藏
所有課程
分享資源
帳號設定
關於學呀
線上募款
什麼是函數?
編輯章節
EDU-MD
Google 教室
加至書籤
這個章節的目標,是讓讀者認識程式的基本概念,章節中的程式,並非任何程式語音的語法。 # 數學中的函數 ![](https://upload.wikimedia.org/wikipedia/commons/b/b8/Apple_slicing_function.png) ## 函數是台機器 回憶一下我們在數學課中所學過的函數,是用來做什麼的呢?其實函數就像是一台機器,給它一個輸入,它就給你一個輸出。假設有一個函數叫做「 f 」,當你輸入 3,他就輸出 9,那麼我們可以把這式子表示成: f(3) = 9 其他的函數寫法也是一樣,只要在函數名字後面加上括號,並在括號內輸入想要輸入的值,就可以表達函數了。 ![](https://i.imgur.com/WhAOe66.jpg) ## 函數是個自定義的運算符號 函數就像是一個自定義運算符號,用來計算你希望它計算的值。每一個函數都有自己的定義,例如我將函數「 g 」定義為兩個輸入值「 a 」和「 b 」的相加。這可以表達作: g(a, b) = a + b 那麼當要使用這個函數時,我們可以寫說 g(4, 7),而這所代表的值是11。另外,在運算時,假設遇到一個題目,我們需要先將函數算出來將,然後就可以算出結果: 3 × g(3, 5) = 3 * 8 = 24 # 程式中的函數 ![](https://files.realpython.com/media/The-Python-Print-Function_Watermarked.26066d64ad82.jpg) ::: suggestion 這個章節的重點,在於帶領讀者理解物件導向的概念,而非介紹單一個程式語法。此章節的程式語法和 JavaScript 等程式語言相近,但並非任何真實程式語言。請專注於章節中的概念部分,而非語法部分。 ::: ## 作為運算符號 程式中也會用到函數,而且用法與數學中的用法極為類似。怎麼說呢?讓我們把上述的函數「g」寫作程式版,將會變成下面這樣: ``` g(a, b) = a + b; ``` 在使用這個函數時,我們可以直接呼叫它。例如現在要讓電腦印出「a + b」的值,我們就可以說: ``` print(g(3, 5)); ``` 電腦在看到這串看似複雜的程式碼時,會先把括號裡面的 `g(3, 5)` 算出來。因此實際執行時,電腦執行的程式碼將會是: ``` print(8); // a + b = 8 ``` ## return 在大多數的程式語言中,在定義函數的時候我們會加上一些符號修飾,因此,在告訴電腦函數的定義時,與其說: ``` g(a, b) = a + b; ``` 我們會說: ``` function g(a, b){ return a + b; } ``` 其中,**function即為「函數」的****英文**。所以段程式的意思是: 1. 建立一個函數叫做「g」 2. 這個函數需要輸入兩個值,分別較「a」跟「b」 3. 這個函數將會輸出「a + b」所表示的值 `return` 這個詞,就是在告訴電腦這個函數將輸出什麼。 ## 函數中的程式 函數中的程式可以不只有一行,也就是說我們可以發揮創意,做出很多不同的程式。讓我們先定義一個函數叫做 `sayHi`,並讓它回傳輸入的值。 ``` function sayHi(time){ return time; } ``` 也就是說,執行以下的程式碼,將在螢幕上印出「6」 ``` print(sayHi(6)); ``` 接著,讓我們在函數中建立一個迴圈,讓這個函數在螢幕上說「Hi」。 ``` function sayHi(time){ for(from 1 to time){ print("Hi"); } return time; } ``` 如此,當我們輸入「6」,螢幕上將印出 6 個「Hi」;輸入「30」,則自印出 30 個「Hi」。 最後,讓我們看個影片收尾。 ::: youtube j-idGfFDsAU ::: ::: translation method 方法(即函數) function 函數 infinite 無限non-numerical 輸入的數 :::
複製內容