Professional Documents
Culture Documents
Ở bài trước mình đã giới thiệu qua với mọi người về ngôn ngữ python rồi,
và ở đây mình nhắc lại một lần nữa là series này mình sẽ nói về python
3. Bài này chúng ta sẽ cùng nhau đi vào tìm hiểu về cách khai báo biến và
các kiểu dữ liệu trong Python.
Mục Lục
5, Lời kết.
python
copy
tenBien = giaTri
Trong đó:
tenBien là tên của biến mà các bạn muốn đặt. Tên biến này không được bắt đầu
bằng số hay các ký tự đặc biệt, mà chỉ được bắt đầu bằng chữ cái hoặc ký
python
copy
Ngoài ra, các bạn cũng có thể khai báo nhiều biến bằng 1 giá trị trên 1 lần
khai báo.
VD:
python
copy
a = b = c = 1996
Hay là khai báo nhiều biến với các giá trị tương ứng của nó trên 1 dòng.
VD:
python
copy
copy
#string
age = 22
#integer
point = 8.9
#float
option = [1,2,3,4,5]
#lists
#Tuple
#Dictionary
Từng bài sau mình sẽ đi vào chi tiết các kiểu dữ liệu này nên các bạn cũng
không cần phải quá lo lắng vì chưa biết về nó nhé.
python
copy
type(data)
VD:
python
copy
type(name)
#string
age = 22
type(age)
#int
point = 8.9
type(point)
#float
option = [1,2,3,4,5]
type(option)
#list
type(tuplet)
#Tuple
type(dictionary)
# dict
int(data,base) chuyển đổi sang kiểu số, trong đó base là kiểu hệ số mà các bạn
...
VD:
python
copy
age = 22;
# ép sang float
floatAge = float(age)
print(type(floatAge))
intAge = int(age)
print(type(intAge))
strAge = str(age)
print(type(strAge))
Trong các ngôn ngữ lậ p trình thì nó luôn luôn tồ n tạ i mộ t hoặ c nhiều hàm
đượ c cùng để hiển thị dữ liệu ra khi chương trình chạ y. VD như trong C thì
có printf, trong C++ thì có cout,... Và đố i vớ i python thì nó là print.
Mục Lục
3, Lời kết.
python
copy
print(content)
python
copy
#file lesson1.py
print("Toidicode.com")
Sau khi chạ y file thì các bạ n sẽ thấ y ngay.
python
copy
VD:
python
copy
Toidicode.com
Khi chạ y đoạ n code trên thì chúng ta sẽ thu đượ c kết quả :
text
copy
Toidicode.com
python
copy
Trong đó là charset là ký tự mà chúng ta muố n thự c hiện khi kết thúc hàm
print.
python
copy
text
copy
Mục Lục
2, Fomat chuỗi.
4, Lời kết.
python
copy
#Website "Toidicode.com"
python
copy
#Website 'Toidicode.com'
Các ký tự đặ c biệt khác:
Ngoài ra bạn cũng có thể sử dụng để in ra các ký tự đặc biệt khác bằng việc sử
VD:
python
copy
print("Website \t Toidicode.com")
#Website Toidicode.com
2, Fomat chuỗi.
Ngoài nhữ ng cách in ra dữ liệu ở trên thì mọ i ngườ i cũ ng có thể sử dụ ng
các keyword định dạ ng cho kiểu giá trị và binding nó vào chuỗ i. Sử dụ ng
vớ i cú pháp:
python
copy
print("%type" %(binding))
Trong đó:
type là các kiểu dữ liệu các bạn muốn binding và thay thế vào vị trí đó.
binding là giá trị mà các bạn muốn binding vào vị trí được xác định trong chuỗi.
Cú pháp fomat Mô tả
%c character
%s chuỗi
%i số nguyên
%d số nguyên
%u số nguyên
%o bát phân
%f số thực
python
copy
guy = "Ban"
print(full)
VD:
python
copy
guy = "Ban"
doamin = "toidicode.com"
print(full)
python
copy
stringName[index]
Trong đó:
VD:
python
copy
print(name[0]) # V
print(name[-1]) # i
copy
stringName[start:end]
Trong đó:
end là vị trí kết thúc (nó sẽ lấy trong khoảng từ start đến < end), nếu để
VD:
python
copy
print(name[0:2]) # Vu
print(name[-3:12]) # Tai
print(name[9:]) # Tai
print(name[-3:]) # Tai
Bài 5: Số trong Python
By VŨ THANH TÀI
20-09-2017 5 phút đọc
Font size
Ở bài trướ c chúng ta đã đượ c tìm hiểu về kiểu dữ liệu chuỗ i - String trong
Python rồ i và chuỗ i trong Python đượ c hỗ trợ rấ t mạ nh, không biết đố i vớ i
kiểu dữ liệu số - number trong Python có đượ c hỗ trợ mạ nh như chuỗ i
không nhé.
Mục Lục
2, Ép kiểu số.
4, Lời kết.
int kiểu số nguyên kiểu này có kích thước không giới hạn (python 2 thì bị hạn
chế).
float kiểu số thực. Kiểu này ngoài kiể viết bình thường ra thì nó cũng có thể
Nếu như bạ n muố n giả i phóng mộ t vùng nhớ cho mộ t biến trong Python thì
bạ n có thể sử dụ ng lệnh del vớ i cú pháp sau:
python
copy
del avariableName
VD:
python
copy
age = 22
print(age) # 22
del age
print(age)
2, Ép kiểu số.
Ở phầ n khai báo biến trong Python mình cũ ng đã trình bày về phầ n này rồ i,
nên bạ n nào cầ n thì có thể quay lạ i đọ c tạ i đây.
+ a + b // 15 Phép cộng.
- a - b // -5 Phép trừ.
* a * b // 50 Phép nhân.
Font size
Mục Lục
o Update
o Delete
4, Lời kết.
python
copy
[value1, value2,..., valueN]
python
copy
name = ['VU Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
python
copy
name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
# hoặc
python
copy
list[start:end]
Trong đó:
start là ví trí bắt đầu lấy ra list con. Nếu để trống thì nó sẽ lấy từ đầy list.
end là vị trí kết thúc. Nếu để trống thì nó sẽ lấy đến phần tử cuối cùng của
list.
python
copy
name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name[0:2])
# hoặc
print(name[-3:-1])
Để sử a giá trị củ a các phầ n tử trong list thì các bạ n chỉ cầ n truy cậ p đến
phầ n tử mà mình cầ n sử a đổ i và tiến hành gán giá trị mớ i cho nó.
python
copy
name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name)
name[1] = 1996
print(name)
Delete
python
copy
name = ['Vu Thanh Tai', 'Nguyen Van A', 'Nguyen Thi E']
print(name)
del name[2]
print(name)
VD:
python
copy
option = [12,5,1996]
print(myList)
Đố i vớ i list lồ ng nhau như này thì chúng ta chũ ng truy xuấ t đến các
phầ n tử như bình thườ ng, theo cấ p từ ngoài vào trong.
copy
option = [12,5,1996]
print(myList)
subList[0] # 12
myList[1][0] # 12
Font size
Bài này chúng ta sẽ tiếp tụ c tìm hiểu về kiểu dữ liệu thứ 4 trong ngôn
ngữ lập trình Python, đó là kiểu Tuple.
Mục Lục
o Xóa Tuple.
o Thêm mới phần tử.
4, Tuple lồng.
5, Lời kết.
python
copy
(val1, val2,.., valn)
VD: Mình sẽ khai báo 1 Tuple chứ a các ngày trong tuầ n.
python
copy
day = ('monday', 'tuesday', 'wednesday' , 'thursday', 'friday', 'saturday' ,
'sunday')
Nếu bạ n khai báo 1 biến chứ a các giá trị mà không đượ c bao quang bở i
dấ u () thì Python cũ ng nhậ n định nó là mộ t tuple (nhưng mình khuyên
mọ i ngườ i lên sử dụ ng cách đầ u tiên cho code đượ c tườ ng minh).
VD:
python
copy
day = 'monday', 'tuesday', 'wednesday' , 'thursday', 'friday', 'saturday' , 'sunday'
Và nếu như bạ n muố n khai báo 1 tuple trố ng thì bạ n chỉ cầ n khai báo
như sau:
python
copy
a = ();
Còn nếu như tuple củ a bạ n chỉ chứ a duy nhấ t mộ t giá trị thì bắ t buộ c
bạ n phả i thêm mộ t dấ u , nữ a đằ ng sau giá trị đó.
VD:
python
copy
a = (10,)
Các phần tử trong Tuple được đánh dấu từ 0 theo chiều từ trái qua phải.
VD: Mình sẽ truy cậ p đến các phầ n tử trong tuple day ở trong VD trên.
python
copy
day = ('monday', 'tuesday', 'wednesday' , 'thursday', 'friday', 'saturday' ,
'sunday')
day[0] # monday
day[-2] # saturday
python
copy
tupleName[start:end]
Trong đó:
VD:
python
copy
day = ('monday', 'tuesday', 'wednesday' , 'thursday', 'friday', 'saturday' ,
'sunday')
Như mình đã nói ở trên thì khi mộ t tuple đã đượ c khai báo giá trị thì
chúng ta không thể sử a đổ i hay xóa các giá trị đó đượ c mà chúng ta chỉ
có thể xóa cả tuple đi đượ c thôi.
python
copy
day = ('monday', 'tuesday', 'wednesday' , 'thursday', 'friday', 'saturday' ,
'sunday')
del day
Thêm mớ i phầ n tử .
Thự c ra đây chỉ là cách lách luậ t thôi, chứ mộ t tuple đã đượ c khai báo
thì chúng ta chỉ đượ c gọ i và không đượ c sử a đổ i hay thêm mớ i bấ t cứ
mộ t cái gì cả . Nhưng chúng ta có thể tạ o ra đượ c mộ t tuple mớ i từ các
tuple đã có bằ ng biểu thứ c + hai tuple.
copy
day1 = ('monday', 'tuesday', 'wednesday')
print(day)
4, Tuple lồng.
Cũ ng giố ng như list, bạ n cũ ng có thể khai báo các tuple lồ ng nhau.
VD:
python
copy
day1 = ('monday', 'tuesday', 'wednesday')
print(day2)
1, Dictionary là gì?
6, Lời kết.
1, Dictionary là gì?
Kiểu dữ liệu dictionary trong Python là mộ t kiểu dữ liệu lưu trữ các giá
trị chứ a key và value , nhìn mộ t cách tổ ng quát thì nó giố ng vớ i Json.
Và đố i vớ i kiểu dữ liệu này thì các giá trị bên trong nó không đượ c sắ p
xếp theo mộ t trậ t tự nào cả .
Để khai báo mộ t dictionary chúng ta sử dụ ng cặ p dấ u {} theo cú pháp sau:
python
copy
{key1: value1, key2: value2,..., keyN: valueN}
Trong đó, key1: value1, key2: value2,..., keyN: valueN là các key và
giá trị củ a kiểu dữ liệu dictionary. Và tên củ a key thì các bạ n phả i tuân
thủ theo mộ t số quy tắ c sau:
Các phần tử đều phải có key.
Key phải là duy nhất, nếu không nó sẽ nhận giá trị của phần tử có key
Key khi đã được khai báo thì không thể đổi được tên.
copy
dicName[key]
Trong đó:
dicName là tên của của dictionary.
person['status'] # signle
VD:
python
copy
person = {
'name': 'Vũ Thanh Tài',
'age': 22,
'male': True,
'status': 'alone'
}
del person['status']
print(person)
#{'name': 'Vu Thanh Tài', 'age': 22, 'male': True}
Và nếu như bạ n muố n xóa tấ t cả các phầ n tử bên trong dictionary thì
bạ n sử dụ ng phương thứ c clear theo cú pháp:
python
copy
dictName.clear();
VD:
python
copy
person = {
'name': 'Vũ Thanh Tài',
'age': 22,
'male': True,
'status': 'alone'
}
person.clear()
print(person)
#{}
Và nếu như bạ n muố n xóa hẳ n dictionary thì bạ n dùng hàm del để xóa.
VD:
python
copy
person = {
'name': 'Vũ Thanh Tài',
'age': 22,
'male': True,
'status': 'alone'
}
del person
print(person)
#error: name 'person' is not defined
print(person['option']['age'])
# 22
Bài này chúng ta sẽ cùng nhau đi vào tìm hiểu về các toán tử này.
Mục Lục
4, Toán tử logic.
5, Toán tử biwter.
8, Lời kết.
Toán tử Mô Tả Ví Dụ
(trong các ví dụ dướ i đây thì ta coi a có giá trị là 5 và b có giá trị là 7).
Toán
Chú Thích Ví Dụ
tử
So sánh giá trị của các đối số xem có khác nhau hay không.
a != b
!= Nếu khác nhau thì kết quả trả về sẽ là True và ngược lại sẽ
//True
là False.
Dấu < đại diện cho phép toán nhỏ hơn, nếu đối số 1 nhỏ hơn a<b
<
đối số 2 thì kết quả sẽ trả về là True và ngược lại sẽ là False. //True
Dấu > đại diện cho phép toán lớn hơn, nếu đối số 1 lớn hơn a>b
>
đối số 2 thì kết quả sẽ trả về là True và ngược lại sẽ là False. //False
Dấu > đại diện cho phép toán nhỏ hơn hoặc bằng, nếu đối số
a <= b
<= 1 nhỏ hơn hoặc bằng đối số 2 thì kết quả sẽ trả về là True và
//True
ngược lại sẽ là False.
Dấu > đại diện cho phép toán lớn hơn hoặc bằng, nếu đối số 1
a>= b
>= lớn hơn hoặc bằng đối số 2 thì kết quả sẽ trả về là True và
//False
ngược lại sẽ là False.
3, Toán tử gán.
Toán tử gán là toán tử dùng đế gán giá trị củ a mộ t đố i tượ ng cho mộ t
đố i tượ ng khác. Và trong Python thì nó cũ ng đượ c thể hiện giố ng như
các ngôn ngữ khác. Và dướ i đây là 8 toán tử nằ m trong dạ ng này mà
Python hỗ trợ .
Toán
Chú Thích Ví Dụ
Tử
Toán tử này lũy thừa rồi gắn giá trị cho c **= a (tương đương với c = c **
**=
đối tượng a)
4, Toán tử logic.
Toán tử logic trong Python hoàn toàn giố ng như các ngôn ngữ khác. Nó
gồ m có 3 kiểu cơ bả n như sau:
Toán
Chú Thích
Tử
Nếu 2 vế của toán tử này đều là True thì kết quả sẽ là True và ngược lại nếu 1
and
trong 2 vế là False thì kết quả trả về sẽ là False.
Nếu 1 trong 2 vế là True thì kết quả trả về sẽ là True và ngược lại nếu cả 2 vế
or
là False thì kết quả trả về sẽ là False.
Đây là dạng phủ định, nếu biểu thức là True thì nó sẽ trả về là False và ngược
not
lại.
5, Toán tử biwter.
Toán tử này thự c hiện trên các bit củ a các giá trị. Hãy tưở ng tượ ng
mình có 2 biến a = 12 và b = 15 nhưng nếu chúng ta convert chúng sang
hệ nhị phân thì 2 biến này sẽ có giá trị như sau: a = 00001100 và b =
00001111. Về phầ n này thì rấ t ít khi sử dụ ng và cũ ng khó translate sang
tiếng việt nên mình xin đượ c phép viết toán hạ ng và ví dụ thôi.
Toán Tử Ví Dụ
| (a | b) = 14 (00001111)
^ (a ^ b) = 2 (00000010)
>> a>>a = 0
Giả sử : a = 4, b = [1,5,7,6,9]
a in
Nếu 1 đối số thuộc một tập đối số nó sẽ trả về True
in b
và ngược lại/
//False
a not
Nếu 1 đối số không thuộc một tập đối số nó sẽ trả về in
not in
True và ngược lại/ b
//True
Giả sử : a = 4, b =5
Font size
Cấ u trúc rẽ nhánh là mộ t phầ n không thể thiếu đượ c trong các ngôn
ngữ lậ p trình, và đương nhiên là vớ i Python cũ ng không ngoạ i lệ, bài
này chúng ta hay cũ ng nhau tìm hiểu về cấ u trúc rẽ nhánh trong Python
nhé!
Mục Lục
1, Luồng xử lý.
3, Lời kết.
1, Luồng xử lý.
Nếu như trong thự c tế, chúng ta thườ ng có các trườ ng hợ p để xử lý
vấ n đề thì trong ngôn ngữ lậ p trình nó cũ ng như thế khái niệm này
trong lậ p trình gọ i là rẽ nhánh.
Nói mộ t cách dễ hiểu hơn thì "nếu điều kiện này đúng thì thực hiện
khối lệnh A, nếu sai thì thực hiện khối lệnh B". Ở đây các điều kiện trả
về giá trị khác 0 hoặc bằng True thì coi là đúng và trả về 0, None hoặc
False thì coi là sai.
python
copy
if condition:
#code
else:
#code
VD: Mình sẽ viết 1 chương trình kiểm tra xem giá trị củ a biến a bằ ng
100 thì in ra là đúng và nếu không bằ ng thì in ra là sai.
python
copy
a = 100
if (a == 100):
print('Dung')
else:
print('Sai')
python
copy
a = 100
if (a == 100):
print('Dung')
VD: Viết chương trình kiểm tra xem điểm có hợ p lệ hay không, nếu
hợ p lệ thì in ra là vớ i điểm đó thì qua môn hay họ c lạ i
python
copy
a = 7
if (a >= 4):
print('Qua mon')
else:
print('Hoc lai')
else:
print('Diem khong hop le')
python
copy
if condition:
# code
elif condition2:
# code
elif condition3:
# code
else:
#code
VD: Mình sẽ giả i quyết lạ i bài toán tính điểm ở trên bằ ng mệnh đề if-
elif-else.
python
copy
a = 9
print('Qua mon')
print('Hoc lai')
else:
3, Lời kết.
Trong Python không hỗ trợ cú pháp swtich-case mà thay vào đó bạ n có
thể sử dụ ng kiểu dữ liệu dictionary để giả i quyết.
python
copy
a = 'hai'
dic = {
'mot': 1,
'hai': 2,
'ba': 3,
print(dic.get(a,'khong ro'))
# Ket Qua: 2
Font size
Phầ n trướ c, chúng ta đã đượ c tìm hiểu về câu lệnh rẽ nhánh trong
python rồ i và các bạ n cũ ng thấ y nó khá đơn giả n đúng không? Phầ n
này chúng ta cũ ng sẽ tìm hiểu về mộ t thứ không thể thiếu trong các
ngôn ngữ lậ p trình đó là vòng lặp.
Mục Lục
5, Lời kết.
while
python
copy
for variable in data:
# code
Trong đó:
variable là các biến tạm dùng để chứa dữ liệu sau mỗi lần lặp.
python
copy
name = "thanhtaivtt"
for i in name:
print(i)
# ket qua:
# t
# h
# a
# n
# h
# t
# a
# i
# v
# t
# t
python
copy
name = "thanhtaivtt"
for i in range(0,10):
for j in range(i,10):
print ("")
# Ket qua:
# 0 1 2 3 4 5 6 7 8 9
# 1 2 3 4 5 6 7 8 9
# 2 3 4 5 6 7 8 9
# 3 4 5 6 7 8 9
# 4 5 6 7 8 9
# 5 6 7 8 9
# 6 7 8 9
# 7 8 9
# 8 9
# 9
Chú thích: ở đây mình có sử dụ ng hàm range(a,z) để tạ o ra các con số
từ a -> z, ở các phầ n sau mình sẽ nó rõ hơn về hàm này nhé! giờ các
bạ n cứ hiểu nó đơn giả n như kia là đượ c rồ i à
Cú pháp sử dụng:
python
copy
while condition:
# code
python
copy
i = 1;
print(i)
i += 1
Đố i vớ i vòng lặ p while này thì chúng ta cũ ng có thể lồ ng nó lạ i vớ i
nhau đượ c.
python
copy
i = 1
j = 1
j += 1
print("")
i += 1
# ket qua:
# 1 2 3 4 5 6 7 8 9
# 1 2 3 4 5 6 7 8
# 1 2 3 4 5 6 7
# 1 2 3 4 5 6
# 1 2 3 4 5
# 1 2 3 4
# 1 2 3
# 1 2
# 1
break - break giúp chúng ta chấm dứt vòng lặp tại thời điểm nó xuất hiện
và các code cùng cấp phía sau nó sẽ không được thực thi nữa.
continue - giúp chúng ta nhảy qua lần lặp hiện tại và chuyển đến lần lặp
tiếp theo, các code cùng cấp phía sau nó cũng sẽ không được thực hiện.
VD: Lệnh break.
python
copy
i = 1
print(i)
if i == 5 :
break
i += 1
# ket qua:
# 1
# 2
# 3
# 4
# 5
VD: Lệnh continue.
python
copy
for i in "thanhtaivtt":
if i == "n":
continue
# ket qua:
# t h a h t a i v t t
Font size
Mục Lục
1, Hàm là gì?
3, Gọi hàm.
7, Biến Global.
9, Lời kết.
1, Hàm là gì?
Thự c sự thì về khái niệm củ a hàm thì nó cũ ng rấ t khó có thể giả i thích
đượ c, ở đây mình sẽ tóm lạ i bằ ng mộ t khái niệm đơn giả n như sau:
Hàm là một tập các khối code được viết ra nhằm cho việc tái sử dụng
code.
Nếu như bạ n thấ y khó hiểu, thì bạ n hãy tưở ng tượ ng như bạ n có mộ t
đoạ n code tính tổ ng 2 số chẳ ng hạ n, nếu như ở mộ t vị trí khác bạ n cũ ng
cầ n tính tổ ng 2 số thì bạ n lạ i phả i viết lạ i đoạ n code đã từ ng viết rồ i =>
như thế sẽ rấ t tố n thờ i gian. Và Khái niệm hàm sinh ra để giả i quyết
vấ n đề đó. Nó giúp cho chúng ta có thể tái sử dụ ng lạ i nhữ ng đoạ n
code có chứ c nă ng giố ng nhau....
2, Khai báo hàm trong Python.
Để khai báo mộ t hàm trong Python thì chúng ta sử dụ ng
keyword def vớ i cú pháp như sau:
python
copy
def ten_ham(param...):
#code
Trong đó:
ten_ham là tên của hàm mà bạn muốn đặt. Lưu ý: Tên hàm không được bắt
param... là các tham số bạn muốn truyền vào hàm, nếu không có tham số
python
copy
def say():
print("Welcome to toidicode.com")
python
copy
def sum(a, b):
3, Gọi hàm.
Để gọ i mộ t hàm đã đượ c khai báo rồ i, thì chúng ta sử dụ ng cú pháp
sau:
python
copy
ten_ham()
#hoặc
ten_ham(param...)
Trong đó:
python
copy
def say():
print("Welcome to toidicode.com")
say()
python
copy
def sum(a, b):
sum(3, 7)
VD: Mình sẽ khai báo lạ i hàm sum ở VD2 thành hàm có kết quả trả về.
python
copy
def sum(a, b):
return a+ b
Bây giờ khi muố n sử dụ ng kết quả củ a nó thì ta có thể gán nó vào mộ t
biến, hay mộ t đố i tượ ng và sử dụ ng như bình thườ ng.
python
copy
def sum(a, b):
return a+ b
c = sum(4, 5);
python
copy
def sum(a, b):
return a + b
python
copy
def ten_ham(param = defaultValue):
# code
Trong đó:
defaultValue là giá trị mặc định của tham số đó mà bạn muốn gán.
VD: Bây giờ mình sẽ lạ i hàm sum ở trên và gọ i khi không truyền giá trị
và có truyền giá trị.
VD:
python
copy
def say_hello():
a = "Hello"
print(a)
print(a)
python
copy
a = "Hello Guy!"
def say(a):
a = "Toidicode.com"
print(a)
say(a)
# KQ: Toidicode.com
print(a)
VD:
python
copy
a = [5, 10, 15]
def change(a):
a[0] = 1000
print(a)
change(a)
print(a)
7, Biến Global.
Ngoài nhữ ng cách hoạ t độ ng củ a biến mình đã trình bày ở phầ n 6 ra thì
chúng ta còn có 1 cách nữ a để có thể tác độ ng đến các biến bên ngoài
hàm khi đang ở trong hàm. Đó là sử dụ ng global variable - biến toàn cầ u,
khi mộ t biến là global thì chúng ta có thể gọ i và tác độ ng đến nó từ bấ t
kỳ đâu trong chương trình.
python
copy
global tenbien
python
copy
a = "Hello Guy!"
def say():
global a
a = "Toidicode.com"
print(a)
say()
# KQ: Toidicode.com
print(a)
# KQ: Toidicode.com
VD: Mình sẽ khai báo hàm get_sum để tính tổ ng các tham số truyền vào
hàm.
python
copy
def get_sum(*num):
tmp = 0
for i in num:
tmp += i
return tmp
result = get_sum(1, 2, 3, 4, 5)
print(result)
# KQ: 15
Font size
Ở các bài trướ c chúng ta đã đượ c tìm hiểu về các kiểu dữ liệu, toán tử
cũ ng như cách khai báo hàm,... trong Python rồ i, nhưng ở các bài đó
chủ yếu vẫ n là làm việc vớ i hệ thố ng, dữ liệu có sẵ n. Mà chúng ta chưa
biết cách nhậ n dữ liệu mà ngườ i dùng nhậ p vào trên comandline, và bài
hôm nay chúng ta sẽ tìm hiều về nó.
1, Input.
Trong Python có cung cấ p cho chúng ta hàm input để nhậ n dữ liệu từ
ngườ i dùng nhậ p vào trong commandline. Sử dụ ng vớ i cú pháp như
sau:
input(something)
Trong đó, something là nộ i dung mà bạ n muố n hiển thị trướ c khi ngườ i
dùng nhậ p dữ liệu. Và giá trị mà hàm này trả về chính là giá trị mà
ngườ i dùng nhậ p vào.
print("Hello guy!")
Trong đó:
mode là thông số thiết lập chế độ chúng ta mở file được cấp những quyền
rb Chế độ chỉ được phép đọc nhưng cho định dạn nhị phân.
r+ Chế độ này cho phép đọc và ghi file, con trỏ nó sẽ nằm ở đầu file.
rb+ Chế độ này cho phép đọc và ghi file ở dạng nhị phân, con trỏ sẽ nằm ở đầu file.
Chế độ ghi file, nếu như file không tồn tại thì nó sẽ tạo mới file và ghi nội dung, còn nếu như file đã tồn tạ
w
đè nội dung lên file cũ.
Mở file trong chế độ ghi tiếp. Nếu file đã tồn tại rồi thì nó sẽ ghi tiếp nội dung, và nếu như file chưa tồn tạ
a
tạo một file mới và ghi nội dung vào đó.
a+ Mở file trong chế độ đọc và ghi tiếp nội dung, còn lại cơ chế giống chế độ a.
|-- readme.md
|-- index.py
# index.py
open('readme.md')
Lúc này hàm open sẽ trả về mộ t object chứ a các các phươn thứ c để tác
độ ng đến file.
Đóng file.
fileObject.close()
fileObject.read(length);
Trong đó:
length là dung lượng của dữ liệu mà chúng ta muốn đọc, nếu để trống
tham số này thì nó sẽ đọc hết file hoặc nếu file lớn quá thì nó sẽ đọc đến
# mo file
file = open('readme.md')
# doc file
data = file.read();
# dong file
file.close()
print(data)
Ghi file.
Để ghi đượ c file thì bạ n phả i chắ c chắ n là đang mở file ở các chế độ
cho phép ghi. Và sử dụ ng phương thứ c write vớ i cú pháp sau:
fileObject.write(data)
Trong đó:
file = open('readme.md','w')
# ghi file
# dong file
file.close()
Nếu như bạ n cầ n biết thêm các thông số củ a file hiện tạ i thì bạ n có thể
tham khả o thêm các thuộ c tính trong object file mà Python đã cung cấ p
sẵ n cho chúng ta. Các thuộ c tính như sau:
Trong các trườ ng hợ p dướ i đây: giả sử file là kết quả thu đượ c từ
hàm open().
file.closed Trả về true nếu file đã được đóng, và false nếu file chưa đóng.
file = open('readme.md','w')
print( file.name )
# readme
print( file.mode )
# w
print( file.closed )
# False
file.close()
Font size
Nếu như các bạ n đã từ ng tìm hiểu qua mộ t ngôn ngữ lậ p trình nào khác
thì chắ c hẳ n các bạ n cũ ng biết các ngôn ngữ đó nó đều có cơ chế load
file và sử dụ ng lạ i. Ví dụ như PHP chúng ta sử dụ ng include,require,...
Và hôm nay chúng ta hãy cùng tìm hiểu xem trong Python thì cách thứ c
đó gọ i là gì nhé!
Mục Lục
1, Modules là gì?
o Import
o from - import
o Build module
3, Chú ý.
5, Lời kết.
1, Modules là gì?
Modules là cách mà chúng ta phân hóa chương trình ra các nhánh nhỏ
cho dễ quả n lý và gọ i lạ i chúng khi nào cầ n, như thế chương trình củ a
chúng ta sẽ có tính tái sử dụ ng, bả o trì cao.
VD: Như mô hình MVC cũ ng đượ c coi như mộ t cách modules hóa hệ
thố ng.
2, Modules trong Python.
Import
python
copy
import module1, module2,...
Trong đó: module1, module2,... là các modules mà các bạ n muố n import
vào file hiện tạ i.
python
copy
import math
a = 3.2
print(math.ceil(a)) # 4
print(math.floor(a)) # 3
from - import
python
copy
from modules import something, something2,...
Trong đó:
modules là tên của module mà các bạn muốn import.
trong modules. Nếu như bạn muốn import tất cả những gì trong modules
python
copy
from math import ceil
a = 3.2
print(ceil(a))
# kết quả: 4
print(floor(a))
python
copy
from math import *
a = 3.2
print(ceil(a))
# kết quả: 4
print(floor(a))
# Kết quả: 3
Build module
python
copy
# file math.py
return a + b
copy
import mathplus
print(mathplus.get_sum(4,7))
# Kết quả: 11
Chú ý: Tên file chứ a code chúng ta muố n import chính là tên modules.
Nếu như trong trườ ng hợ p modules củ a chúng ta rấ t khó nhớ hay dài
hay vì mộ t lý do nào khác mà bạ n không muố n gọ i module như thế thì
vớ i Python bạ n cũ ng có thể gán định danh mớ i cho modules khi import
chúng bằ ng cách sử dụ ng keyword as. vớ i cú pháp như sau:
python
copy
import modules as newname
Trong đó:
python
copy
import mathplus as ma
print(ma.get_sum(4,7))
# Kết quả: 11
Nếu như các bạ n sử dụ ng cú pháp from ... import thì cũ ng dùng tương
tự .
python
copy
from mathplus import get_sum as sum
print(sum(4,7))
# Kết quả: 11
3, Chú ý.
Đố i vớ i trườ ng hợ p các bạ n sử dụ ng from ... import * thì mặ c định
python nó sẽ không import đượ c các đố i tượ ng có tên đượ c bắ t đầ u
bằ ng ký tự _ . Trong trườ ng hợ p này, nếu như bạ n muố n import đượ c
các đố i tượ ng đó thì bạ n sẽ phả i chỉ đích danh các đố i tượ ng đó.
python
copy
# file mathplus.py
return a + b
Bây giờ ở trong file main mình sẽ import mathplus theo cách dùng ký tự
*.
python
copy
from mathplus import *
print(_get_sum(5,7))
python
copy
from mathplus import _get_sum
print(_get_sum(5,7))
# kết quả: 12
Như các bạ n thấ y đó, nó đã ok.
text
copy
| modules/mathplus.py
| main.py
VD: Mình sẽ báo có python biết là phả i load thêm thư mụ c modules ở
trong project hiện tạ i, và đồ ng thờ i mình sẽ import luôn thư
mụ c mathplus.py.
python
copy
import os, sys
# lấy ra đường dẫn đến thư mục modules ở trong projetc hiện hành
lib_path = os.path.abspath(os.path.join('modules'))
sys.path.append(lib_path)
# import
print(get_sum(1,4));
# kết quả: 5
Mục Lục
1, Package là gì?
3, Import package.
5, Lời kết.
1, Package là gì?
Package trong Python là một thư mục chứa một hoặc nhiều
modules hay các package khác nhau, nó đượ c tạ o ra nhằ m mụ c đích
phân bố các modules có cùng chứ c nă ng hay mộ t cái gì đó, để dễ quả n
lý source code.
VD: ví dụ mộ t package views thì nó sẽ chứ a các modules liên quan đến
views.
2, Build package trong Python.
Để tạ o ra mộ t package trong python thì mọ i ngườ i chỉ cầ n tạ o ra mộ t
thư mụ c, vớ i tên thư mụ c chính là tên củ a package và trong thư mụ c
này nhấ t định phả i có mộ t file có tên __init__.py. File __init__.py này
nó giố ng như các constructor, và nó sẽ đượ c gọ i ra đầ u tiên khi chúng
ta import package đó.
Nói lý thuyết có vẻ rườ m rà, nên để dễ hiểu hơn thì mọ i ngườ i có thể
tham khả o ví dụ sau.
markdown
copy
|demopackage/__init__py
|main.py
python
copy
# __init__.py
python
copy
# main.py
import demopackage
Sau đó các bạ n chạ y file main.py, sẽ thu đượ c kết quả như sau:
python
copy
Duoc in tu file __init__py
Cấ u trúc thư mụ c:
sql
copy
|--demopackage/
| |--modules.py
| └── __init__py
|--main.py
python
copy
# demopackage/modules.py
def say_hello():
print("Hello!")
def say_goodbye():
print("Goodbye!")
python
copy
# main.py
say_hello()
# Hello!
say_goodbye()
# Goodbye!
hoặ c
python
copy
# main.py
import demopackage.modules
demopackage.modules.say_hello()
# Hello!
demopackage.modules.say_goodbye()
# Goodbye!
hoặ c
python
copy
# main.py
modules.say_hello()
# Hello!
modules.say_goodbye()
# Goodbye!
Cấ u trúc thư mụ c:
sql
copy
|--demopackage/
| |--modules.py
| |--packagechild/
| |-- childmodule.py
| └── __init__py
| └── __init__py
|--main.py
file childmodules.py:
python
copy
# packagechild/childmodule.py
def say():
print("childmodule.py: Hello")
file __init__.py:
python
copy
# packagechild/__init__.py
print("childpackage __init__.py")
python
copy
# main.py
# childpackage __init__.py
say()
# childmodule.py: Hello
Font size
Mục Lục
2, Finally.
5, Lời kết.
python
copy
def sum(a, b):
return a / b
python
copy
print(sum(6,2))
#kết quả: 3
python
copy
print(sum(6, 0))
python
copy
File ".\main.py", line 3, in <module>
print(sum(6, 0))
return a / b
Như các bạ n đã thấ y thì chương trình đã báo lỗ i là không thể thự c hiện
phép chia cho 0. Và trong trườ ng hợ p này thì các bạ n có thể hạ n chế lỗ i
bằ ng cách ràng buộ c tham số b sao cho nó khác 0 -> cách này ai cũ ng
biết rồ i.
python
copy
try:
# code
except exceptionName:
# code
Trong đó:
python
copy
def sum(a, b):
return a / b
try :
print(sum(6, 0))
except ZeroDivisionError:
python
copy
try :
# code
# code
python
copy
try :
# code
except ZeroDivisionError:
# code
except RuntimeError:
# code
VD:
python
copy
try :
# code
except ZeroDivisionError:
try :
# code
except StandardError:
# code
except RuntimeError:
# code
2, Finally.
Nếu như trong khố i lệnh try except bạ n muố n sẽ có 1 đoạ n lệnh chắc
chắn sẽ được thực thi cho dù try đúng hay sai, thì bạ n sẽ phả i khai
báo thêm khố i lệnh finally vào cuố i khố i lệnh try except theo cú pháp
sau:
python
copy
try:
# code
except:
# code
finally:
# code
Finally trong Python thườ ng đượ c dùng để clear data mà trong quá
trình try except tạ o ra.
VD:
python
copy
def sum(a, b):
return a / b
try:
print(sum(6, 0))
except ZeroDivisionError:
finally:
# Ket qua:
Exception Đây là lớp cơ sở cho tất cả các exception, nó sẽ xuất hiện khi có bất cứ một lỗi nào xảy ra.
StopIteration Xuất hiện khi phương thức next() của interator không trỏ đến một đối tượng nào.
ArithmeticError Xuất hiện khi có lỗi tính toán giữa các số với nhau
Xuất hiện khi thực hiện tính toán và giá trị của nó vượt quá ngưỡng giới hạn cho phép của
OverflowError
liệu.
AssertionError Xuất hiện trong trường hợp lệnh assert thất bại.
AttributeError Xuất hiện khi không tồn tại thuộc tính này, hoặc thiếu tham số truyền vào nó.
EOFError Xuất hiện khi không có dữ liệu từ hàm input() hoặc cuối file.
IndexError Xuất hiện khi index không tồn tại trong list, string,...
KeyError Xuất hiện khi key không tồn tại trong dictionary.
NameError Xuất hiện khi một biến không tồn tại trong phạm vi bạn gọi nó.
EnvironmentError Xuất hiện khi có bất kỳ một lỗi nào ngoài phạm vị của Python.
IOError Xuất hiện khi xử dụng input/ output thất bại, hoặc mở file không thành công.
SystemError Xuất hiện khi trình biên dịch có vấn đề nhưng mà nó lại không tự động exit.
SystemExit Xuất hiện khi trình biên dịch được thoát bởi sys.exit().
Xuất hiện khi thực thi toán tử hoặc hàm mà kiểu dữ liệu bị sai so với kiểu dữ liệu đã định n
TypeError
đầu.
Xuất hiện khi chúng ta build 1 function mà kiểu dữ liệu đúng nhưng khi chúng ta thiết lập ở
ValueError
là khác so với khi truyền vào.
RuntimeError Xuất hiện khi lỗi được sinh ra không thuộc một danh mục nào.
NotImplementedErro Xuất hiện khi một phương thức trừu tượng cần được thực hiện trong lớp kế thừa chứ khôn
r lớp thực thi
Xuất hiện khi chúng ta cố tình truy cập vào một biến trong hàm hoặc phương thức, nhưng
UnboundLocalError
thiết lập giá trị cho nó.
copy
class ExceptionDemo(Exception):
Sau khi đã tạ o ra đượ c exception cho riêng mình rồ i, thì khi thự c hiện
mà bạ n muố n gọ i ra gọ i exception ra bạ n chỉ cầ n sử dụ ng
keyword raise theo cú pháp sau:
python
copy
raise exceptionName
VD:
python
copy
class ExceptionDemo(Exception):
if (b == 0):
raise ExceptionDemo('b phai khac 0')
return a / b
sum(6, 0)
Font size
1, Capitalize().
2, Center().
3, Count().
4, encode().
5, decode().
6, endswith().
7, expandtabs().
8, find().
9, index().
10, isalnum().
11, isalpha().
12, isdigit().
13, islower().
14, isupper().
15, isnumeric()
16, isspace().
17, istitle().
18, join().
19, len().
20, ljust().
21, rjust().
22, lower().
23, upper().
24, lstrip().
25, rstrip().
26, strip().
27, rfind().
28, rindex().
29, replace().
30, max().
31, min().
32, title().
33, swapcase().
34, zfill().
35, isdecimal().
36, split().
37, splitlines().
38, startswith().
39, maketrans().
40, translate().
1, Capitalize().
Hàm này có tác dụ ng in hoa chữ cái đầ u tiên củ a chuỗ i.
VD:
python
copy
string = "toidicode.com"
print(string.capitalize());
2, Center().
Hàm này có tác dụ ng trả về chuỗ i đượ c hiển thị ở giữ a mộ t chuỗ i.
Cú Pháp:
python
copy
string.center(len, char)
Trong đó:
char là ký tự sẽ hiển thị ở 2 bên chuỗi cũ. Mặc định nó sẽ là khoảng trắng.
VD: Nếu khó hiểu thì mờ i mọ i ngườ i cùng xem qua ví dụ sau:
python
copy
string = "toidicode.com"
print(string.center(20));
print(string.center(20, '*'));
# Kết quả:***toidicode.com****
Cú Pháp:
python
copy
string.count(sub, start, end)
Trong đó:
start là index bắt của chuỗi cần tìm. Mặc định thì strart = 0.
end là index kết thúc của chuỗi cần tìm. Mặc định thì end = len() của
chuỗi.
VD:
python
copy
string = "toidicode.com"
print(string.count('i'));
# Kết quả: 2
print(string.count('i', 3));
# Kết quả: 1
4, encode().
Hàm này có tác dụ ng encode (mã hóa) mộ t chuỗ i.
Cú pháp:
python
copy
string.encode(type, mode)
Trong đó:
mode là chế độ báo lỗi nếu có khi encode. Python hỗ trợ 6 dạng mode như
sau:
strict - Chế độ nghiêm ngặt, nó sẽ hiển thị lỗi
VD:
python
copy
string = "toidicode.com"
print(string.encode());
5, decode().
Hàm này có tác dụ ng decode (gả i mã) chuỗ i trông Python.
Cú Pháp:
python
copy
string.decode(type, mode)
VD:
python
copy
string = b'toidicode.com'
print(string.decode());
6, endswith().
Hàm này có tác dụ ng kiểm tra xem chuỗ i hoặ c khoả ng chuỗ i có đượ c
kết thúc bằ ng ký tự nào đó hay không. Nó sẽ trả về True nếu đúng
và False nếu sai.
Cú pháp:
python
copy
string.endswith(str, start, end)
Trong đó:
str là chuỗi các bạn cần xác thực xem có phải chuỗi kết thúc không.
strart là index bắt đầu chuỗi cần so sánh. Mặc định thì start = 0.
end là index kết thúc chuỗi cần so sánh. Mặc định thì end = len().
VD:
python
copy
string = 'toidicode.com'
print(string.endswith('m'));
print(string.endswith('m', 3, 10));
7, expandtabs().
Hàm này có tác dụ ng tìm kiếm thay thế \t bằ ng các ký tự khoả ng trắ ng.
Cú Pháp:
python
copy
string.expandtabs(len)
Trong đó: len là số lượ ng khoả ng trắ ng mà bạ n muố n thay thế cho mộ t
\t. Mặ c định thì len = 8.
VD:
python
copy
string = 'toidicode.com\thoc lap trinh'
print(string.expandtabs());
8, find().
Hàm này có tác dụ ng tìm kiếm mộ t chuỗ i trong mộ t chuỗ i hoặ c khoả ng
chuỗ i. Nó sẽ trả về là vị trí bắ t đầ u củ a chuỗ i tìm đượ c trong chuỗ i nếu
tìm thấ y và nếu không tìm thấ y nó sẽ trả về -1.
Cú pháp:
sql
copy
string.find(str, start, end)
Trong đó:
str là chuỗi các bạn cần xác thực xem có phải chuỗi kết thúc không.
strart là index bắt đầu chuỗi cần so sánh. Mặc định thì start = 0.
end là index kết thúc chuỗi cần so sánh. Mặc định thì end = len().
VD:
python
copy
string = 'toidicode.com'
print(string.find('di'));
# Kết quả: 3
9, index().
Hàm này tương tự như hàm find() chỉ khác duy nhấ t là nếu như không
tìm thấ y thì hàm này sẽ gọ i exception.
VD:
python
copy
string = 'toidicode.com'
print(string.index('vuthanhtai'));
10, isalnum().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là chứ a duy nhấ t
các ký tự chữ hoặ c chuỗ i hay không? Nó sẽ trả về True nếu chuỗ i chỉ
chứ a các ký tự chữ hoặ c số . Và ngượ c lạ i nó sẽ trả về False nếu chuỗ i
chứ a ký tự khác chuỗ i và số .
VD:
python
copy
string = 'toidicode'
print(string.isalnum());
string = 'toidicode.com'
print(string.isalnum());
11, isalpha().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là chứ a duy nhấ t
các ký tự chữ hay không? Nó sẽ trả về True nếu chuỗ i này chỉ chứ a duy
các ký tự chữ trong bả ng chữ cái, và sẽ trả về False nếu nó chứ a số
hoặ c ký tự đặ c biệt khác.
VD:
python
copy
string = 'toidicode96'
print(string.isalpha());
string = 'toidicodecom'
print(string.isalpha());
# Kết quả: True
12, isdigit().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là chứ a duy nhấ t
các chữ số hay không? Nó sẽ trả về True nếu đúng và False nếu sai.
VD:
python
copy
string = 'toidicode96'
print(string.isdigit());
string = '12051996'
print(string.isdigit());
13, islower().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là in thườ ng hay
không? Nó sẽ trả về True nếu đúng và False nếu sai.
VD:
python
copy
string = 'toidicode.com'
print(string.islower());
string = '12051996'
print(string.islower());
string = '9toidicode.com6'
print(string.islower());
string = '9Toidicode.com6'
print(string.islower());
14, isupper().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là in Hoa hay
không? Nó sẽ trả về True nếu đúng và False nếu sai.
VD:
python
copy
string = 'TOIDICODE.COM'
print(string.isupper());
string = '12051996'
print(string.isupper());
string = '9TOIDICODE.COM6'
print(string.isupper());
string = '9Toidicode.com6'
print(string.isupper());
15, isnumeric()
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i chỉ chứ a duy nhấ t
các ký tự số hay không? Nó sẽ trả về True nếu đúng và False nếu sai.
VD:
python
copy
string = 'TOIDICODE.COM'
print(string.isnumeric());
string = '12051996'
print(string.isnumeric());
string = '9TOIDICODE.COM6'
print(string.isnumeric());
string = '9Toidicode.com6'
print(string.isnumeric());
16, isspace().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i chỉ chứ a duy nhấ t
các ký tự khoả ng trắ ng không? Nó sẽ trả về True nếu đúng và False nếu
sai.
VD:
python
copy
string = ' '
print (string.isspace());
print (string.isspace());
17, istitle().
Hàm này có tác dụ ng kiểm tra xem mộ t chuỗ i có phả i là title hay không,
chuỗ i title là chuỗ i có các chữ cái đầ u đều đượ c in hoa. Nó sẽ trả
về True nếu đúng và ngượ c lạ i False nếu sai.
VD:
python
copy
string = 'vu thanh Tai'
print(string.istitle())
print(string.istitle())
Cú pháp:
python
copy
string.join(squence)
VD:
python
copy
string_one = ' '
string_two = 'TAI'
print(string_one.join(string_two))
# Kết quả: T A I
string_one = '-'
string_two = ['T','D','C',]
print(string_one.join(string_two))
19, len().
Hàm này có tác dụ ng trả về độ dài củ a chuỗ i.
VD:
python
copy
string = "Vu Thanh Tai"
print(len(string))
# Kết quả: 12
20, ljust().
Hàm này có tác dụ ng trả về mộ t chuỗ i vớ i độ dài length đượ c xác định,
nếu chuỗ i đượ c chọ n nhỏ hơn width thì nó sẽ sử dụ ng char để bù chỗ
thiếu đó về phía bên phả i củ a chuỗ i.
python
copy
string.ljust(length, char)
Trong đó:
char là ký tự sẽ bù vào chuỗi mới nếu chuỗi cũ không đủ length. Mặc định
VD:
python
copy
string = "Vu Thanh Tai"
print(string.ljust(17, "-"))
21, rjust().
Tương tự hàm ljust() nhưng chỉ có điều là nó sẽ bù về phía bên trái củ a
chuỗ i.
VD:
python
copy
string = "Vu Thanh Tai"
print(string.rjust(17, "-"))
22, lower().
Hàm này có tác dụ ng chuyển đổ i chuỗ i về dạ ng in thườ ng.
VD:
python
copy
string = "Vu Thanh Tai"
print(string.lower())
23, upper().
Hàm này có tác dụ ng chuyển đổ i chuỗ i sang dạ ng in hoa.
VD:
python
copy
string = "Vu Thanh Tai"
print(string.upper())
24, lstrip().
Hàm này có tác dụ ng loạ i bỏ đi các ký tự char ở phía đầ u củ a chuỗ i.
Cú Pháp:
python
copy
string.lstrip(char)
VD:
python
copy
string = " Vu Thanh Tai"
print(string.lstrip())
print(string.lstrip('-'))
25, rstrip().
Tương tự như lstrip(), chỉ khác là rstrip nó sẽ loạ i bỏ char ở phầ n cuố i
củ a chuỗ i.
VD:
python
copy
string = "Vu Thanh Tai "
print(string.rstrip())
print(string.rstrip('-'))
26, strip().
Hàm này là sự kết hợ p củ a lstrip() và rstrip(). Nó sẽ lạ i bỏ các ký tự
char ở cả hai đầ u củ a chuỗ i.
VD:
python
copy
string = " Vu Thanh Tai "
print(string.strip())
print(string.strip('-'))
27, rfind().
Tương tự như hàm find(), nhưng hàm này nó sẽ trả về index củ a chuỗ i
cuố i cùng tìm đượ c trong chuỗ i. Cú pháp sử dụ ng tương tự hàm find().
VD:
python
copy
string = "Vu Thanh Tai"
print(string.rfind('T'))
# Kết quả: 9
28, rindex().
Tương tự như hàm index(),nhưng hàm này nó sẽ trả về index củ a chuỗ i
cuố i cùng tìm đượ c trong chuỗ i. Cú pháp sử dụ ng tương tự hàm
index().
VD:
csharp
copy
string = "Vu Thanh Tai"
print(string.rindex('T'))
# Kết quả: 9
29, replace().
Hàm này có tác dụ ng tìm kiếm và thay thế chuỗ i tìm đượ c bằ ng chuỗ i
mớ i.
Cú Pháp:
python
copy
string.replace(old,new,max)
Trong đó:
VD:
python
copy
string = "Chao *!"
print(string.replace('*', 'Tai'))
VD:
python
copy
string = "Vu Thanh Tai"
print(max(string))
# Kết quả: u
31, min().
Hàm này trả về chữ cái có độ sắ p xếp đầ u tiên theo bả ng chữ cái
alphabet nằ m trong chuỗ i.
VD:
python
copy
string = "vuthanhtai"
print(min(string))
# Kết quả: a
32, title().
Hàm này có tác dụ ng chuyển đổ i chuỗ i sang kiểu title (xem ở trên).
VD:
python
copy
string = "vu thanh tai"
print(string.title())
33, swapcase().
Hàm này có tác dụ ng chuyển đổ i chuỗ i sang dạ ng nghịch đả o củ a nó
(nghịch đả o ở đây là hoa - thườ ng).
VD:
python
copy
string = "vu thanh tai"
print(string.swapcase())
print(string.swapcase())
VD:
python
copy
string = "vu thanh tai"
print(string.zfill(17))
35, isdecimal().
Hàm này có tác dụ ng gần như hàm isdigit(), nó sẽ trả về True nếu
chuỗ i cầ n kiểm tra chỉ chứ a các số thậ p phân, và ngượ c lạ i....
VD:
python
copy
string = "Vu Thanh Tai 96"
print(string.isdecimal())
print(string.isdecimal())
36, split().
Hàm này có tác dụ ng tác chuỗ i thành mả ng bở i các char.
Cú Pháp:
python
copy
string.split(char, max)
Trong đó:
char là ký tự các bạn tìm và tách chuỗi bởi nó. Mặc định thì char = khoảng
trắng.
VD:
python
copy
string = "Vu Thanh Tai"
print(string.split())
# Kết quả: ['Vu', 'Thanh', 'Tai']
print(string.split('a'))
37, splitlines().
Hàm này sẽ tách chuỗ i bở i các ký tự \n.
Cú pháp:
python
copy
string.splitlines(max)
VD:
python
copy
string = "Vu\nThanh\nTai"
print(string.splitlines())
38, startswith().
Hàm này có tác dụ ng kiểm tra xem chuỗ i hoặ c khoả ng chuỗ i có đượ c
bắ t đầ u bằ ng ký tự nào đó hay không. Nó sẽ trả về True nếu đúng
và False nếu sai.
Cú pháp:
python
copy
string.startswith(str, start, end)
Trong đó:
str là chuỗi các bạn cần xác thực xem có phải chuỗi bắt đầu không.
strart là index bắt đầu chuỗi cần so sánh. Mặc định thì start = 0.
end là index kết thúc chuỗi cần so sánh. Mặc định thì end = len().
VD:
python
copy
string = 'toidicode.com'
print(string.startswith('t'));
print(string.startswith('m', 3, 10));
39, maketrans().
Hàm này có tác dụ ng tạ o ra các translation cho chuỗ i. Dùng kết hợ p vớ i
phương thứ c translate().
Cú Pháp:
python
copy
string.maketrans(in, out)
Trong đó:
40, translate().
Hàm này có tác dụ ng thự c thi việc dịch chuỗ i. Dùng kết hợ p vớ i
phương thứ c makestrans().
VD:
python
copy
inputs = "abcdefghijklmnopqrstuxyz";
outputs = "ABCDEFGHIJKLMNOPQRSTUXYZ";
print(string.translate(trans))
Font size
Phầ n trướ c mình đã giớ i thiệu vớ i mọ i ngườ i các hàm xử lý chuỗ i hay
dùng trong Python, phầ n này chúng ta tiếp tụ c chuyển sang tìm hiểu về
mộ t số hàm xử lý list hay được sử dụng trong Python, và xem đố i
vớ i Python nó có hỗ trợ chúng ta xử lý đa dạ ng không nhé!
Mục Lục
1, list().
2, len().
3, max().
4, min().
5, append().
6, extend().
7, count().
8, index().
9, insert().
10, reverse().
11, remove().
12, pop().
13, sort().
14, clear().
1, list().
Hàm này có tác dụ ng chuyển đổ i kiểu dữ liệu củ a mộ t biến sang
dạ ng list.
Cú pháp:
python
copy
list(data)
VD:
python
copy
string = "Vu Thanh Tai"
print(list(string))
# Ket Qua: ['V', 'u', ' ', 'T', 'h', 'a', 'n', 'h', ' ', 'T', 'a', 'i']
print(list(tup))
# Ket Qua: ['A', 'B', 'C']
2, len().
Hàm này trả về số lượ ng phầ n tử có trong list.
Cú pháp:
python
copy
len(list)
VD:
python
copy
list = ['A', 'B', 'C']
print(len(list))
#Kết quả: 3
3, max().
Hàm này sẽ trả về phầ n tử có giá trị lớ n nhấ t trong list. Nếu là chuỗ i thì
nó sẽ trả về phầ n tử có độ dài chuỗ i dài nhấ t, nếu là số thì nó sẽ trả về
phầ n tử có số lớ n nhấ t.
Cú pháp:
python
copy
max(list)
VD:
python
copy
list = ['A', 'B', 'C']
print(max(list))
#Kết quả: C
print(max(list))
#Kết quả: 3
4, min().
Hàm này sẽ trả về phầ n tử có giá trị nhỏ nhấ t trong list. Nếu là chuỗ i thì
nó sẽ trả về phầ n tử có độ dài chuỗ i ngắ n nhấ t, nếu là số thì nó sẽ trả
về phầ n tử có số nhỏ nhấ t.
Cú pháp:
python
copy
min(list)
python
copy
list = ['A', 'B', 'C']
print(min(list))
#Kết quả: A
print(max(list))
#Kết quả: 1
5, append().
Phương thứ c này có tác dụ ng thêm phầ n vào cuố i củ a mộ t list.
Cú pháp:
python
copy
mylist.append(obj)
Trong đó:
VD:
python
copy
list = ['A', 'B', 'C']
list.append('D')
print(list)
list.append(('E', 'F'))
print(list)
6, extend().
Hàm này có tác dụ ng kế thừ a lạ i các phầ n tử củ a list2 và thêm vào
trong list1.
Cú pháp:
python
copy
list1.extend(list2)
Trong đó:
list1 là list mà bạn muốn kế thừa từ một list khác (ở đây là list2).
list2 là list được sử dụng để cho list khác kết thừa (ở đây là list1).
VD:
python
copy
list = ['A', 'B', 'C']
list.extend('D')
print(list)
list.extend(('E', 'F'))
print(list)
Cú pháp:
python
copy
mylist.count(val)
Trong đó:
VD:
python
copy
list = ['A', 'B', 'C']
print(list.count('A'))
# Kết quả: 1
8, index().
Phương thứ c này có tác dụ ng trả về index xuấ t hiện đầ u tiên củ a phầ n
tử mà bạ n muố n tìm và nếu như không tìm thấ y thì nó sẽ gọ i exception.
Cú Pháp:
python
copy
mylist.index(val)
Trong đó:
python
copy
list = ['A', 'B', 'C']
print(list.index('B'))
# Kết quả: 1
print(list.index('D'))
9, insert().
Phương thứ c có tác dụ ng thêm phầ n tử vào vị trí index củ a list, và các
phầ n tử sau index đó sẽ đượ c đẩ y về phía sau.
Cú pháp:
python
copy
mylist.insert(index, val)
Trong đó:
python
copy
list = ['A', 'B', 'C']
list.insert(0, 'Z')
print(list)
list.insert(2, 'D')
print(list)
10, reverse().
Phương thứ c này có tác dụ ng đả o ngượ c vị trí củ a các phầ n tử trong
list.
Cú pháp:
python
copy
mylist.reverse()
VD:
python
copy
list = ['A', 'B', 'C']
list.reverse()
print(list)
11, remove().
Phương thứ c này có tác dụ ng xóa phầ n tử khỏ i list.
Cú Pháp:
python
copy
mylist.remove(val)
Trong đó:
VD:
python
copy
list = ['A', 'B', 'C']
list.remove('C')
print(list)
12, pop().
Phương thứ c này có tác dụ ng xóa bỏ phầ n tử trong list dự a trên index
củ a nó.
Cú pháp:
python
copy
mylist.pop(index)
Trong đó:
index là index của phần tử mà bạn muốn muốn xóa trong list mylist. Mặc
VD:
python
copy
list = ['A', 'B', 'C', 'D', 'E']
list.pop()
print(list)
list.pop(2)
print(list)
13, sort().
Phương thứ c này có tác dụ ng sắ p xếp lạ i các phầ n tử trong list theo mộ t
thứ tự xác định.
Cú pháp:
python
copy
mylist.sort(reverse, key)
Trong đó:
reverse là một boolean cấu hình kiểu sắp xếp. Nếu reverse = True thì list sẽ
được sắp xếp từ lớn đến bé, nếu reverse = False thì list sẽ được sắp xếp
python
copy
list = ['A', 'C', 'B', 'E', 'D']
list.sort()
print(list)
list.sort(reverse=True)
print(list)
def custom_sort(elem):
return elem[1]
list.sort(key=custom_sort)
print(list)
# Kết quả: [(1, 2), (4, 4), (5, 7), (7, 100)]
14, clear().
Phương thứ c này có tác dụ ng xóa bỏ hết tấ t cả các phầ n tử trong list.
Cú pháp:
python
copy
mylist.clear()
VD:
python
copy
list = ['A', 'C', 'B', 'E', 'D']
list.clear()
print(list)
# Kết quả: []
Font size
Mục Lục
1, abs().
2, fabs().
3, ceil().
4, exp().
5, floor().
6, log().
7, log10().
8, max().
9, min().
10, modf().
11, pow().
12, round().
13, sqrt().
14, acos().
15, cos().
16, asin().
17, sin().
18, atan() - tan().
19, radians().
1, abs().
Hàm này có tác dụ ng trả về giá trị tuyệt đố i củ a mộ t số .
Lưu ý: Hàm này không nằ m trong module math, nên các bạ n không cầ n
phả i import modules math.
Cú pháp:
python
copy
abs(number)
VD:
python
copy
number = -5
print(abs(number))
# Kết quả: 5
number = -19.6
print(abs(number))
2, fabs().
Hàm này có tác dụ ng trả về giá trị tuyệt đố i củ a mộ t số . Nhưng nó sẽ
có khác vớ i hàm abs() ở trên là hàm này sẽ chỉ chấ p nhậ n chuyển đổ i
đượ c kiểu số nguyên (integer) và số thự c (float) trong khi
hàm abs() chuyển đổ i đượ c cả complex number.
Cú pháp:
python
copy
math.fabs(number)
VD:
python
copy
import math
number = -5
print(math.fabs(number))
# Kết quả: 5
number = -19.6
print(math.fabs(number))
3, ceil().
Hàm này có tác dụ ng chuyển đổ i mộ t số về dạ ng số nguyên củ a nó và
số nguyên đó phả i lớ n hơn hoặ c bằ ng số ban đầ u. Nói mộ t cách đơn
giả n thì hàm này có tác dụ ng làm tròn lên 1 số .
Cú pháp:
python
copy
math.ceil(number)
VD:
python
copy
import math
number = 5.2
print(math.ceil(number))
# Kết quả: 6
number = 19.6
print(math.ceil(number))
# Kết quả: 20
number = -19.6
print(math.ceil(number))
4, exp().
Hàm này có tác dụ ng trả về kết quả e , trong đó x là số mà các bạ n cầ n
x
tính.
VD:
python
copy
import math
number = 5
print(math.exp(number))
5, floor().
Hàm này có tác dụ ng làm tròn mộ t số về dạ ng số nguyên nhỏ hơn hoặ c
bằ ng số ban đầ u. Nói cách khác thì là làm tròn xuố ng mộ t số .
VD:
python
copy
import math
number = 5.3
print(math.floor(number))
# Kết quả: 5
number = 19.6
print(math.floor(number))
# Kết quả: 19
number = -19.6
print(math.floor(number))
6, log().
Hàm này sẽ trả về kết quả logarithm x, vớ i x là số cầ n chuyển và x > 0.
VD:
python
copy
import math
number = 5.3
print(math.log(number))
number = 19.6
print(math.log(number))
7, log10().
Hàm này tương tự như hàm log(), nhưng là dạ ng logarithm cơ số 10.
VD:
python
copy
import math
number = 5.3
print(math.log10(number))
number = 19.6
print(math.log10(number))
8, max().
Hàm này có tác dụ ng trả về số lớ n nhấ t trong các số đượ c truyền vào.
Lưu ý: Hàm này không nằ m trong module math, nên các bạ n không cầ n
phả i import modules math.
VD:
python
copy
x, y = 5, 9
print(max(x, y))
# Kết quả: 9
x, y, z = 5, 1, 3
print(max(x, y, z))
# Kết quả: 5
9, min().
Hàm này có tác dụ ng trả về số nhỏ nhấ t trong các số đượ c truyền vào.
VD:
python
copy
x, y = 5, 9
print(min(x, y))
# Kết quả: 5
x, y, z = 5, 1, 3
print(min(x, y, z))
# Kết quả: 1
10, modf().
Hàm này có tác dụ ng chuyển đổ i mộ t số về mộ t tuple. Tuple này chứ a
phầ n thậ p phân và phầ n nguyên củ a số đó, lưu ý tấ t cả các giá trị
trong tuple này đều ở dạ ng float.
VD:
python
copy
import math
x = 5.278
print(math.modf(x))
x = -102.69874
print(math.modf(x))
VD:
python
copy
import math
x, y = 5, 2
print(math.pow(x, y))
x, y = 10, 5
print(math.pow(x, y))
12, round().
Hàm này có tác dụ ng làm tròn số về dạ ng cầ n thiết.
Cú pháp:
python
copy
math.round(number, count = 0)
Trong đó:
count là số mà các bạn muốn làm tròn sau dấu phẩy. Mặc định thì count =
0.
VD:
python
copy
x = 5.15742
print(round(x))
# Kết quả: 5
x = 10.677781
print(round(x, 2))
13, sqrt().
Hàm này có tác dụ ng trả về că n bậ c 2 củ a mộ t số , vớ i điều kiện số đó
phả i lớ n hơn 0.
VD:
python
copy
import math
x = 9
print(math.sqrt(x))
x = 10.677781
print(math.sqrt(x))
14, acos().
Hàm này có tác dụ ng tính cosine củ a mộ t số . Vớ i điều kiện số đó phả i
nằ m trong khoả ng: -1<= x <=1.
VD:
python
copy
import math
x = 1
print(math.acos(x))
print(math.acos(x))
15, cos().
Hàm này cũ ng trả về cosine củ a mộ t số , nhưng số này đượ c tính theo
radian.
VD:
python
copy
import math
x = 1
print(math.cos(x))
x = 0.5
print(math.cos(x))
16, asin().
Hàm này có tác dụ ng trả về sine củ a mộ t số . Vớ i điều kiện số đó phả i
nằ m trong khoả ng: -1<= x <=1.
VD:
python
copy
import math
x = 1
print(math.asin(x))
x = 0.5
print(math.asin(x))
17, sin().
Hàm này cũ ng trả về sine củ a mộ t số , nhưng số này đượ c tính theo
radian.
VD:
python
copy
import math
x = 1
print(math.sin(x))
# Kết quả: 0.8414709848078965
x = 0.5
print(math.sin(x))
VD:
python
copy
import math
x = 1
print(math.atan(x))
print(math.tan(x))
19, radians().
Hàm này có tác dụ ng chuyển đổ i từ độ sang radians.
VD:
python
copy
import math
x = 1
print(math.radians(x))
x = 90
print(math.radians(x))
Font size
javascript
copy
// javascript
return a + b;
1, Lambda là gì?
3, Ví dụ.
1, Lambda là gì?
- Lambda là mộ t anonymous function (hàm ẩn danh) nó có thể khai
báo, định nghĩa ở bất kỳ đâu và không có khả năng tái sử dụng.
- Lambda thườ ng đượ c dùng để gán vào biến, hay đượ c gán vào hàm,
class như mộ t tham số .
2, Khai báo lambda.
Để khai báo mộ t lambda trong Python chúng ta sử dụ ng cú pháp sau:
python
copy
lambda arguments_list: expression
Trong đó:
3, Ví dụ.
Ví dụ khai báo mộ t lambda function để tính tổ ng củ a 2 biến.
python
copy
add = lambda a, b: a + b
# call lambda
add(3, 4) # 7
python
copy
add = lambda a, b: a + b
type(add) # function
Font size
Mục Lục
1, map().
2, filter().
3, Lời kết.
1, map().
Hàm map này có tác dụ ng duyệt qua tấ t cả các phầ n tử củ a mộ t hoặ c
nhiều list, dictionary hoặ c tương tự như thế, sử dụ ng đơn giả n vớ i cú
pháp như sau:
python
copy
map(function, iterable1, iterable2 ,...)
Trong đó:
function là hàm xử lý logic qua mỗi lần lặp giá trị trong interable1, ......
Hàm map sẽ trả về mộ t map object chứ a các kết quả sau khi thự c thi.
python
copy
def mutiply(x):
return x * x
python
copy
result = map(lambda x: x * x, [1, 2, 3, 4])
python
copy
result = map(lambda x, y: x + " " + y, ['red', 'blue'], ['green', 'black'])
2, filter().
Hàm này cũ ng có tác dụ ng duyệt qua các phầ n tử trong list, dict,...
nhưng khác vớ i map là hàm này sẽ chỉ trả về nhữ ng giá trị mà điều kiện
trong function chấ p nhậ n (có nghĩa là True).
Cú pháp:
python
copy
filter(function, iterable)
Trong đó:
function là hàm xử lý logic qua mỗi lần lặp giá trị trong interable, ......
Hàm filter sẽ trả về mộ t map object chứ a các kết quả sau khi thự c thi.
python
copy
result = filter(lambda x: x % 2, [1, 2, 3, 4, 5, 6, 7, 8, 9, 22])
print(list(result)) # [1, 3, 5, 7, 9]
3, Lời kết.
Bằ ng việc sử dụ ng lambda trong map và filter thì sẽ giúp cho code củ a
chúng ta tườ ng minh hơn, đồ ng thờ i sẽ tiết kiệm đượ c mộ t số tài
nguyên khi chương trình runtime (không đáng kể).