"
'
"""
'''
\
escape|
&
^
>
>=
<
<=
==
!=
in
start:stop[:step]
(Home -> House Password)
(Home -> Xs and Os Referee)

data = [1, 2, 3]
data.append(4) # 加在最後面
print(data)
data.reverse() # 反轉
print(data)
data.append(42) # 加在最後面
print(data)
data.sort() # 排序 (小到大)
print(data)
[1, 2, 3, 4] [4, 3, 2, 1] [4, 3, 2, 1, 42] [1, 2, 3, 4, 42]
data = [1, 2, 3, 3, 2, 1]
data.remove(1) # 去除第一個碰到的 1
print(data)
[2, 3, 3, 2, 1]
data = ['a', 'b', 'c', 'd']
data.pop(0) # 去除第 0 項
print(data)
['b', 'c', 'd']
data = ['a', 'b', 'c', 'd']
print(data.index('c')) # 找到位置
2
data = ['a', 'b', 'c', 'd']
data.insert(1, 'z') # 在 index 1 放入 'z'
print(data)
['a', 'z', 'b', 'c', 'd']
data = [1, 2, 3, 1, 4, 1, 5]
print(data.count(1)) # 計算 1 出現的次數
3
更方便地建立 list
[i*2 for i in (1, 2, 3)] # 依序從 (1, 2, 3) 裡拿資料出來,乘上 2 後放入 list
[2, 4, 6]
result = [i for i in range(20) if i % 2 == 0]
'''
result = []
for i in range(20):
if i % 2 == 0:
result.append(i)
'''
print(result)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
result = [(i, i**2) for i in range(10)]
print(result)
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9, 81)]
result = [i if i % 3 == 0 else 1 for i in range(10)]
'''
result = []
for i in range(10):
if i % 3 == 0:
result.append(i)
else:
result.append(1)
'''
print(result)
[0, 1, 1, 3, 1, 1, 6, 1, 1, 9]
假設現在我們有字串 A 跟 B, 內容分別為 "test" 和 "This is a test."。
A, B = "test", "This is a test."
A in B
True
B.split()
['This', 'is', 'a', 'test.']
B.startswith("This")
True
B.find("test")
10
A * 3
'testtesttest'
A + B
'testThis is a test.'
' | '.join([A, B])
'test | This is a test.'
' ~~~ '.join(['a', 'b', 'c', 'd'])
'a ~~~ b ~~~ c ~~~ d'
import getpass # 使用 Python 內建的 module
password = getpass.getpass() # 輸入密碼
username = getpass.getuser() # 取得使用者名稱
········
from getpass import getpass, getuser # 指定使用 module 內的某些 function
password = getpass()
username = getuser()
········
import getpass as g # 這邊把 "getpass" 這個 module 取名成 "g" (名字是隨便取的,正式專案不要亂命名)
password = g.getpass()
username = g.getuser()
········
我們一般寫的 Python 檔案就直接是 module,可以拿來 import。
另外可以把多個 module 放在同一個資料夾,並且在資料夾內放入 __init__.py
就可以把整個資料夾變成 package 來使用。
.
└── mypackage
├── mymodule1
└── mymodule2
import re
result = re.match('([0-9]{2})-([0-9]{7})', '03-0123456')
print('.group() : {}'.format(result.group()))
print('.group(0) : {}'.format(result.group(0))) # 整個 match 到的字串
print('.group(1) : {}'.format(result.group(1))) # match 到的第一個子 group
print('.group(2) : {}'.format(result.group(2))) # match 到的第二個子 group
print('.group(1, 2) : {}'.format(result.group(1, 2))) # match 到的第一和二個子 group
print('.groups() : {}'.format(result.groups())) # match 到的所有子 group
.group() : 03-0123456 .group(0) : 03-0123456 .group(1) : 03 .group(2) : 0123456 .group(1, 2) : ('03', '0123456') .groups() : ('03', '0123456')
result = re.match('(?P<foo>[0-9]{2})-(?P<bar>[0-9]{7})', '03-0123456')
print(result.groupdict())
{'foo': '03', 'bar': '0123456'}
a = (1, 2, 3)
print(a)
(1, 2, 3)
a, b, c = (1, 2, 3)
print(a, b, c)
1 2 3
a, *b = (1, 2, 3) # 把 tuple unpack,其中一部份 pack 給b
print(a, b)
1 [2, 3]
a, *b, c = (1, 2, 3, 4) # 把 tuple unpack,其中一部份 pack 給b
print(a, b, c)
1 [2, 3] 4
a, *b, c = (1, 2)
print(a, b, c)
1 [] 2
for a, *b in [(1, 2, 3), ('a', 'b', 'c', 'd')]: # 在 for loop 裡使用 unpack
print(a, b)
1 [2, 3] a ['b', 'c', 'd']
def f(a, b, c):
print(a, b, c)
data = (1, 2, 3)
f(*data) # unpack data, 等同於 f(1, 2, 3)
1 2 3
def f(a=1, b=2, c=3, d=4):
print(a, b, c, d)
data = {'b': 42, 'd': 12}
f(**data) # unpack data, 等同於 f(b=42, d=12)
1 42 3 12
data = (1, 2, 3)
print(*data)
print(*data, 4, 5) # 這行在 Python 3.5 開始支援
1 2 3 1 2 3 4 5
a, b, *c = range(5)
print(a, b, c)
*a, b, c = a, b, *c # 這行在 Python 3.5 開始支援
print(a, b, c)
0 1 [2, 3, 4] [0, 1, 2] 3 4
a = [1, 2, 1, 3, 1, 4]
b = {*a} # 這行在 Python 3.5 開始支援,等同於 set(a)
print(b)
{1, 2, 3, 4}
def f(number, *args, **kwargs):
print(number)
print(args)
print(kwargs)
f(42, 'a', 'b', 123, z=5, y=7)
42 ('a', 'b', 123) {'y': 7, 'z': 5}
data = (1, 5, 2, 7, 4)
print(sorted(data)) # 排序
[1, 2, 4, 5, 7]
data = (True, 1, "asd")
print(all(data)) # data 裡的資料是否都為真
print(any(data)) # data 裡的資料是否有一為真
True True
data = (False, 0, "")
print(all(data)) # data 裡的資料是否都為真
print(any(data)) # data 裡的資料是否有一為真
False False
data = (True, 0, "")
print(all(data)) # data 裡的資料是否都為真
print(any(data)) # data 裡的資料是否有一為真
False True
result = sum([1, 2, 3, 4, 5])
print(result)
15
data = [1, 42, 2, 34, 10]
print(max(data))
print(min(data))
42 1
*
: list**
: dictionary安裝別人寫的程式 ~
$ pip search PACKAGE
$ pip install PACKAGE
example :
$ pip search requests
$ pip install requests