Get Started. It's Free
or sign up with your email address
Python by Mind Map: Python

1. Kiểu String

1.1. Escape Sequence

1.1.1. \a : phát ra tiếng bíp

1.1.2. \b : backscape

1.1.3. \n: newline

1.1.4. \t: tab

1.1.5. \': thêm '

1.1.6. \": thêm "

1.1.7. \\: thêm\

1.1.8. Chuổi trần

1.1.8.1. Cú pháp: r'<nội dung>'

1.2. Note trong Py

1.2.1. Dùng dấu #

1.2.2. Dùng cặp dấu '' hoặc "" (Docstring)

1.3. Ép kiểu

1.3.1. int() : thành interger

1.3.2. float() : thành float

1.3.3. str() : thành string

1.4. Toán tử String

1.4.1. Công chuỗi: +

1.4.2. Nhân chuỗi: *

1.4.3. Indexing và cắt chuỗi

1.4.3.1. Indexing

1.4.3.1.1. Chuỗi bắt đầu từ vị trí 0 - len(chuỗi)

1.4.3.1.2. Chuỗi cũng có thể bắt đầu từ ( - len(chuỗi) ) đến -1

1.4.3.2. Cắt chuỗi

1.4.3.2.1. <chuỗi>[vị trí]

1.4.3.2.2. <chuỗi>[vị trí bắt đầu : vị trí dừng : (bước) ]

1.4.4. Toán tử %

1.4.4.1. Cú pháp: <chuỗi %s> %( giá trị thử 1, giá trị thứ 2,..., giá trị thứ n-1, giá trị thứ n )

1.4.4.2. %s : giá trị phương thức __str__

1.4.4.3. %r : giá trị phương thức __repr__

1.4.4.4. %d : giá trị của môt số - Nếu là số thực thì chỉ lấy phần nguyên (chuyển sang số nguyên)

1.4.4.5. %<số chữ số thập phân>f : giá trị của số thực - Nếu là số sẽ chuyển sang số thực

1.4.5. Định dạng bằng chuỗi f (f-string)

1.4.5.1. Cú pháp: f'<giá trị trong chuỗi { giá trị đã được khai báo }'

1.4.5.1.1. VD

1.4.6. Định dạng bằng phương thức format

1.4.6.1. Cú pháp: '<giá trị của chuỗi {}>'.format()

1.4.6.1.1. Vd : 'a: {}, b:{}, c:{} '.format(1,2,3)

1.4.6.2. Căng lề bằng format

1.4.6.2.1. Căn lề trái: {:(c)<n}

1.4.6.2.2. Căn lề phải: {:(c)>n}

1.4.6.2.3. Căn lề giữa: {:(c)^n}

1.4.6.2.4. Trong đó: c là kí tự muốn thay thế, n là số kí tự

1.5. Các phương thức biến đổi

1.5.1. <chuỗi>.capitalize() : Kí tự đầu tiên viết hoa và viết thường các kí tự còn lại

1.5.2. <>.upper() : Viết hoa all

1.5.3. <>.lower() : Viết thường all

1.5.4. <>.swapcase() : Hoa => thường và ngược lại

1.5.5. <>.title() : Biến chuỗi thành tiêu đề

1.6. Các phương thức định dạng

1.6.1. <>.center(width, [fillchar])

1.6.2. <>.rjust(width, [fillchar])

1.6.3. <>.ljust(width, [fillchar])

1.7. Các phương thức xử lý

1.7.1. <>.encode(encoding='utf-8', errors='strict')

1.7.2. <>.join(<iterable>) .

1.7.2.1. iterable buộc là class str

1.7.3. <>.replace(old, new, [count])

1.7.3.1. Nếu old ko có trong chuỗi hoặc [count] = 0 thì chuỗi đã replace == chuỗi cũ

1.7.4. <>.strip([char])

1.7.4.1. Trả về chuỗi mà đầu và đuôi đã bị cắt bỏ [char].

1.7.4.2. Mặc định [char] là khoảng trắng nếu [char] bị bỏ trống

1.7.4.3. Một số escape sequence ngoại lệ như \a sẽ được encode utf-8

1.7.4.4. <>.rstrip() : cắt từ trái và <>.lstrip : cắt từ phải

1.7.5. <>.split(sep=None, maxsplit = -1 ) và <>.rsplit(sep=None, maxsplit = -1 )

1.7.5.1. Nếu sep = None thì dùng kí tự khoảng trắng

1.7.5.2. Nếu maxsplit mặc định == -1 thì sẽ ko bị giới hạn việc tách, Py sẽ giới hạn việc tách thông qua maxsplit

1.7.6. <>.partition(sep) và <>.rpartition(sep)

1.7.6.1. Tách chuỗi thành 1 tuple gồm 3 phần tử

1.7.6.2. ('<Giá trị trước sep>', '<sep>', '<Giá trị sau sep>')

1.7.6.3. Nếu sep ko đc tìm thấy thì sẽ tạo ra 1 tuple gồm giá trị đầu là <chuỗi> và 2 giá trị phía sau (phía trước) trống

1.8. Phương thức tiện ích

1.8.1. <>.count(sub, [start, [end]]) : đếm số kí tự sub trong chuỗi.

1.8.2. <>.startswith(prefix, [start[end]]) : đưa ra giá trị boolean. Nếu chuỗi đó bắt đầu bằng prefix thì True, ngược lại là False

1.8.3. <>.endwith(prefix, [start[end]]) : đưa ra giá trị boolean. Nếu chuỗi đó kết thúc bằng prefix thì True, ngược lại là False

1.8.4. <>.find(sub, [start,[end]]): tìm kí tự sub trong chuỗi ở đâu. Nếu ko có trong chuỗi thì kết quả == -1

1.8.5. <>.rfind(sub, [start,[end]]): tương tự <>.find()

1.8.6. <>.index() và <>.rindex(): tương tự <>.find() nhưng sẽ có lỗi ValueError nếu sub ko đc tìm thấy

1.9. Phương thức xác thực

1.9.1. <>.isupper()

1.9.2. <>.islower()

1.9.3. <>.istitle()

1.9.4. <>.isdigit()

1.9.5. <>.isspace()

2. Kiểu sô

3. Kiểu List

3.1. List trong Py

3.1.1. Là một container đc sử dụng nhiều.

3.2. Yếu tố:

3.2.1. Giới hạng bởi cặp ngoặc [ ]

3.2.2. Giữa các phần tử cách nhau bởi dấu phẩy

3.2.3. Có khả năng chứa mọi giá trị, đối tượng và bao gồm chính nó.

3.3. Khởi tạo list

3.3.1. Sử dụng dấu ngoặc [ ] đặt bên trong

3.3.2. Sử dụng List Comprehension

3.3.2.1. Cú pháp: [Comprehension]

3.3.2.2. Vd: a = [ s for s in range(n) ]

3.3.2.3. Trong đó: s là biến, n là số phần tử

3.3.3. Sử dụng constructor List

3.3.3.1. Cú pháp: list( iterable )

3.4. Một số toán tử

3.4.1. Toán tử +

3.4.2. Toán tử *

3.4.3. Toán tử in

3.4.3.1. Nếu một phần tử có trong list thì kết quả là True và ngược lại.

3.5. Indexing và cắt List

3.5.1. Indexing và cắt List tương tự Indexing và cắt String

3.6. Thay đổi nội dung List

3.6.1. Ta có thể thay đổi nội dung trong list.

3.7. Phương thức tiện ích

3.7.1. <>.count(sub, [start, [end]]) : đếm số kí tự sub trong list.

3.7.2. <>.index(sub, [start,[end]]) : Tìm kí tự sub ở đâu

3.7.3. <>.copy() : Copy list như List[:]

3.7.4. <>.clear() : clear list

3.8. Các phương thức cập nhật

3.8.1. <>.append(x) : thêm phần tử x và list

3.8.2. <>.extend(x) : thêm từng phần tử x và list

3.8.3. <>.insert( i , x ) : thêm phần tử x và vị trí i

3.8.4. <>.pop([ i ]) : bỏ đi phần tử i trong list, nếu ko có vị trị i thì mặc định sẽ bỏ giá trị cuối

3.8.5. <>.remove( x ) : Bỏ đi giá trị đầu tiên trong list có giá trị x. Nếu x ko có thì sẽ báo lỗi.

3.9. Các phương thức xử lí

3.9.1. <>.reverse : đảo ngược các phần tử

3.9.2. <>.sort( key=None, reverse=False )

3.9.2.1. Sắp xếp các phần tử từ bé đến lớn

3.9.2.2. Sắp xếp các phần tử từ lớn đến bé nếu reverse=True

3.9.2.3. Không thể so sánh chuỗi với số

4. Kiểu Tuple

4.1. Đặc điểm

4.1.1. Sử dụng cặp ngoặc tròn ( ), phân cách nhau bởi dấu phẩy, có thể chứa mọi giá trị

4.1.2. Tốc độ truy xuất data nhanh hơn list, dung lượng chím bộ nhớ nhỏ hơn list, bảo vệ dữ liệu người dùng tốt hơn.

4.1.3. Có thể dùng làm key cho Dictionary

5. Kiểu Set

6. Kiểu Dictionary

7. Kiểu Boolean

7.1. Đúng thì True

7.2. Sai thì False

8. Câí trúc rẽ nhánh

8.1. Các khối lệnh

8.1.1. Gõ dấu < : > để tạo một khối lệnh

8.1.2. Các khối lệnh có thụt đầu dòng khoảng 1 tab hoặc 4 dấu cách

8.1.3. 1 khối lệnh có thể chứa nhiều dòng và nhiều khối lệnh khác

8.2. If < nội dung >:

8.2.1. Nếu...thì

8.2.2. If <điều kiên>:

8.2.2.1. Nếu... thì...

8.2.3. If <đk>:...else:

8.2.3.1. Nếu... thì...còn không phải thì

8.2.4. If<đk>:...elif<đk>:...(elif + 1:...elif n-1:...elif n)[Nhiều lần elif]

8.2.4.1. Nếu...thì...còn ko thì...

8.2.4.2. Có thể có nhiều điều kiện

8.3. Pass: Dùng để đánh dấu chổ lập trình

8.4. Dùng If như một phép gán

8.4.1. VD: bang_nhau = True if a == b else False

9. Vòng lập

9.1. While

9.1.1. Là chạy phần mềm cho đến khi nào giá trị sai (FALSE)

9.1.2. While ... : <>

9.1.3. While/else

9.1.3.1. else như kết luận của vòng lập while đc dùng để tổng hợp kết quả

9.1.3.2. block else sẽ xảy ra nếu vòng lập chạy bình thường (ko bị dừng bất thường)

9.2. For

9.2.1. range( begin , end , step )

9.2.1.1. Chạy từ khi nào đến khi nào

9.2.2. For ... : <>

9.2.3. vd: For i in range (0,10,2) #0,2,4,6,8

9.2.4. For/else

9.2.4.1. else như kết luận của vòng lập for... đc dùng để tổng hợp kết quả

9.2.4.2. block else sẽ xảy ra nếu vòng lập chạy bình thường (ko bị dừng bất thường)

9.3. Các câu lệnh khác

9.3.1. break

9.3.1.1. Dùng để dừng vòng lập

9.3.2. continue

9.3.2.1. Dùng để nhảy sớm đến các bước tiếp theo

10. Các toán tử cơ bản

10.1. Toán tử số học cơ bản

10.1.1. Cộng ( + )

10.1.2. Trừ ( - )

10.1.3. Nhân ( * )

10.1.4. Chia ( / )

10.1.5. Chia lây phần nguyên ( // ) ( div)

10.1.6. Chia lây phần dư ( % ) ( mod )

10.1.7. Lũy thừa ( ** )

10.2. Toán tử gán

10.2.1. Gán ( = )

10.2.2. Cộng và gán ( += )

10.2.3. Trừ và gán ( -= )

10.2.4. Nhân và gán ( *= )

10.2.5. Chia và gán ( /= )

10.2.6. Chia và gán (lấy nguyên) ( //= )

10.2.7. Chia và gán ( lấy dư ) ( %= )

10.2.8. Lũy thừa và gán ( **= )

10.3. Toán tử so sánh

10.3.1. Bằng nhau ( == )

10.3.2. Khác nhau ( != )

10.3.3. Bé hơn ( < )

10.3.4. Bé hơn hoặc bằng ( <= )

10.3.5. Lớn hơn ( > )

10.3.6. Lớn hơn hoặc bằng ( >= )

10.3.7. A không phải là B ( A is not B )

10.4. Toán tử logic

10.4.1. and (và)

10.4.2. or (hoặc)

10.4.3. not (phủ định)

10.4.4. A là B ( A is B )

11. Một số hàm quan trọng

11.1. randrange( x , y)

11.1.1. Cho số ngẫu nhiên trong khoảng >= x và < y

11.1.2. from random import randrange

11.2. round( n , x )

11.2.1. Làm tròn n đến số thập phân thứ x

11.3. Time

11.3.1. clock()

11.3.1.1. Đếm thời gian

11.3.1.2. Tổng thời gian = Thời gian kết thúc - Thời gian bắt đầu

11.3.2. sleep( x )

11.3.2.1. Nghỉ trong khoảng x giây trước khi đến bước tiếp theo

11.4. exit

11.4.1. giống như break nhưng thoát luôn chương trình

11.5. eval( )

11.5.1. Nhập vào một giá trị thức thì nó tự tính toán

12. Hàm trong Python

12.1. Là khối lệnh thực hiện một công việc hoàn chỉnh

12.2. Cách khai báo: def FunctionName(parameter): block

12.3. Có 2 loại hàm

12.3.1. Hàm trả về kết quả

12.3.1.1. Khai báo: Result = FunctionName([ parameter ])

12.3.2. Hàm không trả về kết quả

12.3.2.1. Khai báo: FunctionName([ parameter ])

12.4. Nguyên tắc: LIFO ( Last in first out - Ra trước vào sau)

12.5. Biến toàn cục - biến cục bộ

12.5.1. Giá trị bên trong hàm không liên quan đến giá trị bên ngoài

12.5.2. Nếu muốn lấy bên ngoài thì dùng: global <biến toàn cục muốn chèn vào>

12.6. Parameter mặc định

12.6.1. Nếu ko có giá trị nào truyền vào thì thì lấy giá trị mặc định mà hàm đã tạo

12.7. Lambda Expression

12.7.1. lambda parameterlist: expression

12.7.1.1. lambda là tên hàm

12.7.1.2. parameterlist là các giá trị

12.7.1.3. expression là biểu thức đơn