Toán tử
- + - * / các phép tính cơ bản, % tính phần dư, ** lũy thừa
- // dùng cho phép chia nguyên
>>> 7 % 3
1
>>> 5 ** 2
25
>>> 10 // 3
3
Chuỗi
- Chuỗi được xác định bằng dấu ngoặc đơn hoặc kép.
- Dùng ba dấu ngoặc (đơn hoặc kép) cho chuỗi đa dòng, kết hợp dấu gạch chéo ngược để loại bỏ xuống dòng.
- Chuỗi nguyên (raw string) sử dụng tiền tố r.
- Phép + nối chuỗi, * lặp chuỗi.
- Chuỗi hỗ trợ cắt (slice) nhưng không thể thay đổi.
- Chỉ số 0 trỏ đến phần tử đầu, -1 trỏ đến phần tử cuối.
>>> "test" * 2
'testtest'
>>> "py" "thon"
'python'
>>> print(r"Path\to\file")
Path\to\file
>>> print("""\
first
second\
""")
first
second
>>> "python"[2:4]
'to'
>>> "python"[:3]
'pyt'
>>> "python"[-3:]
'on'
Danh sách
- Danh sách là cấu trúc dữ liệu có độ dài không giới hạn, phần tử cùng kiểu.
- Sử dụng dấu ngoặc vuông và dấu phẩy.
- Phép + nối danh sách, cắt (slice) cho phép thay đổi phần tử.
- Chỉ số 0 trỏ đến phần tử đầu, -1 trỏ đến phần tử cuối.
>>> [10,20,30][1:]
[20, 30]
>>> [10,20,30][-2:]
[20, 30]
>>> items = [5,10,15,20]
>>> items[1:3] = [12,18]
>>> items
[5, 12, 18, 20]
>>> items[1:] = []
>>> items
[5]
Tuple
- Tuple là cấu trúc dữ liệu không thay đổi, thứ tự và số lượng phần tử cố định.
- Sử dụng dấu ngoặc tròn và dấu phẩy (ngoặc tròn ngoài có thể bỏ).
- Không thể thay đổi giá trị.
- Có tuple rỗng () và tuple một phần tử (x,).
>>> data = 42, "data"
>>> data[0]
42
>>> data[1]
'data'
>>> nested = data, 99
>>> nested
((42, 'data'), 99)
>>> singleton = 1,
>>> singleton
(1,)
Phương thức giải cấu trúc
>>> x, y = [10, 20]
>>> x, y
(10, 20)
>>> x, y = y, x
>>> x, y
(20, 10)
Bộ
- Bộ là cấu trúc tập hợp không chứa phần tử trùng lặp.
- Sử dụng dấu ngoặc nhọn và dấu phẩy.
- Thao tác: hiệu, hợp, giao, đối xứng.
- Có biểu thức giải bộ (set comprehensions).
>>> fruits = {'apple', 'banana', 'apple', 'orange'}
>>> fruits
{'apple', 'banana', 'orange'}
>>> set1 = set('banana')
>>> set2 = set('apple')
>>> set1 - set2
{'n', 'b'}
>>> set1 | set2
{'a', 'p', 'l', 'e', 'n', 'b', 'o'}
>>> {x for x in 'banana' if x not in 'ae'}
{'b', 'n'}
Từ điển
- Từ điển lưu trữ cặp khóa-giá trị.
- Sử dụng dấu ngoặc nhọn, dấu hai chấm và dấu phẩy.
- Có biểu thức giải từ điển (dictionary comprehensions).
>>> inventory = {'apple': 5, 'banana': 3}
>>> inventory['apple']
5
>>> inventory['orange'] = 7
>>> inventory
{'apple': 5, 'banana': 3, 'orange': 7}
>>> {k: v*2 for k, v in inventory.items()}
{'apple': 10, 'banana': 6, 'orange': 14}
Hàm range
>>> list(range(1, 8, 2))
[1, 3, 5, 7]
>>> list(range(-5, -20, -5))
[-5, -10, -15]
Câu lệnh điều khiển
>>> for num in range(3, 15):
... for divisor in range(2, num):
... if num % divisor == 0:
... print(f"{num} = {divisor} * {num//divisor}")
... break
... else:
... print(f"{num} là số nguyên tố")
...
3 là số nguyên tố
4 = 2 * 2
5 là số nguyên tố
6 = 2 * 3
7 là số nguyên tố
8 = 2 * 4
9 = 3 * 3
10 = 2 * 5
11 là số nguyên tố
12 = 2 * 6
13 là số nguyên tố
14 = 2 * 7
Hàm
- Định nghĩa hàm bằng từ khóa def.
- Tham số đặc biệt: tham số mặc định, *args, **kwargs.
- Tham số thực tế: từ khóa, *args, **kwargs.
- Hàm có thể lồng nhau.
>>> def multiply(factor, multiplier=2):
... return factor * multiplier
...
>>> multiply(5)
10
>>> multiply(5, 3)
15
>>> def process_data(*args, **kwargs):
... print("Arguments:", args)
... print("Keywords:", kwargs)
...
>>> process_data(10, 20, name="test", value=100)
Arguments: (10, 20)
Keywords: {'name': 'test', 'value': 100}
Biểu thức lambda
>>> def make_adder(n):
... return lambda x: x + n
...
>>> adder = make_adder(100)
>>> adder(5)
105
>>> items = [(1, 'uno'), (2, 'dos'), (3, 'tres')]
>>> items.sort(key=lambda item: item[1])
>>> items
[(1, 'uno'), (2, 'dos'), (3, 'tres')]