Professional Documents
Culture Documents
Python
Python
Python
- Các biến kiểu chuỗi str có thể khai báo bằng cặp nháy đơn hoặc nháy kép
VD:
x = "Minh" #tương đương
x = 'Minh'
- Quy tắc đặt tên biến:
+ Biến bắt đầu bằng ký tự hoặc dấu gạch dưới, không bắt đầu bằng số
+ Biến chỉ có thể chữa các ký tự: A...z, 0...9, và _
+ Tên biến phân biệt chữ hoa và chữ thường
VD:
a = 4
A = "Minh" # A và a là hai biến khác nhau
+ Một số kiểu khai báo biến dễ đọc:
myVariableName = "John"
MyVariableName = "John"
my_variable_name = "John"
+ Unpack a Collection: Python cho phép gán các gia trị của một list
hoặc typle vào các biến tương ứng
VD:
myList = [2,4,6]
x, y, z = myList
print(x)
print(y)
print(z)
- Biến toàn cục và cục bộ trong Python: Biến toàn cục được tạo bên ngoài các
hàm và được sử dụng cả bên trong và bên ngoài các hàm; biến cục bộ được tạo và sử
dụng chỉ bên trong hàm
+ Cách định nghĩa một hàm, cách gọi một hàm
+ Tạo một biến toàn cục và sử dụng nó bên trong một hàm
VD:
x = "Minh Chau"
def myfun():
print("Đây là " + x)
myfun()
+ Tạo một biến cục bộ trong một hàm cùng tên với biến toàn cục
VD:
x = "Minh châu"
def myfun():
x = "Minh Ngọc"
print("Đây là " + x) # in ra giá trị biến cục bộ
myfun()
print("Đây là " + x) # in ra giá trị biến toàn cục
+ Tạo một biến toàn cục bên trong một hàm bằng cách sử dụng từ khóa
global
VD:
def myfun():
global x = "Minh Châu"
print("Đây là " + x)
myfun()
print("Đây là " + x)
+ Thay đổi giá trị của một biến toàn cục bên trong một hàm bằng cách sử
dụng từ khóa global để tham chiếu đến biến
VD:
x = "Minh Châu"
def myfun():
global x
x = "Minh Châu B"
print("Đây là " + x)
myfun()
print("Đây là " + x)
print(a)
print(type(a))
print(b)
print(type(b))
print(c)
print(type(c))
- Số ngẫu nhiên trong Python: Python xây dựng một module để tạo số ngẫu nhiên
được gọi là random
+ Import module và tạo số ngẫu nhiên
VD:
import random
print(random.randrange(1,10)) #Tạo và in ra số ngẫu nhiên từ 1
đến 10 (không bao gồm số 10)
12. Tìm hiểu sâu hơn về Casting trong Python: Python sử dụng các class để định
nghĩa các kiểu dữ liệu; để casting kiểu dữ liệu tới một biến ta dùng hàm dựng
(constructor)
- int(): tạo một số nguyên từ một số nguyên, từ một số thập phân (lược bỏ
phần thập phân), hoặc từ một chuỗi biểu diễn một số nguyên
VD:
x = int(1) # x nhận giá trị = 1
y = int(3.5) # y nhận giá trị = 3
z = int("123") # z nhận giá trị = 123
- float(): tạo một số thập phân từ một số nguyên, một số thập phân, hoặc từ
một một chuỗi biểu diễn một số thập phân hoặc số nguyên
VD:
x = float(5) # x nhận giá trị = 5.0
y = float(3.5) # y nhận giá trị = 3.5
z = float("6.789") # z nhận giá trị = 6.789
w = float("6") # w nhận giá trị = 6.0
- str(): tạo một chuỗi từ nhiều kiểu dữ liệu khác nhau, như các chuỗi, các số
nguyên, các số thập phân
VD:
x = str(123) # x = "123"
y = str(45.678) # y = "45.678"
z = str("str789") # z = "str789"
- Trong Python, chuỗi được coi là một mảng của các ký tự unicode (Python
không có kiểu dữ liệu ký tự, một ký tự đơn được coi là mảng độ dài 1);
sử dụng cặp dấu ngoặc [] để truy cập đến các phần tử của chuỗi
VD:
a = "Xin chào bạn"
print(a[1]) # a[1] = "i"
- Các duyệt quan các phần tử của một chuỗi bằng hàm for
VD:
x = "obama"
for y in x: print(y)
- Dùng hàm len() để lấy độ dài chuỗi
VD:
x = "obama"
print(len(x))
- Dùng từ khóa in hoặc not in để kiểm tra một ký tự, một chuỗi có thuộc chuỗi
đã cho hay không. Kết quả trả về là true hoặc false
VD:
txt = "obama là cựu tổng thống mỹ"
print("obama" in txt) # kết quả trả về là true
print("minh châu" in txt) # kết quả là false
14. Kiểu dữ liệu Booleans: biểu diễn cho 2 trạng thái đúng (True) và sai (False).
- Khi ta so sánh 2 giá trị, biểu thức sẽ được tính toán và Python sẽ trả về 2
câu trả lời lad True hoặc False
VD:
print(10>9) # sẽ trả về True
print(10 == 9) # sẽ trả về False
- Ước lượng các giá trị và các biến bằng hàm bool(). Hàm bool() sẽ trả về giá
trị True hoặc False
VD:
print(bool(100)) # Trả về True
print(bool("Chào bạn")) # Trả về True
print(bool(0)) # Trả về False
Chú ý: Hầu hết các giá trị sẽ được ước định là True, một vài giá trị là False
+ Một chuỗi là True, các chuỗi rỗng là False
+ Số bất kỳ là True, số 0 là False
+ Các list, tuple, set, dictionary là True, nếu rỗng là False
VD:
True: bool("abc"), bool(123) bool(["apple", "cherry", "banana"])
False: bool(False), bool(None), bool(0), bool(""), bool(()),
bool([]), bool({})
- Các toán tử gán: =, +=, -=, *=, /=, **=, %=, >>=, <<=...
VD:
x = 6
x += 3 # x= x + 3
print(x) # Kết quả 9
- Các toán tử so sánh: ==, !=, >, >=, <, <=
VD:
x = 10
y = 10
print(x == y) #Trả về True
- Các toán tử logic: and, or, not
VD:
x = 5
print( x < 10 and x > 3)
- Các toán tử định danh để so sánh các đối tượng
+ is: Trả về True nếu 2 biến là cùng một tượng
+ is not: Trả về True nếu 2 biến không là cùng đối tượng
VD:
a = ["Minh Châu", "Minh Ngọc"]
b = ["Minh Châu", "Minh ngọc"]
c = a
print( c is a) #Trả về True vì c và a cùng một đối tượng
print( c is b) #Trả về False vì c và b là 2 đối tượng khác nhau, dù
giống nhau về mặt giá trị
- Các toán tử thành viên in và not in: dùng kiểm tra xem một "sequence" có
thuộc một "object" không
VD:
a = ["Minh Châu", "Minh Ngọc"]
print("Minh Châu" in a)
print ("Minh Ngọc" not in a)
- Các toán tử với bit, dùng thao tác với các số nhị phân: &, |, ^, ~, <<, >>
- Truy xuất tới các items bằng các chỉ số (chỉ số âm là tính từ cuối danh
sách, bắt đầu bằng -1)
VD:
myList = list(("abc", 123, 55.66, "def", "minh chau"))
print(myList[0])
print(myList[-1])
Trong đó: + condition là điều kiện cần thỏa mãn (tùy chọn có hoặc
không)
+ iterable là đối tượng cho phép ta duyệt qua từng phần
tử của nó, như list, set, tuple...
+ expression là item hiện tại (đang duyệt) trong
iterable, hoặc nó cũng có thể là kết quả mà bạn thao tác với item, hoặc có thể là
một điều kiện
VD1:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
VD2:
newlist = [x for x in range(10)]
print(newlist)
VD3:
fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
list2.extend(list1) #Mở rộng list2 bằng các giá trị trong list1
print(list2)
- Các phương thức của danh sách: append(), clear(), copy(), count(),
extend(), index(), insert(), pop(), remove(), reverse(), sort()
17. Kiểu dữ liệu tuple trong Python: giống với list, chỉ khác là các thứ tự và các
giá trị của các item trong nó là không thể thay đổi
- Khai báo một tuple
VD:
mytuple1 = ("abc", 123, "mn", 5.55) #Khai báo tuple
mytuple2 = tuple(("abc", 333, True, "mp3")) #Khai báo tuple bằng phương
thức tuple()
mytuple3 = ("abc",) #Khai báo tuple 1 phần tử
cần có đấu , nếu không sẽ thành kiểu str
print(mytuple1)
print(len(mytuple2))
print(type(mytuple3))
- Truy xuất các items trong tuple
VD:
mytuple = ("abc", 123, 5.55, "Minh chau")
print(mytuple[1])
print(mytuple[-1])
print(mytuple[1:3])
18. Kiểu dữ liệu tập hợp set: là một tập các items không có thứ tự, không thay đổi
giá trị item (có thể thêm mới hoặc loại bỏ item), không được đánh chỉ mục, các giá
trị không trùng lặp
- Khai báo một tập hợp
VD1:
myset = {1, 3, 5, 7, 9}
print(myset) #Các số trong tập hợp sẽ hiển thị ngẫu nhiên (vì
không có thứ tự)
VD2:
myset = set((123, 567, 324, "Abc", True))
print(myste)
- Truy xuất các mục trong tập hợp
VD:
myset = set((123, 567, 324, "Abc", True))
for x in myset:
print(x)
- Thêm mới vào tập hợp
+ Thêm một mục vào set dùng phương thức add
VD:
myset = {1,3,5,7}
myset.add(9)
print(myset)
+ Gộp các items trong 2 tập hợp, dùng phương thức update(). Có thể áp
dụng với list, tuple, dictionaries
VD:
myset1 = {1,3,5,7,9}
myset2 = {2,4,6,8}
myset1.update(myset2)
print(myset1)
mylist = [22,33,44]
myset1.update(mylist)
print(myset1)
- Phương thức intersection_uodate(): Chỉ giữ lại những giá trị trùng lặp
trong 2 tập hợp
VD:
x = {1,3,5,7,9}
y = {2,3,5,6,8}
x.intersection_update(y)
print(x)
- Phương thức intersection(): Tạo ra set mới chỉ chứa các items giống nhau ở
2 set
VD:
x = {1,3,5,7,9}
y = {2,3,5,6,8}
z = x.intersection(y)
print(z)
- Phương thức symmetric_difference_update() giữ lại tất cả, trừ các giá trị
lặp ở 2 set
VD:
x = {1,3,5,7,9}
y = {2,3,5,6,8}
x.symmetric_difference_update(y)
print(x)
- Phương thức symmetric_difference(), tạo ra tập mới chứa tất cả các phần tử,
trừ các phần tử lặp ở 2 tập
VD:
x = {1,3,5,7,9}
y = {2,3,5,6,8}
z = x.symmetric_difference(y)
print(z)
- Các phương thức của tập hợp: add(), clear(), copy(), differencr()....
19. Kiểu dữ liệu từ điển Dictionaries: được sử dụng để lưu các giá trị theo khóa
(cặp giá trị); là tập hợp có thứ tự, có thay đổi, không trùng lặp
- Khai báo một dictionary:
VD:
mydict = {
"hãng sx" : "Dell",
"model" : "Latitude 5470",
"năm sx" : 2020,
"colors": ["red", "white", "blue"]
}
print(mydict)
print(len(mydict))
print(type(mydict))
- Truy xuất các items trong dictionary
+ Truy xuất đến item bằng tên khóa tưng ứng
VD:
mydict = {
"hãng sx" : "Dell",
"model" : "Latitude 5470",
"năm sx" : 2020,
"colors": ["red", "white", "blue"]
}
print(mydict["model"])
for x in mydict.keys()
print(x)
for y in mydict.values():
print(y)
myfamily = {
"child1" : child1,
"child2" : child2,
"child3" : child3
}
- Các phương thức của dictionary: clear(), copy(), fromkeys(), get(), pop(),
items(), keys()...
21. Vòng lặp While: sẽ thi hành các câu lệnh miễn là điều kiện được kiểm tra là
True
VD:
x = 1
while x < 10:
print(x)
x +=1
- Câu lệnh break trong while
VD:
x = 1
while i < 10:
print(x)
if i == 5: break #khi i nhận giá trị 5 thì câu lệnh break được
thực thi, sẽ thoát hoàn toàn khỏi vòng lặp
i +=1
- Câu lệnh continue trong while
VD:
x = 0
while i < 10:
i += 1
if i == 5: continue #khi i nhận giá trị 5 thì câu lệnh continue
được thực thi, câu lệnh phía sau bị bỏ qua, tiếp tục vòng lặp mới
print(x)
- Câu lệnh while .. else : chỉ thực thi 1 lần khi điều kiện ở vòng lặp while
là false
x = 1
while x < 10:
print(x)
x += 1
else:
print("x không nhỏ hơn 10")
23: Hàm trong Python: Hàm là một khối lệnh chỉ được thực thi khi được gọi; có thể
truyền các tham số vào hàm; hàm có thể trả về một dữ liệu kết quả
- Cách khai báo một hàm sử dụng từ khóa def, cách gọi hàm
VD:
def myfunction():
print("Cách tạo một hàm trong Python")
myfunction() #Gọi thực thi hàm