Udemy課程:[100 Days Of Code(Dr. Angela Yu)](https://www.udemy.com/course/100-days-of-code/)
# Day 1 - Beginner - Working withVariables in Python to Manage Data
###### tags: `python` `Udemy` `100 Days Of Code`
2021.01.08(Fri.)
## ● 前言 / 心得
把心得放在前面,會上這門課的原因,主要是在[udemy限免社團](https://www.facebook.com/groups/Udemy.co3.tw/)看到版主sky大大,辦了一個共學的活動(一群人一起學習比較有動力XD),實在太感謝版主了!加上剛好這門課程[100 Days Of Code](https://www.udemy.com/course/100-days-of-code/)特價330元,於是決定想乘著暑假來學習python。
開始這門課程之前,在高三資訊課第一次接觸python,但都是相當基礎的內容(畢竟不到一個學期,而且一個禮拜兩堂課的樣子),後來也沒再接觸任何程式語言,大概2020年大一下學期才又碰到了python(但當初準備轉學考根本無心上課),以及2020年暑假左右買了Hahow的[前端課程](https://hahow.in/@majer)(吳哲宇老師),開始學習JavaScript,然後才開始慢慢對程式語言玩起興趣,所以目前還是超級新手(以暑假正式學習到今天約半年不到)。
第一堂課上完的感覺還能接受,老師講話語速不快,也會用很多現實比喻把內容給具體化,還滿有趣的。不過大概是第一堂的關係,內容也相當簡單,比較難的部分大概就是[day-1-4-exercise](https://repl.it/@tina0915tw/day-1-4-exercise#README.md)這裡了,兩個東西互相交換的概念滿好玩的,有放在上課筆記第8點,期待下一堂課的開始,也希望打筆記的習慣能持續下去,撐完100天!
## ● 上課筆記
## 其他
> [Thonny](https://thonny.org/):可以單步程式碼執行程式碼,看程式是怎麼跑的。
## 0.code
> [day-1-printing-start](https://repl.it/@tina0915tw/day-1-printing-start#main.py)
> [day-1-1-exercise](https://repl.it/@tina0915tw/day-1-1-exercise#README.md)
> [day-1-2-exercise](https://repl.it/@tina0915tw/day-1-2-exercise#README.md)
> [day-1-3-exercise](https://repl.it/@tina0915tw/day-1-3-exercise#main.py)
> [day-1-variables-start](https://repl.it/@tina0915tw/day-1-variables-start#main.py)
> [day-1-variables-end](https://repl.it/@tina0915tw/day-1-variables-end#main.py)
> [day-1-4-exercise](https://repl.it/@tina0915tw/day-1-4-exercise#README.md)
> [day-1-printing-end](https://repl.it/@tina0915tw/day-1-printing-end#main.py)
> [Day 1 Project: Band Name Generator](https://repl.it/@tina0915tw/band-name-generator-start#main.py)
## 1.print ( )
```python=
print("What your name?")
```
括號裡面放入想要輸出的字串,用雙引號包起來,讓他知道那不是一串code。
## 2.引號
雙引號裡字串中又要引號的話,需要改用單引號。
## 3.換行
用「 \n 」 (注意:是back slash)。
## 4.input ( )
```python=
input("What your name?")
#使用者可輸入
```
函數接受一個標準輸入順序,返回為string類型。
## 5.註解方式
```python=
#註解第一種用法
"""
註解第二種用法
可以跨行註解
"""
```
* 用井字號(#)
* 用"3"個雙引號(""")←可以多行註解
* 快捷鍵:
Mac:Command鍵(⌘) + /
Windows:Ctrl + /
## 6.len ( )
```python=
len("hello")
#輸出為5,因為此字串長度為5
```
會輸出括號裡的內容(字串、陣列、元素等等)的長度或項目個數。
## 7.變數Variable
```python=
name=input("What your name?")
#給input賦予一個變數name
```
就像我們的電話簿中的電話號碼,都會設名字。
例如說如果只打"0912345678",可能會不知道是誰,所以給他設"James"。
這樣之後搜尋打"James",就會跑出"0912345678"。
## 8.解釋[day-1-4-exercise](https://repl.it/@tina0915tw/day-1-4-exercise#README.md)
> Write a program that switches the values stored in the variables a and b.
> 輸入a、b,希望輸出的是a、b值交換。
```python=
a = input("a: ")
b = input("b: ")
#Write your code below this line 👇
c=a
a=b
b=c
#Write your code above this line 👆
print("a: " + a)
print("b: " + b)
```
重點在中間3行。想像一下你有一杯黑咖啡和一杯牛奶,現在你想將兩者杯子中內容物進行交換,那基本上就會拿出第三個杯子。
所以這裡先建立新的變數c,然後把a存進去,此時就可以把b放進(儲存進)a了,只要再把c(其實也就是裝進c的a)丟進b,這麼一來就交換成功啦!
P.S.是很常見的面試題目
## 9.變數的命名
* 有意義的命名(不然好幾個月回來看,會不知道在幹嘛)
* 命名中不能有空白(可以用底線_取代)
* 數字不能擺在開頭
* 避免使用函數的名稱命名(例如:input、print...)