# Visual Code _ Python
### 環境設定
1.設定背景資料夾
從File → Open folder選取目標資料夾
2.可直接新增檔案

3.前期設定
* 先安裝除錯程式
```python=
#於終端機輸入
pip install pylint
```
* 再安裝code runner延伸模組
* 安裝可以自動排版和格式化code的模組
```python=
#於終端機輸入
pip install autopep8
```
### 編輯器
1.於編輯器下方"TERMINAL"的部分,亦可直接輸入檔名測試檔案
```python=
#先輸入python 後面接著檔案名稱加副檔名
PS D:\python_learn> pyhton start.py
```

### 快速指令
1.ctrl + s 存檔
### 資料型態及基本運算
#### 數字型態
整數(int)、長整數、浮點數(float)
```python=
345 , 3.45
x=8//6 #整數除法
x=8**6 #次方
x=8%6 #取餘數
#example
y=3+2
print(y)
y+=1 #亦同於y=y+1,將變數中的數字+1
print(y)
```
#### 字串 String
```python=
"測試中文","Hello"
```
基本運算
```python=
#字串用單引號或雙引號都可以
s="Hello"
print(s)
#若要在字串中顯示雙引號
t="Hell\"o"
print(t)
#字串串接的部分,可以用+或者空白鍵
t1="Hello"+"world"
t2="Hello" "world"
print(t1)
print(t2)
#字串中要換行,則使用\n或使用雙引號換成三個雙引號
c="Hello\nworld"
print(c)
c1="""Hello
world"""
print(c1)
#若要字串重複,則可直接使用乘號
#字串會對內部的字元編號(索引),從0開始算起,可以給開頭不給結尾,也可以給結尾不給開頭
b="Hello"
print(b[1])
```
#### 布林值-Ture or False
```python=
True
False
```
#### List - 有順序、可動的列表(可變列表)
```python=
[3.4,1.2,5.4], ["Hello","world"]
```
基本運算
```python=
grade=[50,60,70,80,85]
print(grade)
print(grade[0])
#修改列表中的資料
grade[2]=40
print(grade)
#取得列表中的特定資料
print(grade[1:4])#取得列表編號1到編號3
#串接列表
grade=grade+[12,33]
print(grade)
#取得列表的長度 len(列表名稱)
length=len(grade)
print(length)
#巢狀列表
data=[[3,4,5],[6,7,8]]
print(data)
#修改巢狀列表中的資料
data[0][0:2]=[5,5,5]
print(data)
```
#### Tuple - 有順序、不可動的列表(固定列表)
```python=
(3,4,1),("H","e")
```
基本運算
```python=
data=(3,4,5)
#基本上所有基本運算概念跟List一樣
#只有在修改資料的部分不一樣,因為Tuple基本概念是不可變動資料
print(data[0:1])
```
#### 集合 Set -無序列的資料集合
```python=
{3,4,5}, {"hello","world"}
```
基本運算
```python=
s1={3,4,5}
#觀察資料有無在集合中
print(3 in s1)
print(10 not in s1)
#集合的運算
s2={4,5,6,7}
#交集 &:取兩個集合中,相同的資料
#聯集 | :取兩個集合中的所有資料,但不重複取
#差集 - :從s1中,減去和s2重疊的部分
#反交集 ^ :取兩個集合中,不重疊的部分
s3=s1&s2
s3=s1|s2
s3=s1-s2
s3=s1^s2
print(s3)
# set(字串),無順序性,把字串中的字母拆解成集合
s=set("hello")
print(s)
```
#### 字典 Dictionary -鍵值對(Key-Value Pair)的集合
```python=
{"apple":"蘋果","data":"資料"}
```
基本運算
```python=
dic={"apple":"蘋果","bug":"蟲蟲"}
#修改value
dic["apple"]="小蘋果"
print(dic["apple"])
#判斷key是否存在
print("test" not in dic)
#刪除字典中的鍵值對 (key-value pair)
del dic["apple"]
#從列表的資料產生字典
dic={x:x*2 for x in [3,4,5]}
print(dic)
```
### If 判斷式
```python=
#取得字串形式的使用者輸入
x=input("請輸入數字:")
#將字串轉換成數字型態
x=int(x)
if x>200:
print("大於 200")
elif x>100:
print("大於 100. 小於等於 200")
else:
print("小於等於 100")
#四則運算
n1=int(input("請輸入數字一:"))
n2=int(input("請輸入數字二:"))
op=input("請輸入運算 +,-,*,/ :")
if op=="+":
print(n1+n2)
elif op=="-":
print(n1-n2)
elif op=="*":
print(n1*n2)
elif op=="/":
print(n1/n2)
else :
print("不支援的運算")
```
### while迴圈
while 布林值:
若布林值為True,執行命令,
回到上方,做下一次的迴圈判斷
```python=
#範例,等差級數的加法
n=1
sum=0 #紀錄累加的結果
while n<=10:
sum=sum+n
n+=1
print(sum)
```
### for 迴圈
for 變數名稱 in 列表或字串:
將列表中的項目或字串中的字元逐一取出,逐一處裡。
#### range()
函數產生序列
可只定義結果
```python=
for x in [3,5,1]:
print(x)
for x in "Hello":
print(x)
for x in range(5,10):
print(x)
sum=0
for x in range(1,11):
sum=sum+x
print(sum)
```
### 迴圈控制
#### break, continue
一定要跟迴圈做搭配,寫在迴圈裡面。
1. break
while 布林值:
break
for 變數名稱 in 列表或字串:
break
2. continue