--- tags: Python --- # 變數 ## 宣告?Python不需要! ### Python中的變數是不需要事先進行宣告的,我們只要直接使用即可。 --- ## 輸入 在Python中,我們使用 `input()` 函式來進行輸入,且預設輸入型態皆是字串 `str`。 因為 `input()` 是一個函式,所以小括號是不可以省略的。 而Python也提供了一個便利的功能,讓我們可以直接在 `input()` 的小括號裡面打上提醒使用者輸入的內容,例如: ```python= s = input("請輸入你的名字: ") ``` 此時在螢幕上會顯示 `請輸入你的名字: ` 並等待使用者輸入, 當我們輸入時,便會直接存進s這個變數中。 --- ## 輸出 Python的輸出是使用`print()`函式,括號內可以有多個變數,且輸出完會自動換行。 例如: ```python= s = input("請輸入你的名字: ") print(s, "你好!") ``` 輸入: `ABC` 輸出: `ABC 你好!` 我們可以發現,以逗號隔開的變數,Python會自動輸出空格間隔,若不想要空白區隔,有幾種方式可以解決。 * 使用`end=`來實現 在`print()`函式新增一個參數`end=`,這個參數可以讓我們決定`print()`要以什麼作為結尾,沒有此參數便是以換行字元`'\n'`為結尾。 以上面的程式碼為例,我們如果不想要名字與你好之間有空格,則可以寫成: ```python= s = input("請輸入你的名字: ") print(s, end='') print("你好!") ``` 輸入: `ABC` 輸出: `ABC你好!` * 使用**字串串接**來實現 Python的字串只需要使用`+`便可以進行串接,串接時自然就不會有空格了, 以同樣的程式碼舉例: ```python= s = input("請輸入你的名字: ") print(s + "你好!") ``` 輸入: `ABC` 輸出: `ABC你好!` 可以發現程式碼變短了,可讀性也沒有降低,因此這是一個不錯的方法! 但是,這是輸出的變數同樣是字串的情況,如果想要輸出的變數不是字串呢? 這時候就要使用到**資料轉型**了! --- ## 資料轉型 前面有說到,Python預設輸入型態都是字串`str`,那如果我們想要運算數字,就需要把輸入轉換成整數 `int` 或是浮點數 `float` 型態, 寫法也非常簡單,只要用 `新的變數型態(原本的變數名稱)` 便可以完成資料轉型。 假設我要寫一個程式運算某生成績加十分後的結果 ~~(聽起來很白癡,但就先這樣吧)~~ ,可以寫成: ```python= grade = int(input("請輸入成績: ")) print("新的成績:", grade + 10) ``` 輸入: `55` 輸出: `新的成績: 65` 其中的 `int(input("請輸入成績: ")` 有使用到**複合函式**的概念, 我們先用 `input()` 來取得使用者輸入的內容,再用 `int()` 來將剛剛的輸入轉型成整數型態。 如果要解決前面不想要輸出有空格的問題,也可以使用資料轉型來達成,範例如下: ```python= grade = int(input("請輸入成績: ")) print("我今天小考考" + str(grade) + "分~") ``` 輸入: `55` 輸出: `我今天小考考55分~`