一、Python基本知識
1.Python屬高階語言,所編築的是字節碼
2.一般狀態statement 終止於換行,如需使用多數行編寫,可在行末加上 ,以表延續
但在 parentheses ( ), brackets [ ] and braces { }中,換行則沒有影響
3.其他語言使用{}來圈分code,但Python 則使用 indentation(縮排) 來圈分
4.Python 使用 hash (#) symbol to start writing a comment,multiple lines 則用 """ """
5.可以在同一個Statment中assigning multiple values to multiple variables
a, b, c = 5, 3.2, "Hello"
6.變量
只能由字母、數字、下划線構成,但不能以數字開頭,亦不能與功能關鍵字相同
(ex: and, or, as, assert, break, class, continue, def, del, elif, else, if ,expect, exec, finally, for ,in, while, from, global, import, input, print, is, not ,pass, return, try, with, yeild)
二、literals共有8種
(Numeric(1234) String('1234') Boolean(True/False) List['1','2','3' ] Tuple(1,2,3) Dict{key+valuse} Set{object} Special(none))
三、Datatype共有6種
1.Numbers
They are defined as int
, float
and complex
class in Python
2.List
List is an ordered sequence of items. All the items in a list do not need to be of the same type.
3.Tuple
Tuple is an ordered sequence of items same as list.The only difference is that tuples are immutable. Tuples once created cannot be modified
4.Strings
String is sequence of Unicode characters
5.Set
Set is an unordered collection of unique items. Set is defined by values separated by comma inside braces { }.
6.Dictionary
Dictionary is an unordered collection of key-value pairs.
To convert to dictionary, each element must be a pair
>>> dict([[1,2],[3,4]]) {1: 2, 3: 4} >>> dict([(3,26),(4,44)]) {3: 26, 4: 44}
四、輸入輸出
1.使用print()輸出,內部可加上("文字", function),其中逗號會自動轉為space
a = 5 print('The value of a is', a) # Output: The value of a is 5
亦可加上 sep end
print(1,2,3,4) # Output: 1 2 3 4 print(1,2,3,4,sep='*') # Output: 1*2*3*4 print(1,2,3,4,sep='#',end='&') # Output: 1#2#3#4&
可使用str.format()的取代功能(見後續format章節)
2.使用input()輸入
3.使用 import keyword 帶入整組module,亦可用 from keywords 再import 帶入想要的功能
import math print(math.pi)
>>>from math import pi >>>pi 3.141592653589793
五、Operators
1.Arithmetic operators 計算符
7 + 3 = 10
7 - 3 = 5
7 * 3 = 21
7 / 3 = 2.33333333
7 // 3 = 2 (商)
7 % 3 = 1 (餘)
7 ** 3 = 343 (方)
2.Comparision operators 關係符
< (小於) <= (小於等於) == (等於) >= (大於等於) > (大於) != or <> (不等於)
K = 1 (令K為1) K == 1 (K與1相同 / 比較用)
3.Logical operators 邏輯符
4.Bitwise operators (還不重要)
5.Special operators
5.1.Identity operators ( is / is not)
*[ ] ( ) { } are not identical,結果為False
5.2.Menbership operators ( in / not in)
*{ } 中只能檢測 key,無法檢測value
六、命名
可將Object命名,其中 Function也算object
命名有階層獨立性,範圍上Built-in > Global > Local Namespace,故重複命名時Local可視為在Global裡再切一塊,當返回Global時及恢復成Global的值
a = 10 def outer_function(): a = 20 def inner_function(): a = 30 print('a =', a) inner_function() print('a =', a) outer_function() print('a =', a)
#a = 30
#a = 20
#a = 10
七、條件語句
If elif elif else
判定結果為 True/False (bool值)
支援 [Pass in not in]
有關係符 ( < (小於) <= (小於等於) == (等於) >= (大於等於) > (大於) != or <> (不等於) )
name = "ABC" 其字符串的子序列 "A" "B" "C" "AB" "BC" "ABC" 都可被 in 判定為 True,但字符串內部為有序,故"AC"則為False
八、迭代循環
1.While 循環 (無限循環,可加上終止條件語句)
支援 [ 條件If Pass continue(跳回上層循環) break(直接終止循環) ]
2.For ____ in ____ 循環
https://www.programiz.com/python-programming/if-elif-else