Python基礎語法

講師:王裕佳

成功高中電研教學

學術力: Web, Flutter(Android, Windows, Web)

個性: 內向、害羞

興趣: 畫畫、音樂

專長: 電子設計

Python 安裝

搜尋

"Python"並點擊

"Download Python"

補充:
在家可以使用

Microsoft Store

直接搜尋找個版本安裝

截至2026最新版本為3.14

這裡可以直接下載最新版

建議選擇 Standalone (獨立版)

也可能長這樣

如果遇到請最大化視窗

Python 3.15 之後將改為使用 Pytohn install Manager

下載完成後打開安裝程式

如果已經有其他版本會出現此畫面

按下 Upgrade Now 更新

先打勾兩個

再點擊 Install Now

進行安裝

2

1

開始裝到電腦

下載完成

Google Colab

Google Colab

免費的 Python環境

寫的程式可以線上執行

自動儲存到雲端硬碟

What is

首先,搜尋Colab

尚未登入

點擊「新增筆記本」

已經登入

重新命名

執行按鈕

5min

  • 登入帳號
  • 進入 Google Colab

輸出-print()

第一個 Python 程式碼

print()

印出括號內的值

"Hello, World!"

字串

執行結果

print()-多行的輸出

當你把print寫成三行後,

他也會輸出三行。

執行結果

print()-一行字的字尾

print("Hello",end="***")
print("How are you",end="***")
print("Hi",end="***")
print("Hello",end="\n")
print("How are you",end="\n")
print("Hi",end="\n")

end="..." 在print的尾部,加上...

執行結果

執行結果

預設是 \n (換行)

試試看

Code:
?
使用三個print與 end=""

輸入:

輸出:

5min

試試看

Code:

輸出:

5min

分成三行print(),

把end設為"~~~"

print("A",end="~~~")
print("B",end="~~~")
print("C",end="~~~")

Ans

Python print() 參數總結

參數名稱 說明 預設值型別
*objects 要輸出的內容 (多個物件用逗號隔開) Any
sep 物件之間的分隔字元 ' ' (空格)字串
end 輸出結束後的結尾字元 '\n' (換行)字串
file 設定輸出位置 (如檔案) sys.stdout物件
flush 是否強制刷新緩衝區 False布林值

變數宣告&資料型態

型態名稱:
整數(1、2、3......) 整數                             int
小數(1.1、1.2、1.5......) 浮點數                       float
真、假(True、False) 布林                           bool
字串(Hello、Hi、Meow) 字串                              str
字典 dict
清單 list
元組 tuple
集合 set

C++ 宣告變數

Python 宣告變數

a = 100
b = 3.14
c = "hello world"
d = True
e = False
int a = 100;
float b = 3.14;
string c = "hello world";
bool d = true;
bool e = false;

type()-輸出變數型態

a = 100
b = 3.14
c = "hello world"
d = True
e = False

print(a)
print(type(a))

print(b)
print(type(b))

print(c)
print(type(c))

print(d)
print(type(d))

print(e)
print(type(e))

執行結果

先宣告變數

印出變數

輸出變數型態

type()

輸出變數的資料型態

Python-變數型態強制轉換

x = 1

int_x = int(x)
float_x = float(x)
str_x = str(x)

print(int_x)
print(type(int_x))

print(float_x)
print(type(float_x))

print(str_x)
print(type(str_x))

先宣告變數

把變數型態改變

整數 : int()

浮點數 : float()

字串 : str()

最後輸出

變數

變數的資料型態

執行結果

試試看

在 Python 中:
0x6767 是什麼型別?

1min

試試看

在 Python 中:
0x6767 是什麼型別?

5min

Ans

註解

Comment

註解的功用是:

  • 讓他人比較容易讀懂你的程式
  • 處理程式錯誤時,比較方便
  • 筆記

# - 單行註解

print(" ") # 印出一個空格

+

""" - 多行註解

"""
自動領獎工具
透過OCR辨識當螢幕上出現"領取"文字就對其按下左鍵
"""

註解之-快捷鍵

選取想註解的程式碼

按下 Ctrl + /

就可以一次註解多行程式碼啦~

目前使用的Google Colab可以

但不是所有的環境都可以

字串格式語法

f-string

先看看程式碼~~

x=10
y=20
print(f"x={x},y={y}")

可以看到,這裡把 f 放到了" "的前面

執行結果

o

因為 f

字串間可以使用 {} 來把 x、y...變數放入

比較一下

x=10
y=20
print(f"x={x},y={y}")

V.S

x=10
y=20
print("x={x},y={y}")

執行結果

輸入

input()

input()-輸入

執行結果

輸入

輸入的字

輸出的字

x=input()
y=input()
z=input()

print(x)
print(y)
print(z)

把 x y z 都設為 input() 後,

依序輸出 x y z

input() - 變數用法

input()-輸入

x=input()
print(type(x))

1.把 x 設置為input()

2.print出 x 的資料型態

執行結果

print 出的資料型態

(其資料型態為string字串)

為什麼我輸入整數,

但型態卻不是 int整數 而是 string字串 呢?

input()-改變輸入的資料型態

x=int(input())
print(x)
print(type(x))

1.把 x 設置int(input())

(用int包著input(),把型態從string轉換成int)

執行結果

資料型態已經變成int了

試試看

輸入 x(1)、y(1.5)後,

輸出 x 和 x 的資料型態(限定int)

輸出 y 和 y 的資料型態(限定float)

範例輸入:

 

範例輸出:

5min

試試看

x=int(input())
y=float(input())
print(x,type(x))
print(y,type(y))

x=int(input())
y=float(input())
print(x,type(x))
print(y,type(y))

把 x、y 的 input() 型態設置為 int 和 float 後

輸出 x , x 的型態type(x)

輸出 y , y 的型態type(y)

5min

Ans

map(int,input().split())

a,b,c,d,e = map(int,input().split())
print(a)
print(b)
print(c)
print(d)
print(e)

input() 的資料型態

input() 以 .split(~) 括號內做分割

沒放默認為空白

執行結果

輸入

輸出

用空格隔開的輸入

運算

Arithmetic

四則運算&取整數、取餘數、指數

符號 means 運算
+ 相加 1+1=2、1+2=3、2+3=5
- 相減 2-1=1、3-2=1、5-2=3
* 相乘 2*2=4、3*5=15、4*6=24
/ 相除 6/3=2、5/3=1.66666、10/7=1.42857
** 指數運算 2**2=4、2**3=8、3**2=9
// 相除取整數 6//3=2、5//3=1、20//7=2
% 相除取餘數 6%3=0、5%3=2、20%7=6

先看程式碼~~

x=5
y=3
print("x+y=",end="")
print(x+y)
print("x-y=",end="")
print(x-y)
print("x*y=",end="")
print(x*y)
print("x/y=",end="")
print(x/y)
print("x**y=",end="")
print(x**y)
print("x//y=",end="")
print(x//y)
print("x%y=",end="")
print(x%y)

先指定 x y

印出 x , y 的運算

執行結果

但是這樣程式好長喔,

感覺打了一堆重複的東西

f-string 與運算

x=5
y=3
print(f"x+y={x+y}")
print(f"x-y={x-y}")
print(f"x*y={x*y}")
print(f"x/y={x/y}")
print(f"x**y={x**y}")
print(f"x//y={x//y}")
print(f"x%y={x%y}")

利用 f-string

可以在""中使用{}處理運算

執行結果

復合賦值運算子

原始式子 簡寫 運算
x = x + 5 x += 5 10 + 5 = 15
x = x * 5 x *= 5 10 * 5 = 50
x = x - 5 x -= 5 10 - 5 = 5

設 x = 10  

試試看

輸入 x、y、z後,

輸出x-y+z

輸出x+y*z

利用f-string

範例輸入:

 

範例輸出:

5min

試試看

x,y,z = map(int,input().split())
print(f"{x}-{y}+{z}={x-y+z}")
print(f"{x}+{y}*{z}={x+y*z}")

把 x y z 都設為 input() 後,

利用f-string處理

x、y、z

x-y+z、x+y*z

5min

Ans

在除法時,你可能會遇到:

算到小數第3位、第5位...

x=5
y=3
print(f"{x}")
print(f"x={x}, y={y}")
print(f"{x} / {y} = {x/y}")
print(f"{x} / {y} = {x/y:.2f}")
print(f"{x} / {y} = {x/y:6.2f}")

執行結果

print(f"{x} / {y} = {x/y}")
print(f"{x} / {y} = {x/y:.2f}")
print(f"{x} / {y} = {x/y:6.2f}")

{x/y:.2f}    小數點後2位

{x/y:6.2f}    6->總寬度為六,.2f小數點後2位

試試看

輸出

20除7,到小數第7位

20除7,到小數第3位,總共7位數

範例輸入:

範例輸出:

5min

試試看-Ans

print(f"20 / 7 = {20/7:.7f}")
print(f"20 / 7 = {20/7:7.3f}")

用:.7f 設置為小數第7位

:7.3f 設置7位數,小數第3位

有時候,

你可能會想要把變數的值互換

x=5
y=3
x,y=y,x
print(x,y)

1st 先設定好 x 、 y

2nd x , y = y 的值(3) , x 的值(5)

印出 x、y

如此

x=y的值(3)

y=x的值(5)

執行結果

x,y=y,x

對應的位置對到對應的值

試試看

輸入整數 x、y、z

讓x=y,y=z,z=x後

輸出 x、y、z

範例輸入:

 

範例輸出:

5min

試試看

x,y,z = map(int,input().split())
x,y,z=y,z,x
print(x,y,z)

先把 x、y、z設為整數輸入

接著,讓x,y,z=y的值,z的值,x的值

最後,輸出 x y z

x,y,z=y,z,x

x 對應到 y 的值

y 對應到 z的值

z 對應到 x的值

Ans

5min

邏輯運算

縮排

表示程式碼區塊

區塊內的每一行一定要對齊

if

如果條件運算式為真

就做...

if True:
  print("True")

記得要縮排(按下鍵盤 Tab )

執行結果

偽值 Falsy - 視為 False 不執行:

False, 0, 0.0, "", [], {}, (), set(), None

真值 Truthy - 視為 True 執行:

True, -3, 0.1, " ", [0]...

if 條件運算式:

    ...

if-else

if(True):
  print("True")
else:
  print("False")
if(False):
  print("True")
else:
  print("False")

如果(True)

    執行A

否則

    執行B

執行結果

執行結果

if-elif-else

if True:
  print("A")
elif True:
  print("B")
else:
  print("C")
if(False):
  print("A")
elif(True):
  print("B")
else:
  print("C")

如果True

    執行A

否則如果True

    執行B

否則

    執行C

執行結果

執行結果

Comparator 比較器

符號 意思 比較 回傳 說明
> 大於 x  >  y True 10大於5  是真的
< 小於 x  <  y False 10小於5  是假的
>= 大於或等於 x  >=  y True 10大於或等於5  是真的
<= 小於或等於 x  <=  y False 10小於或等於5  是真的
== 等於 x == y False 10等於5  是假的
!= 不等於 x  !=  y True 10不等於5  是真的

Let: x=10  ,  y=5

程式碼

x=10
y=5
if(x>y):
  print("x>y")
if(x<y):
  print("x<y")
if(x>=y):
  print("x>=y")
if(x<=y):
  print("x<=y")
if(x==y):
  print("x==y")
if(x!=y):
  print("x!=y")

x > y

x >= y

x != y

都為真,

所以會輸出

x > y、x >= y、x != y

執行結果

試試看

輸入 x、y後

判斷兩者是

x>y、x<y 還是 x=y 後輸出

範例輸入:

 

範例輸出:

5min

試試看

x,y = map(int,input().split())
if x == y:
  print("x=y")
elif x > y :
  print("x>y")
else:
  print("x<y")
x,y = map(int,input().split())
if x == y:
  print("x=y")
if x > y :
  print("x>y")
if x < y:
  print("x<y")

5min

Ans

多種解: 三個狀態不會同時發生

if, else, elif 都可選

and  or  not

Let:

T = True、F = False

意思 判斷 回傳 說明
and 且  (兩者都需符合) T  and  F False T F 中只有 T 是真
or 或  (僅需一者符合) T  or  F True T F 中 T 是真
not not T False 不是真的 --> 假的

程式碼~~

T=True
F=False
if(T and F):
  print("True")
else:
  print("False")
if(T or F):
  print("True")
else:
  print("False")
if(not T):
  print("True")
else:
  print("False")
if(not F):
  print("True")
else:
  print("False")

設: T = 真、F = 假

T 且 F = 假

T 或 F = 真

不 T = 假

不 F = 真

執行結果

試試看

當我輸入 x 後

幫我判斷今天是不是週末(6、7)

並輸出

範例輸入:

x 限定 1~7

範例輸出:

5min

試試看

x = int(input())
if x == 6 or x == 7:
  print("是週末")
else:
  print("不是週末")

如果 x 等於 6 或者等於 7

輸出 是周末

否則

輸出 不是周末

Ans

5min

串列

list

宣告list

first_list = ["apple", "big", 1, 2, 3, [1,2,3]]

list中的值

可以是字串

可以是數字

也可以是另一個list......

輸出list

numberlist = [1,2,3,4,5,6,7,8]
print(numberlist)
print(type(numberlist))
print(numberlist[0])
print(numberlist[4])

name_list[數字]

numberlist 中的 第數字

執行結果

格數:        0     1     2    3     4    5    6     7

輸入list

inputlist = list(map(int,input().split()))
print(inputlist)

運用map輸入法分割輸入

再轉型成list

試試看

給資料:

輸入:

輸出:

numberlist = [1,2,3,4,5,6,7,8,9,10]

輸出

1 3 5 7 9

2 4 6 8 10

5min

試試看

numberlist = [1,2,3,4,5,6,7,8,9,10]
print(numberlist[0],end=" ")
print(numberlist[2],end=" ")
print(numberlist[4],end=" ")
print(numberlist[6],end=" ")
print(numberlist[8])
print(numberlist[1],end=" ")
print(numberlist[3],end=" ")
print(numberlist[5],end=" ")
print(numberlist[7],end=" ")
print(numberlist[9],end=" ")

格子 0 對應到 numberlist 中的值 1

格子 3 對應到 numberlist 中的值 4

還記得吧~

還記得 end 怎麼用吧~~

5min

Ans

更便捷的輸出方式

numberlist = [1,2,3,4,5,6,7,8,9,10]
print(numberlist)
print(numberlist[0:5])
print(numberlist[0:5:2])
print(numberlist[-1])
print(numberlist[0:-2])

從 a 格到 b 格前: [a:b]

從 a 格到 b 格前, 間格c : [a:b:c]

*從後面數過來第 a 格: [-a]

執行結果

試試看

給你這段程式:

輸入:

輸出:

numberlist = [1,2,3,4,5,6,7,8,9,10]

幫我輸出

[1, 3, 5, 7, 9]

[2, 4, 6, 8, 10]

使用[a:b]

5min

試試看

numberlist = [1,2,3,4,5,6,7,8,9,10]
print(numberlist[::2])
print(numberlist[1::2])

[ : :2]

因為沒限定初始格到結束格

所以默認從第零格到最後一格

[1: :2]

沒限定結束格

所以從第一格到最後一格

Ans

5min

增加資料

numberlist1 = [1,2,3,4,5]
print(numberlist1)
numberlist1.append(6)
print(numberlist1)
numberlist2 = [1,2,3,4,5]
print(numberlist2)
numberlist2.extend([6,7,8])
print(numberlist2)
numberlist3 = [1,2,3,4,5]
print(numberlist3)
numberlist3.insert(3,9)
print(numberlist3)

.append( a )

在尾部增加值 a 

.extend([ a,b,c...... ])

在尾部增加值 a b c...

.insert( a,b )

a 格增加 b

其他往後推

移除資料

numberlist1 = [1,1,2,2,3,3,4,4,5,5]
print(numberlist1)
del numberlist1[3]
print(numberlist1)
del numberlist1[1:8:2]
print(numberlist1)
numberlist2 = [1,2,3,4,5]
print(numberlist2)
numberlist2.pop()
print(numberlist2)
numberlist2.pop(2)
print(numberlist2)

del name_list[數字]

刪除對應的格子 

.pop( a )

刪除 a 格

如果沒放,就是刪除最後一格

移除資料

numberlist3 = [2,1,2,3,2,3]
print(numberlist3)
numberlist3.remove(2)
print(numberlist3)

.remove( a )

刪除最先出現的 a 值

排序資料

numberlist1 = [3,1,4,1,5,9]
print(numberlist1)
numberlist1.reverse()
print(numberlist1)
numberlist2 = [3,1,4,1,5,9]
print(numberlist2)
numberlist2.sort()
print(numberlist2)

.reserve()

把 list 反轉 

.sort()

由小到大排序

試試看

給資料:

輸入:

輸出:

numberlist = [3,1,4,1,5,9,2,6,5,4,5]

5min

試試看

numberlist = [3,1,4,1,5,9,2,6,5,4,5]
numberlist.remove(9)
numberlist.remove(1)
numberlist.remove(1)
numberlist.sort()
numberlist.reverse()
print(numberlist)

2~4行把數字刪除後

再把它由小到大排序

之後反轉

5min

Ans

元組

tuple

宣告tuple

first_tuple = (1,2,3,4,5)

tuple 跟 list 差不多

不過 tuple 不能被修改

不能新增、刪除值到 tuple 中

輸出tuple

first_tuple = (1,2,3,4,5)
print(first_tuple)
print(type(first_tuple))
print(first_tuple[::2])

其實

tuple 的輸出跟 list 都差不多

name_tuple[數字]

執行結果

格數:      0     1     2    3     4  

字典

dict

宣告dict

first_dict = {"apple": "蘋果", "big": "大", "cat": "貓"}

字典名

second_dict = {"one": 1, "two": 2, "three": 3}

"apple": "蘋果"

鍵Key

值value

字典的特性是,

你可以由"key"找到他相對應的"value"

而Key是唯一不變

key與value可以是任何資料型態

用大括號包起來

輸出整個字典

first_dict = {"apple": "蘋果", "big": "大", "cat": "貓"}
print(first_dict)
print(type(first_dict))

先宣告好變數後

用 print 輸出變數及型態

執行結果

資料型態是"dict"

first_dict = {"apple": "蘋果", "big": "大", "cat": "貓"}
second_dict = {"one": 1, "two": 2, "three": 3}

print(first_dict["apple"])
print(second_dict["three"])

中括號

字典中的Key

執行結果

用鍵找值 

新增資料

Englishdict = {"apple": "蘋果", "big": "大", "cat": "貓"}
Englishdict["dog"] = "狗"
Englishdict["empty"] = "空"
print(Englishdict)

新增字典資料時

我們需要先有一個字典

而新增時語法為:

dictName[key] = value

執行結果

一次新增大量資料

Englishdict = {"apple": "蘋果", "big": "大", "cat": "貓"}
addedEnglish = {
	"Hi": "嗨",
	"Hello": "哈囉",
	"Happy": "開心",
	"dig": "挖",
	"empty": "空"
}
Englishdict.update(addedEnglish)
print(Englishdict)

語法:

dict.update(dict)

執行結果

更改資料

Wrongdict={"Hi": "你好", "Hello": "我很好"}
print(Wrongdict)
Wrongdict["Hi"] = "哈囉"
Wrongdict["Hello"] = "你好"
print(Wrongdict)

更改資料與新增資料一樣都是:

dictName[key] = value

執行結果

試試看

給你這段程式:

輸入:

輸出:

numberdict = {"one": 1, "two": 2, "three": 3}
addnumber = {"six": "六", "seven": "七", "eight": "八", "nine": "九"}

幫我把value都改成文字

並新增 four 四five 五 到number字典中

再把 addnumber 更新到 number 字典中

最後輸出number字典

5min

試試看-Ans

numberdict = {"one": 1, "two": 2, "three": 3}
addnumber = {"six": "六", "seven": "七", "eight": "八", "nine": "九"}
numberdict["one"] = "一"
numberdict["two"] = "二"
numberdict["three"] = "三"
numberdict["four"] = "四"
numberdict["five"] = "五"
numberdict.update(addnumber)
print(numberdict)

由 dictName[key] = value 新增並更改字典內容

再使用 dict.update(dict)

把addnumber 新增到 numberdict 中

最後輸出

刪除資料

刪除資料有兩種寫法

1: del dict_name['key']

2: dict_name.pop('key')

numberdict = {"one": 1, "two": 2, "three": 3, "four": 4}
print(numberdict)
del numberdict["four"]
print(numberdict)
numberdict = {"one": 1, "two": 2, "three": 3, "four": 4}
print(numberdict)
numberdict.pop("four")
print(numberdict)

執行結果

其他用法:

number_dict = {"one": 1, "two": 2, "three": 3, "four": 4}

print(f"numberdict的長度是: {len(number_dict)}")
print(f"numberdict中的key是: {number_dict.keys()}")
print(f"numberdict中的values是: {number_dict.values()}")
print(f"numberdict中的item是: {number_dict.items()}")

長度: len(dict_name)

查看鍵: dict_name.keys()

查看值: dict_name.values()

查看所有元素: dict_name.items()

執行結果:

想要了解更多的話

Python 初學第九講 — 字典

https://reurl.cc/aVb3v7

集合

set

宣告set

first_set = {2,2,1,1,5,7,5,8,4,5,7}

set 中不含重複的資料

輸出set

first_set = {2,2,1,1,5,7,5,8,4,5,7}
print(first_set)
print(type(first_set))

set 跟 list 差蠻多的

set 沒有 "格子" 的概念

它就是一個集合

執行結果

增加資料

numberset1 = {1,2,3}
numberset1.add(0)
print(numberset1)
numberset2 = {1,2,3}
numberset2.update({0,3,4,5,6,9,8,7})
print(numberset2)

.add( a )

增加 a 到 set 中

.update({ x })

新增 x 到 set 中

x 可以是多筆資料

移除資料

numberset1 = {1,2,3,4,5}
print(numberset1)
numberset1.remove(3)
print(numberset1)

.remove( a )

刪除 set 中的 a

還想學更多?

Python 基礎語法 - list、tuple、dict、for、while https://reurl.cc/WGYeRD

Python3 集合

 https://reurl.cc/11Ln3D

for-while

break-continue

for迴圈

for i in 序列:

      ^

意思是:對於在 序列 中的 i

i : 變數

序列 : 一組數字、 list 、 set ......

for - range()

for i in range(10):
  print(i)
for i in range(1,10,2):
  print(i)

range(起始值 , 終止值 , 遞 增/減 值)

執行結果:

執行結果:

range(終止值)

只填入一個參數的精簡方法給偷懶

其餘都是這用法

預設0

預設1

試試看

範例輸入:

範例輸出:

輸入整數 x , 整數 y 

輸出:

整數x 加到 整數y (不包含 整數y ) = ?

5min

試試看

x = int(input())
y = int(input())
answer = 0
for i in range(x,y):
  answer += i
print(f"{x} 加到 {y} (不包含{y}) = {answer}")

用 x , y 存入輸入的整數後

for i in range(x,y)

讓他起始為 x 終止為 y

再另用一個變數計算答案(answer)

5min

Ans

for - list set tuple

numberlist = [1,2,3,4,5]
for i in numberlist:
  print(i)
numberset = {1,2,3,4,5}
for i in numberset:
  print(i)
numbertuple = (1,2,3,4,5)
for i in numbertuple:
  print(i)

執行結果:

for - break

for i in range(10):
  if(i==5):
    break
  print(i)

break : 跳出整個迴圈 (這裡跳出for)

執行結果:

for - continue

for i in range(10):
  if(i==5):
    continue
  print(i)

continue : 跳出本次迴圈 

執行結果:

試試看

範例輸入:

範例輸出:

幫我計算 x 到 y 間的奇數和

( 包含 x,y )

5min

試試看

sum_odd = 0
x,y = map(int,input().split())
for i in range(x,y+1):
  if(i%2==0):
    continue
  sum_odd += i
print(sum_odd)

當 i 是 2 的倍數時 ( i 除 2 餘數為0)

跳過當次迴圈( 不執行 sum_odd += i ) 

Ans

5min

while

while 條件式 :

    ...

條件式如果是真值就執行

偽值 Falsy - 視為 False 不執行:

False, 0, 0.0, "", [], {}, (), set(), None

真值 Truthy - 視為 True 執行:

True, -3, 0.1, " ", [0]...

while - 計算

i=0
while i < 10:
  print(i)
  i+=1

while 會執行 10 次

直到 i 不小於10 ( False )

執行結果:

while - 無窮

i=0
while i < 10:
  print(i)

while 會一直執行

執行結果:

這並不是全部......

試試看

範例輸入:

100

範例輸出:

輸入正整數 N

使用 while 輸出 1 到 N 中所有的因數

5min

試試看

N = int(input())
i = 1

while i <= N:
  if N % i == 0:
    print(i)
  i += 1

當 i 可以被 N 整除時

輸出 i

Ans

5min

函式

Function

def - 定義函式

1. 無參數-執行一樣的程式碼

() 表示執行函式

def phone_number():
  	print("0967-676-767")
    
phone_number()

def - 定義函式

2. 一個參數

sometext是參數名稱

def p(sometext): # 我要更簡短的 print
  print(sometext)
  
p("abc")

在內部作為變數使用

p()

沒有輸入時會發生錯誤

def - 定義函式

2. 一個參數-指定預設值 (可選參數)

def p(sometext="忘記輸入了"): # 我要更簡短的 print
  print(sometext)
  
p("abc")
p()

def - 定義函式

3. 多個參數-對齊

依據參數位置輸入

def report(name, score):
  	print(f"{name}拿到了{score}分")
    
report("阿公", 67)

def - 定義函式

4. 多個參數-指定

def book_ticket(movie_name, ticket_type="全票", with_combo=False):
    print(f"訂票成功!【電影:{movie_name}】")
    print(f"票種:{ticket_type}")

    if with_combo:
        print("加購大份爆米花與可樂套餐!")
    else:
        print("無加購餐點")
    print("-" * 30)

book_ticket("奧德賽")
book_ticket("名偵探柯南 高速公路的墮天使", ticket_type="學生票", with_combo=True)
book_ticket("蠟筆小新:奇奇怪怪!我的妖怪假期", with_combo=True)

return - 函式回傳值

函式執行完後,可以將結果「回傳」並且中斷給呼叫者。

def add(a, b):
    return a + b

result = add(10, 20)
print(f"結果是: {result}")

使用 return 後

函式會立即結束

並將後方的數值傳出去

試試看

題目:計算 BMI 函式

請寫一個函式 calc_bmi(weight, height)

  • 參數:體重(kg)、身高(cm)
  • 回傳:BMI 值 (體重(kg) / 身高(m)平方)

範例輸入:

範例輸出:

10min

可能會用到:

指數運算符、用空格隔開的輸入、將浮點數轉換為整數

(無條件捨去)

試試看

10min

def calc_bmi(weight, height):
    height_m = height / 100
    bmi_value = weight / (height_m ** 2)
    return bmi_value
    
w, h = map(int, input().split())
result = calc_bmi(w, h)
print(f"您的 BMI 為 {int(result)}")

身高轉換為公尺

試試看:實作練習 2

題目:圓形面積計算

請寫一個函式 circle_area(radius)

  • 參數:半徑
  • 回傳:面積 (半徑 * 半徑 * 3.14)
  • 若沒輸入半徑,預設半徑為 1

範例呼叫:circle_area(10) -> 314.0

範例呼叫:circle_area() -> 3.14

5min

為什麼選Python?

優勢:

1. 具有類似英文的基本語法

 

 

2. 可以使用更少的程式碼來編寫 Python 程式

 

 

3. 可以輕鬆地將 Python 與其他常用的程式設計語言搭配使用

python -> and or

c++ -> && ||

python 輸入 : 變數 = input() 輸出: print()

c++ 輸入: 先設變數 -> cin>>~~ 輸出: cout<<~~

應用:

1. 網路爬蟲與擷取資訊

2. 分析數據、視覺化

3. 機器學習、人工智慧

4. 網站開發

5. 遊戲開發

6. 使用者介面的圖形

7. 商業應用

8. 影音應用

9. 電腦輔助設計

把數據畫成折線圖、圓餅圖......

Tkinter 函式庫,做出按鈕、文字方塊、下拉式選單......

利用程式去自動獲取網頁資訊的技術

PyGame

Django、Flask、Pyramid 、web2py、bottle.py......

強化學習、機器學習、深度學習......

企業資源管理系統

Tkinter 函式庫,做出按鈕、文字方塊、下拉式選單......

影音剪輯軟體PiTiVi

CAD 繪圖FreeCAD

Python 基礎語法

By cksh11431028

Python 基礎語法

在這場由王裕佳帶來的精彩簡報中,您將探索 Python 程式設計的基礎知識。從安裝、語法、變數宣告、輸入處理到算術運算,同時還能透過實用範例激發好奇心並提升您的寫程式技巧!

  • 8