- [Người hướng dẫn] Nếu bạn mã hóa đường dẫn mà người khác không có quyền truy cập, họ không thể chạy mã của bạn, phải tìm kiếm trong mã của bạn và thay đổi đường dẫn theo cách thủ công và điều đó có thể rất khó chịu và không hiệu quả. Để tránh vấn đề này, bạn có thể sử dụng đường dẫn tương đối. Tôi sẽ xem qua một ví dụ để minh họa cách tránh mã hóa cứng các đường dẫn không thể truy cập bằng cách sử dụng các đường dẫn tương đối. Giả sử tôi đang làm việc với tập dữ liệu chứa thông tin về danh sách AirBnB ở Thành phố New York từ năm 2019. Bây giờ hãy xem công việc của tôi được lưu ở đâu. Tôi có một thư mục có tên là dự án chứa hai thư mục con có tên là mã và dữ liệu. Bên trong mã thư mục con, tôi có sổ ghi chép Jupyter chứa mã của tôi. Và bên trong dữ liệu thư mục con, tôi có tệp CSV chứa tập dữ liệu mà tôi đang làm việc. Bây giờ giả sử tôi chia sẻ thư mục dự án của mình với một đồng đội. Khi mở thư mục dự án, họ sẽ có thể mở mã thư mục con, sau đó họ có thể mở sổ ghi chép Jupiter này. Khi họ làm, nó sẽ trông như thế này. Chúng ta hãy nhìn vào tế bào này ở đây. Điều này được cho là để đọc tập dữ liệu và lưu nó dưới dạng khung dữ liệu gấu trúc. Tuy nhiên, đường dẫn tuyệt đối cho tập dữ liệu đã được mã hóa cứng tại đây. Lưu ý rằng đường dẫn tuyệt đối cho tệp là vị trí của tệp so với thư mục gốc. Vì vậy, đường dẫn tuyệt đối được viết ở đây mô tả nơi định vị tập dữ liệu AirBnB NYC 2019 trên hệ thống tệp của tôi và của riêng tôi. Điều đó có nghĩa là khi đồng đội của tôi chạy ô trên hệ thống của họ, họ sẽ gặp lỗi. Để tránh điều này, tôi có thể sử dụng một đường dẫn tương đối thay thế. Lưu ý rằng đường dẫn tương đối cho tệp là vị trí của tệp so với thư mục làm việc hiện tại. Xin nhắc rằng tôi hiện đang ở mã thư mục con và lưu ý rằng mã gốc của mã thư mục con là thư mục dự án. Trong ô mới này, trước tiên tôi sẽ viết ra đường dẫn tương đối cho bộ dữ liệu AirBnB NYC 2019 và lưu nó vào một biến có tên Airbnb_path. Dấu chấm tôi đã viết ở đây biểu thị thư mục gốc của thư mục hiện tại. Nói cách khác, thư mục dự án. And I wrote data here to signify the sub-directory data, which is where the file can be found. And I wrote Airbnb_NYC_2019. csv here, because that's the name of the file. Next, I'll read the dataset using Airbnb_path and save the dataset as a pandas data frame. The relative path written here describes where the dataset can be found relative to the current working directory, which is the directory named code. And my teammate has access to that directory, because I shared it with them. That means that they also have access to this relative path. So when they run the cell, there will be no errors. And when they run this next cell, they'll be able to see the first few rows of the dataset. There you go. Now you know how to use relative paths instead of hardcoding inaccessible paths. Keep this in mind when reading files in your code
Download the files the instructor uses to teach the course. Follow along and learn by watching, listening and practicing
Tải xuống các khóa học và học mọi lúc, mọi nơi
Watch courses on your mobile device without an internet connection. Download courses using your iOS or Android LinkedIn Learning app
Hi. Welcome. If you are learning Python, then this article is for you. You will find a thorough description of Python syntax and lots of code examples to guide you during your coding journey
What we will cover
and more
Are you ready? Let's begin. 🔅
💡 Tip. throughout this article, I will use
color = "Blue"
23 to indicate that this part of the syntax will be replaced by the element described by the text. For example,
color = "Blue"
24 means that this will be replaced by a variable when we write the code
🔹 Variable Definitions in Python
The most basic building-block of any programming language is the concept of a variable, a name and place in memory that we reserve for a value
In Python, we use this syntax to create a variable and assign a value to this variable
<var_name> = <value>
For example
age = 56
name = "Nora"
color = "Blue"
grades = [67, 100, 87, 56]
If the name of a variable has more than one word, then the Style Guide for Python Code recommends separating words with an underscore "as necessary to improve readability. "
For example
my_list = [1, 2, 3, 4, 5]
💡 Mẹo. Style Guide for Python Code (PEP 8) có những gợi ý tuyệt vời mà bạn nên làm theo để viết mã Python rõ ràng
🔸 Xin chào, Thế giới. Chương trình trong Python
Trước khi chúng tôi bắt đầu đi sâu vào các kiểu dữ liệu và cấu trúc dữ liệu mà bạn có thể sử dụng trong Python, hãy xem cách bạn có thể viết chương trình Python đầu tiên của mình
Bạn chỉ cần gọi hàm
color = "Blue"
25 và viết
color = "Blue"
26 trong ngoặc đơn
print("Hello, World!")
Bạn sẽ thấy thông báo này sau khi chạy chương trình
"Hello, World!"
💡 Mẹo. Viết chương trình
color = "Blue"
26 là một truyền thống trong cộng đồng nhà phát triển. Hầu hết các nhà phát triển bắt đầu học cách viết mã bằng cách viết chương trình này
Great. Bạn vừa viết chương trình Python đầu tiên của mình. Bây giờ, hãy bắt đầu tìm hiểu về các kiểu dữ liệu và cấu trúc dữ liệu tích hợp sẵn mà bạn có thể sử dụng trong Python
🔹 Kiểu dữ liệu và cấu trúc dữ liệu tích hợp trong Python
Chúng tôi có một số kiểu dữ liệu cơ bản và cấu trúc dữ liệu tích hợp mà chúng tôi có thể làm việc với các chương trình của mình. Mỗi cái đều có ứng dụng riêng. Hãy xem chúng một cách chi tiết
Kiểu dữ liệu số trong Python. Số nguyên, số float và số phức
Đây là những kiểu số mà bạn có thể làm việc với Python
số nguyên
Số nguyên là số không có phần thập phân. Bạn có thể kiểm tra xem một số có phải là số nguyên hay không bằng hàm
Số float là số có số thập phân. Bạn có thể phát hiện chúng một cách trực quan bằng cách định vị dấu thập phân. Nếu chúng ta gọi
color = "Blue"
28 để kiểm tra kiểu dữ liệu của các giá trị này, chúng ta sẽ thấy đây là kết quả đầu ra
<class 'float'>
Ở đây chúng tôi có một số ví dụ
age = 56
0
Tổ hợp
Số phức có phần thực và phần ảo kí hiệu là
color = "Blue"
31. Bạn có thể tạo các số phức bằng Python với
color = "Blue"
32. Đối số đầu tiên sẽ là phần thực và đối số thứ hai sẽ là phần ảo
Đây là một số ví dụ
age = 56
1
Chuỗi trong Python
Chuỗi cực kỳ hữu ích trong Python. Chúng chứa một chuỗi ký tự và chúng thường được sử dụng để biểu thị văn bản trong mã
For example
"Hello, World!"
age = 56
3
Chúng ta có thể sử dụng cả dấu nháy đơn
color = "Blue"
33 hoặc dấu nháy kép
color = "Blue"
34 để định nghĩa một chuỗi. Chúng đều hợp lệ và tương đương nhau, nhưng bạn nên chọn một trong số chúng và sử dụng nó một cách nhất quán trong suốt chương trình
💡 Mẹo. Đúng. Bạn đã sử dụng một chuỗi khi viết chương trình
color = "Blue"
26. Bất cứ khi nào bạn thấy một giá trị được bao quanh bởi dấu nháy đơn hoặc kép trong Python, thì đó là một chuỗi
Các chuỗi có thể chứa bất kỳ ký tự nào mà chúng ta có thể nhập vào bàn phím, bao gồm số, ký hiệu và các ký tự đặc biệt khác
For example
age = 56
4_______3_______5
age = 56
6
💡 Mẹo. Khoảng trắng cũng được tính là ký tự trong chuỗi
Trích dẫn trong chuỗi
Nếu chúng ta định nghĩa một chuỗi có dấu nháy kép
color = "Blue"
34, thì chúng ta có thể sử dụng dấu nháy đơn bên trong chuỗi. Ví dụ
age = 56
7
Nếu chúng ta định nghĩa một chuỗi có dấu nháy đơn
color = "Blue"
33, thì chúng ta có thể sử dụng dấu nháy kép bên trong chuỗi. Ví dụ
age = 56
8
Lập chỉ mục chuỗi
Chúng ta có thể sử dụng các chỉ số để truy cập các ký tự của một chuỗi trong chương trình Python của mình. Chỉ mục là một số nguyên đại diện cho một vị trí cụ thể trong chuỗi. Chúng được liên kết với ký tự ở vị trí đó
Đây là sơ đồ của chuỗi
color = "Blue"
38
age = 56
9
💡 Mẹo. Các chỉ số bắt đầu từ
color = "Blue"
39 và chúng được tăng thêm bởi
color = "Blue"
40 cho mỗi ký tự ở bên phải
For example
name = "Nora"
0
Chúng tôi cũng có thể sử dụng các chỉ số tiêu cực để truy cập các ký tự này
name = "Nora"
1
💡 Mẹo. chúng tôi thường sử dụng
color = "Blue"
41 để truy cập ký tự cuối cùng của chuỗi
cắt chuỗi
Chúng tôi cũng có thể cần lấy một lát của chuỗi hoặc một tập hợp con các ký tự của nó. Chúng ta có thể làm như vậy với việc cắt chuỗi
Đây là cú pháp chung
name = "Nora"
2
color = "Blue"
42 là chỉ mục của ký tự đầu tiên sẽ được đưa vào lát cắt. Theo mặc định, nó là
color = "Blue"
39
color = "Blue"
44 là chỉ số của ký tự cuối cùng trong lát cắt (ký tự này sẽ không được bao gồm). Theo mặc định, nó là ký tự cuối cùng trong chuỗi (nếu chúng ta bỏ qua giá trị này, ký tự cuối cùng cũng sẽ được đưa vào)
color = "Blue"
45 là số tiền chúng tôi sẽ thêm vào chỉ mục hiện tại để đạt được chỉ mục tiếp theo
Chúng ta có thể chỉ định hai tham số để sử dụng giá trị mặc định của
color = "Blue"
45, đó là
color = "Blue"
40. Điều này sẽ bao gồm tất cả các ký tự giữa
color = "Blue"
42 và
color = "Blue"
44 (không bao gồm)
name = "Nora"
3
For example
name = "Nora"
4
💡 Mẹo. Lưu ý rằng nếu giá trị của một tham số vượt ra ngoài phạm vi hợp lệ của các chỉ số, lát cắt vẫn sẽ được trình bày. Đây là cách những người tạo ra Python triển khai tính năng cắt chuỗi này
Nếu chúng ta tùy chỉnh
color = "Blue"
45, chúng ta sẽ "nhảy" từ chỉ mục này sang chỉ mục tiếp theo theo giá trị này
For example
name = "Nora"
5
Chúng ta cũng có thể sử dụng bước phủ định để đi từ phải sang trái
name = "Nora"
6
Và chúng ta có thể bỏ qua một tham số để sử dụng giá trị mặc định của nó. Chúng ta chỉ cần thêm dấu hai chấm tương ứng (_______0_______51) nếu chúng ta bỏ qua
color = "Blue"
42,
color = "Blue"
44 hoặc cả hai
name = "Nora"
7
💡 Mẹo. Ví dụ cuối cùng là một trong những cách phổ biến nhất để đảo ngược chuỗi
chuỗi f
Trong Trăn 3. 6 và các phiên bản gần đây hơn, chúng ta có thể sử dụng một loại chuỗi có tên f-string giúp chúng ta định dạng chuỗi dễ dàng hơn nhiều
Để định nghĩa một f-string, chúng ta chỉ cần thêm một
color = "Blue"
54 trước dấu ngoặc đơn hoặc dấu ngoặc kép. Sau đó, trong chuỗi, chúng ta bao quanh các biến hoặc biểu thức bằng dấu ngoặc nhọn
color = "Blue"
55. Điều này thay thế giá trị của chúng trong chuỗi khi chúng ta chạy chương trình
For example
name = "Nora"
8
đầu ra là
name = "Nora"
9
Ở đây chúng tôi có một ví dụ nơi chúng tôi tính toán giá trị của một biểu thức và thay thế kết quả trong chuỗi
color = "Blue"
0
Các giá trị được thay thế trong đầu ra
color = "Blue"
1
Chúng ta cũng có thể gọi các phương thức trong dấu ngoặc nhọn và giá trị trả về sẽ được thay thế trong chuỗi khi chúng ta chạy chương trình
color = "Blue"
2
đầu ra là
color = "Blue"
3
Phương thức chuỗi
Các chuỗi có các phương thức, đại diện cho chức năng phổ biến đã được các nhà phát triển Python triển khai, vì vậy chúng ta có thể sử dụng nó trực tiếp trong các chương trình của mình. Chúng rất hữu ích để thực hiện các hoạt động thông thường
Đây là cú pháp chung để gọi một phương thức chuỗi
color = "Blue"
4
For example
color = "Blue"
5
Để tìm hiểu thêm về các phương thức Python, tôi khuyên bạn nên đọc từ tài liệu Python
💡 Mẹo. Tất cả các phương thức chuỗi trả về bản sao của chuỗi. Họ không sửa đổi chuỗi vì chuỗi là bất biến trong Python
Boolean trong Python
Các giá trị Boolean là
color = "Blue"
56 và
color = "Blue"
57 trong Python. Chúng phải bắt đầu bằng một chữ cái viết hoa để được công nhận là giá trị boolean
For example
color = "Blue"
6
Nếu chúng ta viết chúng bằng chữ thường, chúng ta sẽ gặp lỗi
color = "Blue"
7
Danh sách trong Python
Bây giờ chúng ta đã tìm hiểu các kiểu dữ liệu cơ bản trong Python, hãy bắt đầu tìm hiểu các cấu trúc dữ liệu tích hợp. Đầu tiên, chúng tôi có danh sách
Để xác định danh sách, chúng tôi sử dụng dấu ngoặc vuông
color = "Blue"
58 với các phần tử được phân tách bằng dấu phẩy
💡 Mẹo. Bạn nên thêm khoảng trắng sau mỗi dấu phẩy để mã dễ đọc hơn
Ví dụ: ở đây chúng tôi có các ví dụ về danh sách
color = "Blue"
8_______0_______9
grades = [67, 100, 87, 56]
0
Danh sách có thể chứa giá trị của các loại dữ liệu khác nhau, vì vậy đây sẽ là danh sách hợp lệ trong Python
grades = [67, 100, 87, 56]
1
Chúng ta cũng có thể gán một danh sách cho một biến
my_list = [1, 2, 3, 4, 5]
grades = [67, 100, 87, 56]
3
Danh sách lồng nhau
Danh sách có thể chứa giá trị của bất kỳ loại dữ liệu nào, kể cả các danh sách khác. Các danh sách bên trong này được gọi là danh sách lồng nhau
grades = [67, 100, 87, 56]
4
Trong ví dụ này,
color = "Blue"
59 và
color = "Blue"
60 là các danh sách lồng nhau
Ở đây chúng tôi có các ví dụ hợp lệ khác
grades = [67, 100, 87, 56]
5
grades = [67, 100, 87, 56]
6
Chúng ta có thể truy cập các danh sách lồng nhau bằng chỉ mục tương ứng của chúng
grades = [67, 100, 87, 56]
7
Ví dụ, các danh sách lồng nhau có thể được sử dụng để biểu thị cấu trúc của một bảng trò chơi 2D đơn giản trong đó mỗi số có thể biểu thị một phần tử hoặc ô xếp khác nhau
grades = [67, 100, 87, 56]
8
Độ dài danh sách
Chúng ta có thể sử dụng hàm
color = "Blue"
61 để lấy độ dài của danh sách (số lượng phần tử mà nó chứa)
For example
grades = [67, 100, 87, 56]
9
Cập nhật một giá trị trong danh sách
Chúng tôi có thể cập nhật giá trị tại một chỉ mục cụ thể bằng cú pháp này
my_list = [1, 2, 3, 4, 5]
0
For example
my_list = [1, 2, 3, 4, 5]
1
Thêm một giá trị vào một danh sách
Chúng ta có thể thêm một giá trị mới vào cuối danh sách bằng phương thức
color = "Blue"
62
For example
my_list = [1, 2, 3, 4, 5]
2
Xóa một Giá trị khỏi Danh sách
Chúng ta có thể xóa một giá trị khỏi danh sách bằng phương thức
color = "Blue"
63
For example
my_list = [1, 2, 3, 4, 5]
3
💡 Mẹo. Điều này sẽ chỉ loại bỏ lần xuất hiện đầu tiên của phần tử. Ví dụ: nếu chúng tôi cố xóa số 3 khỏi danh sách có hai số 3, số thứ hai sẽ không bị xóa
my_list = [1, 2, 3, 4, 5]
4
Lập chỉ mục danh sách
Chúng tôi có thể lập chỉ mục một danh sách giống như chúng tôi lập chỉ mục các chuỗi, với các chỉ mục bắt đầu từ
color = "Blue"
39
my_list = [1, 2, 3, 4, 5]
5
Danh sách cắt lát
Chúng tôi cũng có thể nhận được một phần của danh sách bằng cách sử dụng cùng một cú pháp mà chúng tôi đã sử dụng với các chuỗi và chúng tôi có thể bỏ qua các tham số để sử dụng các giá trị mặc định của chúng. Bây giờ, thay vì thêm các ký tự vào lát cắt, chúng tôi sẽ thêm các phần tử của danh sách
my_list = [1, 2, 3, 4, 5]
6
For example
my_list = [1, 2, 3, 4, 5]
7
Liệt kê các phương thức
Python cũng có các phương thức danh sách đã được triển khai để giúp chúng tôi thực hiện các thao tác danh sách phổ biến. Dưới đây là một số ví dụ về các phương pháp danh sách được sử dụng phổ biến nhất
my_list = [1, 2, 3, 4, 5]
8
Để tìm hiểu thêm về các phương thức danh sách, tôi khuyên bạn nên đọc từ tài liệu Python
Bộ dữ liệu trong Python
Để xác định một bộ trong Python, chúng tôi sử dụng dấu ngoặc đơn
color = "Blue"
65 và phân tách các phần tử bằng dấu phẩy. Nên thêm khoảng trắng sau mỗi dấu phẩy để mã dễ đọc hơn
my_list = [1, 2, 3, 4, 5]
9
print("Hello, World!")
0
print("Hello, World!")
1
Chúng ta có thể gán các bộ dữ liệu cho các biến
print("Hello, World!")
2
Lập chỉ mục Tuple
Chúng ta có thể truy cập từng phần tử của một tuple với chỉ mục tương ứng của nó
print("Hello, World!")
3
Chúng ta cũng có thể sử dụng các chỉ số âm
print("Hello, World!")
4
chiều dài tuple
Để tìm độ dài của một tuple, chúng ta sử dụng hàm
color = "Blue"
61, chuyển tuple làm đối số
print("Hello, World!")
5
Bộ dữ liệu lồng nhau
Bộ dữ liệu có thể chứa giá trị của bất kỳ loại dữ liệu nào, kể cả danh sách và các bộ dữ liệu khác. Các bộ dữ liệu bên trong này được gọi là các bộ dữ liệu lồng nhau
print("Hello, World!")
6
Trong ví dụ này, chúng ta có một bộ dữ liệu lồng nhau
color = "Blue"
67 và một danh sách. Bạn có thể truy cập các cấu trúc dữ liệu lồng nhau này bằng chỉ mục tương ứng của chúng
For example
print("Hello, World!")
7
cắt lát
Chúng ta có thể cắt một bộ giống như chúng ta cắt danh sách và chuỗi. Nguyên tắc và quy tắc tương tự được áp dụng
Đây là cú pháp chung
print("Hello, World!")
8
For example
print("Hello, World!")
9
Phương thức Tuple
Có hai phương thức Tuple tích hợp trong Python
"Hello, World!"
0
💡 Mẹo. bộ dữ liệu là bất biến. Chúng không thể được sửa đổi, vì vậy chúng tôi không thể thêm, cập nhật hoặc xóa các phần tử khỏi bộ dữ liệu. Nếu chúng ta cần làm như vậy, thì chúng ta cần tạo một bản sao mới của bộ dữ liệu
Phép gán Tuple
Trong Python, chúng tôi có một tính năng thực sự thú vị gọi là Chuyển nhượng Tuple. Với kiểu gán này ta có thể gán giá trị cho nhiều biến trên cùng một dòng
Các giá trị được gán cho các biến tương ứng của chúng theo thứ tự xuất hiện. Ví dụ: trong
color = "Blue"
68, giá trị
color = "Blue"
40 được gán cho biến
color = "Blue"
70 và giá trị
color = "Blue"
71 được gán cho biến
color = "Blue"
72
For example
"Hello, World!"
1
💡 Mẹo. Phép gán bộ thường được sử dụng để hoán đổi giá trị của hai biến
"Hello, World!"
2
Từ điển trong Python
Bây giờ hãy bắt đầu đi sâu vào từ điển. Cấu trúc dữ liệu tích hợp này cho phép chúng tôi tạo các cặp giá trị trong đó một giá trị được liên kết với một giá trị khác
Để định nghĩa một từ điển trong Python, chúng tôi sử dụng dấu ngoặc nhọn
color = "Blue"
55 với các cặp khóa-giá trị được phân tách bằng dấu phẩy
Khóa được phân tách khỏi giá trị bằng dấu hai chấm
color = "Blue"
51, như thế này
"Hello, World!"
3
Bạn có thể gán từ điển cho một biến
"Hello, World!"
4
Các khóa của từ điển phải thuộc loại dữ liệu bất biến. Ví dụ: chúng có thể là chuỗi, số hoặc bộ nhưng không phải là danh sách vì danh sách có thể thay đổi
Dây.
color = "Blue"
75
số.
color = "Blue"
76
bộ dữ liệu.
color = "Blue"
77
Các giá trị của một từ điển có thể thuộc bất kỳ loại dữ liệu nào, vì vậy chúng ta có thể gán các chuỗi, số, danh sách, bộ, bộ và thậm chí các từ điển khác làm giá trị. Ở đây chúng tôi có một số ví dụ
"Hello, World!"
5
"Hello, World!"
6
"Hello, World!"
7
Độ dài từ điển
Để lấy số lượng cặp khóa-giá trị, chúng ta sử dụng hàm
color = "Blue"
61
"Hello, World!"
8
Lấy một giá trị trong từ điển
To get a value in a dictionary, we use its key with this syntax
"Hello, World!"
9
This expression will be replaced by the value that corresponds to the key
The keys of a dictionary have to be unique. To add a new key-value pair we use the same syntax that we use to update a value, but now the key has to be new
These are some examples of the most commonly used dictionary methods
<class 'float'>
1
To learn more about dictionary methods, I recommend from the documentation
🔸 Python Operators
Great. Now you know the syntax of the basic data types and built-in data structures in Python, so let's start diving into operators in Python. They are essential to perform operations and to form expressions
Arithmetic Operators in Python
These operators are
Addition. +
<class 'float'>
2
💡 Tip. The last two examples are curious, right? This operator behaves differently based on the data type of the operands
When they are strings, this operator concatenates the strings and when they are Boolean values, it performs a particular operation
In Python,
color = "Blue"
56 is equivalent to
color = "Blue"
40 and
color = "Blue"
57 is equivalent to
color = "Blue"
39. This is why the result is
color = "Blue"
85
Subtraction. -
<class 'float'>
3
Multiplication. *
<class 'float'>
4
💡 Tip. you can "multiply" a string by an integer to repeat the string a given number of times
Exponentiation. **
<class 'float'>
5
Division. /
<class 'float'>
6
💡 Tip. this operator returns a
color = "Blue"
86 as the result, even if the decimal part is
color = "Blue"
87
If you try to divide by
color = "Blue"
39, you will get a
color = "Blue"
89
<class 'float'>
7
Integer Division. //
This operator returns an integer if the operands are integers. If they are floats, the result will be a float with
color = "Blue"
87 as the decimal part because it truncates the decimal part
<class 'float'>
8
Modulo. %
<class 'float'>
9
Comparison Operators
These operators are
Greater than.
color = "Blue"
91
Lớn hơn hoặc bằng.
color = "Blue"
92
Ít hơn.
color = "Blue"
93
Ít hơn hoặc bằng.
color = "Blue"
94
Tương đương với.
color = "Blue"
95
không bằng.
color = "Blue"
96
Các toán tử so sánh này tạo các biểu thức đánh giá thành
color = "Blue"
56 hoặc
color = "Blue"
57. Ở đây chúng tôi có một số ví dụ
age = 56
00
Chúng ta cũng có thể sử dụng chúng để so sánh các chuỗi dựa trên thứ tự bảng chữ cái của chúng
age = 56
01
Chúng tôi thường sử dụng chúng để so sánh giá trị của hai hoặc nhiều biến
age = 56
02
💡 Mẹo. lưu ý rằng toán tử so sánh là
color = "Blue"
95 trong khi toán tử gán là
grades = [67, 100, 87, 56]
00. Tác dụng của chúng khác nhau.
color = "Blue"
95 trả về
color = "Blue"
56 hoặc
color = "Blue"
57 trong khi
grades = [67, 100, 87, 56]
00 gán giá trị cho một biến
Chuỗi toán tử so sánh
Trong Python, chúng ta có thể sử dụng một thứ gọi là "chuỗi toán tử so sánh", trong đó chúng ta xâu chuỗi các toán tử so sánh để thực hiện nhiều phép so sánh chính xác hơn
Ví dụ: kiểm tra này nếu
color = "Blue"
70 nhỏ hơn
color = "Blue"
72 và nếu
color = "Blue"
72 nhỏ hơn
grades = [67, 100, 87, 56]
08
age = 56
03
Ở đây chúng tôi có một số ví dụ
age = 56
04
Toán tử logic
Có ba toán tử logic trong Python.
grades = [67, 100, 87, 56]
09,
grades = [67, 100, 87, 56]
10 và
grades = [67, 100, 87, 56]
11. Mỗi toán tử này có bảng chân lý riêng và chúng rất cần thiết để làm việc với các điều kiện
Toán tử
grades = [67, 100, 87, 56]
09
age = 56
05
Toán tử
grades = [67, 100, 87, 56]
10
age = 56
06
Toán tử
grades = [67, 100, 87, 56]
11
age = 56
07
Các toán tử này được sử dụng để tạo các biểu thức phức tạp hơn kết hợp các toán tử và biến khác nhau
For example
age = 56
08
Assignment Operators
Toán tử gán dùng để gán giá trị cho biến
họ đang. _______6_______00, _______6_______16, _______6_______17, _______6_______18, _______6_______19, _______6_______20, _______6__21, _______6_______22
Toán tử
grades = [67, 100, 87, 56]
00 gán giá trị cho biến
Các toán tử khác thực hiện một thao tác với giá trị hiện tại của biến và giá trị mới và gán kết quả cho cùng một biến
For example
age = 56
09
💡 mẹo. các toán tử này thực hiện các thao tác theo bit trước khi gán kết quả cho biến.
grades = [67, 100, 87, 56]
24,
grades = [67, 100, 87, 56]
25,
grades = [67, 100, 87, 56]
26,
grades = [67, 100, 87, 56]
27,
grades = [67, 100, 87, 56]
28
Thành viên điều hành
Bạn có thể kiểm tra xem một phần tử có thuộc dãy hay không bằng các toán tử.
grades = [67, 100, 87, 56]
29 và
grades = [67, 100, 87, 56]
30. Kết quả sẽ là
color = "Blue"
56 hoặc
color = "Blue"
57
For example
age = 56
10
Chúng tôi thường sử dụng chúng với các biến lưu trữ các chuỗi, như trong ví dụ này
age = 56
11
🔹 Điều kiện trong Python
Bây giờ hãy xem cách chúng ta có thể viết điều kiện để làm cho một số phần nhất định trong mã của chúng ta chạy (hoặc không) dựa trên việc điều kiện là
color = "Blue"
56 hay
color = "Blue"
57
grades = [67, 100, 87, 56]35 câu lệnh trong Python
Đây là cú pháp của một câu lệnh cơ bản
grades = [67, 100, 87, 56]
35
age = 56
12
Nếu điều kiện là
color = "Blue"
56, mã sẽ chạy. Ngược lại, nếu là
color = "Blue"
57, mã sẽ không chạy
💡 Mẹo. có dấu hai chấm (
color = "Blue"
51) ở cuối dòng đầu tiên và mã được thụt vào. Điều này là cần thiết trong Python để làm cho mã thuộc về điều kiện
Ở đây chúng tôi có một số ví dụ
Điều kiện sai
age = 56
13
Điều kiện là
grades = [67, 100, 87, 56]
40 và mã là
grades = [67, 100, 87, 56]
41
Trong trường hợp này, điều kiện là
color = "Blue"
57, vì vậy không có đầu ra
Tình trạng thật
Ở đây chúng ta có một ví dụ khác. Bây giờ điều kiện là
color = "Blue"
56
age = 56
14
đầu ra là
age = 56
15
Mã sau câu điều kiện
Ở đây chúng tôi có một ví dụ với mã chạy sau khi hoàn thành điều kiện. Lưu ý rằng dòng cuối cùng không được thụt vào, điều đó có nghĩa là nó không thuộc điều kiện
age = 56
16
Trong ví dụ này, điều kiện
grades = [67, 100, 87, 56]
40 là
color = "Blue"
57, vì vậy câu lệnh in đầu tiên không chạy nhưng câu lệnh in cuối cùng lại chạy vì nó không phải là một phần của điều kiện, vì vậy kết quả là
age = 56
17
Tuy nhiên, nếu điều kiện là
color = "Blue"
56, như trong ví dụ này
age = 56
18
đầu ra sẽ là
age = 56
19
Ví dụ về câu điều kiện
Đây là một ví dụ khác về điều kiện
age = 56
20
Trong trường hợp này, đầu ra sẽ là
age = 56
21
Nhưng nếu chúng ta thay đổi giá trị của
grades = [67, 100, 87, 56]
47
age = 56
22
Sẽ không có đầu ra vì điều kiện sẽ là
color = "Blue"
57
grades = [67, 100, 87, 56]49 câu lệnh trong Python
Chúng ta có thể thêm một mệnh đề
grades = [67, 100, 87, 56]
50 vào câu điều kiện nếu chúng ta cần xác định điều gì sẽ xảy ra khi điều kiện là
color = "Blue"
57
Đây là cú pháp chung
age = 56
23
💡 Mẹo. lưu ý rằng hai khối mã được thụt lề (_______6_______35 và
grades = [67, 100, 87, 56]
50). Điều này rất cần thiết để Python có thể phân biệt giữa mã thuộc về chương trình chính và mã thuộc về điều kiện.
Hãy xem một ví dụ với mệnh đề
grades = [67, 100, 87, 56]
50
Tình trạng thật
age = 56
24
đầu ra là
age = 56
19
Khi điều kiện của mệnh đề
grades = [67, 100, 87, 56]
35 là
color = "Blue"
56, mệnh đề này chạy. Mệnh đề
grades = [67, 100, 87, 56]
50 không chạy
Điều kiện sai
Bây giờ mệnh đề
grades = [67, 100, 87, 56]
50 chạy vì điều kiện là
color = "Blue"
57
age = 56
26
Bây giờ đầu ra là
age = 56
27
grades = [67, 100, 87, 56]60 câu lệnh trong Python
Để tùy chỉnh các điều kiện của chúng tôi hơn nữa, chúng tôi có thể thêm một hoặc nhiều mệnh đề
grades = [67, 100, 87, 56]
61 để kiểm tra và xử lý nhiều điều kiện. Chỉ mã của điều kiện đầu tiên có giá trị là
color = "Blue"
56 mới chạy
💡 Mẹo.
grades = [67, 100, 87, 56]
61 phải được viết sau
grades = [67, 100, 87, 56]
35 và trước
grades = [67, 100, 87, 56]
50
Điều kiện đầu tiên Đúng
age = 56
28
Chúng tôi có hai điều kiện
grades = [67, 100, 87, 56]
66 và
grades = [67, 100, 87, 56]
67. Chỉ khối mã từ điều kiện đầu tiên là
color = "Blue"
56 từ trên xuống dưới mới được thực thi
Trong trường hợp này, đầu ra là
age = 56
19
Bởi vì điều kiện đầu tiên là
color = "Blue"
56.
grades = [67, 100, 87, 56]
66
Điều kiện thứ hai Đúng
Nếu điều kiện đầu tiên là
color = "Blue"
57, thì điều kiện thứ hai sẽ được kiểm tra
Trong ví dụ này, điều kiện đầu tiên
grades = [67, 100, 87, 56]
66 là
color = "Blue"
57 nhưng điều kiện thứ hai
grades = [67, 100, 87, 56]
67 là
color = "Blue"
56, vì vậy mã thuộc mệnh đề này sẽ chạy
age = 56
30
đầu ra là
age = 56
31
Tất cả các điều kiện là Sai
Nếu tất cả các điều kiện đều là
color = "Blue"
57, thì mệnh đề
grades = [67, 100, 87, 56]
50 sẽ chạy
age = 56
32
đầu ra sẽ là
age = 56
27
Nhiều mệnh đề Elif
Chúng ta có thể thêm bao nhiêu mệnh đề
grades = [67, 100, 87, 56]
61 nếu cần. Đây là một ví dụ về câu điều kiện với hai mệnh đề
grades = [67, 100, 87, 56]
61
age = 56
34
Mỗi điều kiện sẽ được kiểm tra và chỉ khối mã của điều kiện đầu tiên có giá trị là
color = "Blue"
56 sẽ chạy. Nếu không ai trong số họ là
color = "Blue"
56, mệnh đề
grades = [67, 100, 87, 56]
50 sẽ chạy
🔸 Đối với vòng lặp trong Python
Bây giờ bạn đã biết cách viết điều kiện trong Python, vậy hãy bắt đầu đi sâu vào các vòng lặp. Vòng lặp for là cấu trúc lập trình tuyệt vời mà bạn có thể sử dụng để lặp lại một khối mã theo một số lần cụ thể
Đây là cú pháp cơ bản để viết vòng lặp for trong Python
age = 56
35
Iterable có thể là một danh sách, tuple, từ điển, chuỗi, chuỗi được trả về bởi phạm vi, tệp hoặc bất kỳ loại iterable nào khác trong Python. Chúng ta sẽ bắt đầu với
grades = [67, 100, 87, 56]
83
Hàm grades = [67, 100, 87, 56]83 trong Python
Hàm này trả về một chuỗi các số nguyên mà chúng ta có thể sử dụng để xác định số lần lặp (lặp lại) của vòng lặp sẽ được hoàn thành. Vòng lặp sẽ hoàn thành một lần lặp trên mỗi số nguyên
💡 Mẹo. Mỗi số nguyên được gán cho một biến vòng lặp tại một thời điểm trên mỗi lần lặp
Đây là cú pháp chung để viết một vòng lặp for với
grades = [67, 100, 87, 56]
83
age = 56
36
As you can see, the range function has three parameters
color = "Blue"
42. where the sequence of integers will start. By default, it's
color = "Blue"
39
color = "Blue"
44. where the sequence of integers will stop (without including this value)
color = "Blue"
45. the value that will be added to each element to get the next element in the sequence. By default, it's
color = "Blue"
40
You can pass 1, 2, or 3 arguments to
grades = [67, 100, 87, 56]
83
With 1 argument, the value is assigned to the
color = "Blue"
44 parameter and the default values for the other two parameters are used
With 2 arguments, the values are assigned to the
color = "Blue"
42 and
color = "Blue"
44 parameters and the default value for
color = "Blue"
45 is used
With 3 arguments, the values are assigned to the
color = "Blue"
42,
color = "Blue"
44, and
color = "Blue"
45 parameters (in order)
Here we have some examples with one parameter
age = 56
37
Output
age = 56
38
💡 Tip. the loop variable is updated automatically
age = 56
39
Output
age = 56
40
In the example below, we repeat a string as many times as indicated by the value of the loop variable
age = 56
41
Output
age = 56
42
We can also use for loops with built-in data structures such as lists
age = 56
43
Output
age = 56
44
💡 Tip. when you use
grades = [67, 100, 87, 56]
99, you get a sequence of numbers that goes from
color = "Blue"
39 up to
my_list = [1, 2, 3, 4, 5]
01. This represents the sequence of valid indices
These are some examples with two parameters
age = 56
45
Output
age = 56
46
Code
age = 56
47
Output
age = 56
48
Code
age = 56
49
Output
age = 56
50
Code
age = 56
51
Now the list is.
my_list = [1, 2, 3, 4, 5]
02
These are some examples with three parameters
age = 56
52
Output
age = 56
53
Code
age = 56
54
Output
age = 56
55
Code
age = 56
56
Output
age = 56
57
How to Iterate over Iterables in Python
We can iterate directly over iterables such as lists, tuples, dictionaries, strings, and files using for loops. We will get each one of their elements one at a time per iteration. This is very helpful to work with them directly
Let's see some examples
Iterate Over a String
If we iterate over a string, its characters will be assigned to the loop variable one by one (including spaces and symbols)
age = 56
58
We can also iterate over modified copies of the string by calling a string method where we specify the iterable in the for loop. This will assign the copy of the string as the iterable that will be used for the iterations, like this
age = 56
59
age = 56
60
Iterate Over Lists and Tuples
age = 56
61
đầu ra là
age = 56
62
Code
age = 56
63
Output
age = 56
64
Iterate Over the Keys, Values, and Key-Value Pairs of Dictionaries
We can iterate over the keys, values, and key-value pairs of a dictionary by calling specific dictionary methods. Let's see how
To iterate over the keys, we write
age = 56
65
We just write the name of the variable that stores the dictionary as the iterable
💡 Mẹo. you can also write
my_list = [1, 2, 3, 4, 5]
03 but writing the name of the variable directly is more concise and it works exactly the same
For example
age = 56
66
💡 Mẹo. bạn có thể gán bất kỳ tên hợp lệ nào cho biến vòng lặp
Để lặp lại các giá trị, chúng tôi sử dụng
age = 56
67
For example
age = 56
68
Để lặp lại các cặp khóa-giá trị, chúng tôi sử dụng
age = 56
69
💡 Mẹo. chúng tôi đang xác định hai biến vòng lặp vì chúng tôi muốn gán khóa và giá trị cho các biến mà chúng tôi có thể sử dụng trong vòng lặp
age = 56
70
Nếu chúng ta chỉ định nghĩa một biến vòng lặp, biến này sẽ chứa một bộ với cặp khóa-giá trị
age = 56
71
Phá vỡ và Tiếp tục trong Python
Bây giờ bạn đã biết cách lặp qua các chuỗi trong Python. Chúng tôi cũng có các câu lệnh điều khiển vòng lặp để tùy chỉnh những gì xảy ra khi vòng lặp chạy.
my_list = [1, 2, 3, 4, 5]
04 và
my_list = [1, 2, 3, 4, 5]
05
Tuyên bố phá vỡ
Câu lệnh
my_list = [1, 2, 3, 4, 5]
04 dùng để dừng vòng lặp ngay lập tức
Khi một câu lệnh
my_list = [1, 2, 3, 4, 5]
04 được tìm thấy, vòng lặp dừng lại và chương trình trở lại thực thi bình thường ngoài vòng lặp
Trong ví dụ bên dưới, chúng ta dừng vòng lặp khi tìm thấy phần tử chẵn
age = 56
72
Tuyên bố tiếp tục
Câu lệnh
my_list = [1, 2, 3, 4, 5]
05 được sử dụng để bỏ qua phần còn lại của lần lặp hiện tại
Khi nó được tìm thấy trong quá trình thực hiện vòng lặp, lần lặp hiện tại dừng lại và một lần lặp mới bắt đầu với giá trị được cập nhật của biến vòng lặp
Trong ví dụ bên dưới, chúng tôi bỏ qua bước lặp hiện tại nếu phần tử là số chẵn và chúng tôi chỉ in giá trị nếu phần tử là số lẻ
age = 56
73
Hàm zip() trong Python
my_list = [1, 2, 3, 4, 5]
09 là một hàm tích hợp tuyệt vời mà chúng ta có thể sử dụng trong Python để lặp lại nhiều chuỗi cùng một lúc, lấy các phần tử tương ứng của chúng trong mỗi lần lặp
Chúng ta chỉ cần chuyển các chuỗi làm đối số cho hàm
my_list = [1, 2, 3, 4, 5]
09 và sử dụng kết quả này trong vòng lặp
For example
age = 56
74
Hàm liệt kê () trong Python
Bạn cũng có thể theo dõi bộ đếm trong khi vòng lặp chạy bằng hàm
my_list = [1, 2, 3, 4, 5]
11. Nó thường được sử dụng để lặp lại một chuỗi và lấy chỉ mục tương ứng
💡 Mẹo. Theo mặc định, bộ đếm bắt đầu từ
color = "Blue"
39
For example
age = 56
75
age = 56
76
Nếu bạn bắt đầu bộ đếm từ
color = "Blue"
39, bạn có thể sử dụng chỉ mục và giá trị hiện tại trong cùng một lần lặp để sửa đổi trình tự
age = 56
77
Bạn có thể bắt đầu bộ đếm từ một số khác bằng cách chuyển đối số thứ hai tới
my_list = [1, 2, 3, 4, 5]
14
age = 56
78
Mệnh đề khác
Vòng lặp for cũng có mệnh đề
grades = [67, 100, 87, 56]
50. Bạn có thể thêm mệnh đề này vào vòng lặp nếu bạn muốn chạy một khối mã cụ thể khi vòng lặp hoàn thành tất cả các lần lặp của nó mà không tìm thấy câu lệnh
my_list = [1, 2, 3, 4, 5]
04
💡 Mẹo. nếu tìm thấy
my_list = [1, 2, 3, 4, 5]
04, mệnh đề
grades = [67, 100, 87, 56]
50 không chạy và nếu không tìm thấy
my_list = [1, 2, 3, 4, 5]
04, mệnh đề
grades = [67, 100, 87, 56]
50 sẽ chạy
Trong ví dụ dưới đây, chúng tôi cố gắng tìm một phần tử lớn hơn 6 trong danh sách. Phần tử đó không được tìm thấy, vì vậy
my_list = [1, 2, 3, 4, 5]
04 không chạy và mệnh đề
grades = [67, 100, 87, 56]
50 chạy
age = 56
79
đầu ra là
age = 56
80
Tuy nhiên, nếu câu lệnh
my_list = [1, 2, 3, 4, 5]
04 chạy, mệnh đề
grades = [67, 100, 87, 56]
50 không chạy. Chúng ta có thể thấy điều này trong ví dụ dưới đây
age = 56
81
đầu ra là
age = 56
82
🔹 Vòng lặp While trong Python
Vòng lặp While tương tự như vòng lặp for ở chỗ chúng cho phép chúng ta lặp lại một khối mã. Sự khác biệt là các vòng lặp while chạy trong khi một điều kiện là
color = "Blue"
56
Trong vòng lặp while, chúng ta xác định điều kiện, không xác định số lần lặp. The loop stops when the condition is
color = "Blue"
57
This is the general syntax of a while loop
age = 56
83
💡 Mẹo. in while loops, you must update the variables that are part of the condition to make sure that the condition will eventually become
color = "Blue"
57
For example
age = 56
84
age = 56
85
age = 56
86
Break and Continue
We can also use
my_list = [1, 2, 3, 4, 5]
04 and
my_list = [1, 2, 3, 4, 5]
05 with while loops and they both work exactly the same
my_list = [1, 2, 3, 4, 5]
04 stops the while loop immediately
my_list = [1, 2, 3, 4, 5]
05 stops the current iteration and starts the next one
For example
age = 56
87
age = 56
88
The
grades = [67, 100, 87, 56]
50 Clause
We can also add an
grades = [67, 100, 87, 56]
50 clause to a while loop. If
my_list = [1, 2, 3, 4, 5]
04 is found, the
grades = [67, 100, 87, 56]
50 clause doesn't run but if the
my_list = [1, 2, 3, 4, 5]
04 statement is not found, the
grades = [67, 100, 87, 56]
50 clause runs
In the example below, the
my_list = [1, 2, 3, 4, 5]
04 statement is not found because none of the numbers are even before the condition becomes
color = "Blue"
57, so the
grades = [67, 100, 87, 56]
50 clause runs
age = 56
89
This is the output
age = 56
90
But in this version of the example, the
my_list = [1, 2, 3, 4, 5]
04 statement is found and the
grades = [67, 100, 87, 56]
50 clause doesn't run
age = 56
91
đầu ra là
age = 56
92
Infinite While Loops
When we write and work with while loops, we can have something called an "infinite loop. " If the condition is never
color = "Blue"
57, the loop will never stop without external intervention
This usually happens when the variables in the condition are not updated properly during the execution of the loop
💡 Tip. you must make the necessary updates to these variables to make sure that the condition will eventually evaluate to
color = "Blue"
57
For example
age = 56
93
💡 Tip. to stop this process, type
my_list = [1, 2, 3, 4, 5]
45. You should see a
my_list = [1, 2, 3, 4, 5]
46 message
🔸 Nested Loops in Python
We can write for loops within for loops and while loops within while loops. These inner loops are called nested loops
💡 Tip. the inner loop runs for each iteration of the outer loop
Nested For Loops in Python
age = 56
94
If we add print statements, we can see what is happening behind the scenes
age = 56
95
The inner loop completes two iterations per iteration of the outer loop. The loop variables are updated when a new iteration starts
This is another example
age = 56
96
Nested While Loops in Python
Here we have an example of nested while loops. In this case, we have to update the variables that are part of each condition to guarantee that the loops will stop
age = 56
97
💡 Tip. we can also have for loops within while loops and while loops within for loops
🔹 Functions in Python
In Python, we can define functions to make our code reusable, more readable, and organized. This is the basic syntax of a Python function
age = 56
98
💡 Tip. a function can have zero, one, or multiple parameters
Function with No Parameters in Python
A function with no parameters has an empty pair of parentheses after its name in the function definition. For example
age = 56
99
This is the output when we call the function
name = "Nora"
00
💡 Tip. You have to write an empty pair of parentheses after the name of the function to call it
Hàm với một tham số trong Python
A function with one or more parameters has a list of parameters surrounded by parentheses after its name in the function definition
name = "Nora"
01
When we call the function, we just need to pass one value as argument and that value will be replaced where we use the parameter in the function definition
name = "Nora"
02
Here we have another example – a function that prints a pattern made with asterisks. You have to specify how many rows you want to print
name = "Nora"
03
You can see the different outputs for different values of
my_list = [1, 2, 3, 4, 5]
47
name = "Nora"
04
Functions with Two or More Parameters in Python
To define two or more parameters, we just separate them with a comma
name = "Nora"
05
Now when we call the function, we must pass two arguments
name = "Nora"
06
We can adapt the function that we just saw with one parameter to work with two parameters and print a pattern with a customized character
name = "Nora"
07
You can see the output with the customized character is that we call the function passing the two arguments
name = "Nora"
08
How to Return a Value in Python
Awesome. Now you know how to define a function, so let's see how you can work with return statements
We will often need to return a value from a function. We can do this with the
my_list = [1, 2, 3, 4, 5]
48 statement in Python. We just need to write this in the function definition
name = "Nora"
09
💡 Tip. the function stops immediately when
my_list = [1, 2, 3, 4, 5]
48 is found and the value is returned
Here we have an example
name = "Nora"
10
Now we can call the function and assign the result to a variable because the result is returned by the function
name = "Nora"
11
We can also use
my_list = [1, 2, 3, 4, 5]
48 with a conditional to return a value based on whether a condition is
color = "Blue"
56 or
color = "Blue"
57
In this example, the function returns the first even element found in the sequence
name = "Nora"
12
If we call the function, we can see the expected results
name = "Nora"
13
name = "Nora"
14
💡 Tip. if a function doesn't have a
my_list = [1, 2, 3, 4, 5]
48 statement or doesn't find one during its execution, it returns
my_list = [1, 2, 3, 4, 5]
54 by default
The recommends using return statements consistently. It mentions that we should
Be consistent in return statements. Either all return statements in a function should return an expression, or none of them should. If any return statement returns an expression, any return statements where no value is returned should explicitly state this as return None, and an explicit return statement should be present at the end of the function (if reachable)
Default Arguments in Python
We can assign default arguments for the parameters of our function. To do this, we just need to write
my_list = [1, 2, 3, 4, 5]
55 in the list of parameters
💡 Tip. The mentions that we shouldn't "use spaces around the = sign when used to indicate a keyword argument. "
In this example, we assign the default value 5 to the parameter
color = "Blue"
72. If we omit this value when we call the function, the default value will be used
name = "Nora"
15
If we call the function without this argument, you can see the output
name = "Nora"
16
We confirm that the default argument 5 was used in the operation
But we can also assign a custom value for
color = "Blue"
72 by passing a second argument
name = "Nora"
17
💡 Tip. parameters with default arguments have to be defined at the end of the list of parameters. Else, you will see this error.
my_list = [1, 2, 3, 4, 5]
58
Ở đây chúng ta có một ví dụ khác với hàm mà chúng ta đã viết để in một mẫu. Chúng tôi gán giá trị mặc định
my_list = [1, 2, 3, 4, 5]
59 cho tham số
my_list = [1, 2, 3, 4, 5]
60
name = "Nora"
18
Bây giờ chúng tôi có tùy chọn sử dụng giá trị mặc định hoặc tùy chỉnh nó
name = "Nora"
19
🔸 Đệ quy trong Python
Một hàm đệ quy là một hàm gọi chính nó. Các hàm này có trường hợp cơ sở dừng quá trình đệ quy và trường hợp đệ quy tiếp tục quá trình đệ quy bằng cách thực hiện một lệnh gọi đệ quy khác
Ở đây chúng tôi có một số ví dụ trong Python
name = "Nora"
20Hàm thừa số đệ quy
name = "Nora"
21Hàm Fibonacci
name = "Nora"
22Tìm lũy thừa theo cách đệ quy
🔹 Xử lý ngoại lệ trong Python
Lỗi hoặc sự kiện không mong muốn xảy ra trong khi chương trình đang chạy được gọi là ngoại lệ. Nhờ các yếu tố mà chúng ta sẽ thấy ngay lập tức, chúng ta có thể tránh việc kết thúc chương trình đột ngột khi điều này xảy ra
Hãy xem các loại ngoại lệ trong Python và cách chúng ta có thể xử lý chúng
Các ngoại lệ phổ biến trong Python
Đây là danh sách các ngoại lệ phổ biến trong Python và lý do tại sao chúng xảy ra
ZeroDivisionLỗi. tăng lên khi đối số thứ hai của phép chia hoặc phép toán modulo bằng 0
name = "Nora"
23
Chỉ mụcLỗi. xuất hiện khi chúng tôi cố gắng sử dụng một chỉ mục không hợp lệ để truy cập một phần tử của chuỗi
name = "Nora"
24
Lỗi chính. xuất hiện khi chúng tôi cố gắng truy cập một cặp khóa-giá trị không tồn tại vì khóa không có trong từ điển
name = "Nora"
25
NameError. raised when we use a variable that has not been defined previously
name = "Nora"
26
RecursionError. raised when the interpreter detects that the maximum recursion depth is exceeded. This usually occurs when the process never reaches the base case
In the example below, we will get a
my_list = [1, 2, 3, 4, 5]
61. The
my_list = [1, 2, 3, 4, 5]
62 function is implemented recursively but the argument passed to the recursive call is
my_list = [1, 2, 3, 4, 5]
63 instead of
my_list = [1, 2, 3, 4, 5]
64. Unless the value is already
color = "Blue"
39 or
color = "Blue"
40, the base case will not be reached because the argument is not being decremented, so the process will continue and we will get this error
name = "Nora"
27
💡 Tip. to learn more about these exceptions, I recommend reading this article from the documentation
We can use try/except in Python to catch the exceptions when they occur and handle them appropriately. This way, the program can terminate appropriately or even recover from the exception
This is the basic syntax
name = "Nora"
28
For example, if we take user input to access an element in a list, the input might not be a valid index, so an exception could be raised
name = "Nora"
29
If we enter an invalid value like 15, the output will be
name = "Nora"
30
Because the
my_list = [1, 2, 3, 4, 5]
68 clause runs. However, if the value is valid, the code in
my_list = [1, 2, 3, 4, 5]
67 will run as expected
Here we have another example
name = "Nora"
31
đầu ra là
name = "Nora"
32
How to Catch a Specific Type of Exception in Python
Instead of catching and handling all possible exceptions that could occur in the
my_list = [1, 2, 3, 4, 5]
67 clause, we could catch and handle a specific type of exception. We just need to specify the type of the exception after the
my_list = [1, 2, 3, 4, 5]
68 keyword
name = "Nora"
33
For example
name = "Nora"
34
name = "Nora"
35
How to Assign a Name to the Exception Object in Python
We can specify a name for the exception object by assigning it to a variable that we can use in the
my_list = [1, 2, 3, 4, 5]
68 clause. This will let us access its description and attributes
97 clause if we need to run code that should always run, even if an exception is raised in
my_list = [1, 2, 3, 4, 5]
67
For example
name = "Nora"
45
If both values are valid, the output is the result of the division and
name = "Nora"
46
And if an exception is raised because
color = "Blue"
72 is
color = "Blue"
39, we see
name = "Nora"
47
The
my_list = [1, 2, 3, 4, 5]
97 clause always runs
💡 Tip. this clause can be used, for example, to close files even if the code throws an exception
🔸 Object-Oriented Programming in Python
In Object-Oriented Programming (OOP), we define classes that act as blueprints to create objects in Python with attributes and methods (functionality associated with the objects)
This is a general syntax to define a class
name = "Nora"
48
💡 Tip.
print("Hello, World!")
03 refers to an instance of the class (an object created with the class blueprint)
As you can see, a class can have many different elements so let's analyze them in detail
Class Header
The first line of the class definition has the
print("Hello, World!")
04 keyword and the name of the class
name = "Nora"
49
name = "Nora"
50
name = "Nora"
51
💡 Tip. If the class inherits attributes and methods from another class, we will see the name of the class within parentheses
name = "Nora"
52
name = "Nora"
53
name = "Nora"
54
In Python, we write class name in Upper Camel Case (also known as Pascal Case), in which each word starts with an uppercase letter. For example.
print("Hello, World!")
05
print("Hello, World!")06 and instance attributes
We are going to use the class to create object in Python, just like we build real houses from blueprints
The objects will have attributes that we define in the class. Usually, we initialize these attributes in
print("Hello, World!")
06. This is a method that runs when we create an instance of the class
Đây là cú pháp chung
name = "Nora"
55
We specify as many parameters as needed to customize the values of the attributes of the object that will be created
Here is an example of a
print("Hello, World!")
08 class with this method
name = "Nora"
56
💡 Tip. notice the double leading and trailing underscore in the name
print("Hello, World!")
06
How to Create an Instance
To create an instance of
print("Hello, World!")
08, we need to specify the name and age of the dog instance to assign these values to the attributes
name = "Nora"
57
Great. Now we have our instance ready to be used in the program
Some classes will not require any arguments to create an instance. In that case, we just write empty parentheses. For example
name = "Nora"
58
To create an instance
name = "Nora"
59
💡 Tip.
print("Hello, World!")
03 is like a parameter that acts "behind the scenes", so even if you see it in the method definition, you shouldn't consider it when you pass the arguments
Default Arguments
We can also assign default values for the attributes and give the option to the user if they would like to customize the value
In this case, we would write
print("Hello, World!")
12 in the list of parameters
This is an example
name = "Nora"
60
Now we can create a
print("Hello, World!")
13 instance with the default value for the radius by omitting the value or customize it by passing a value
name = "Nora"
61
How to Get an Instance Attribute
To access an instance attribute, we use this syntax
name = "Nora"
62
For example
name = "Nora"
63
How to Update an Instance Attribute
To update an instance attribute, we use this syntax
name = "Nora"
64
For example
name = "Nora"
65
How to Remove an Instance Attribute
Để xóa một thuộc tính thể hiện, chúng tôi sử dụng cú pháp này
name = "Nora"
66
For example
name = "Nora"
67
How to Delete an Instance
Tương tự, chúng ta có thể xóa một thể hiện bằng cách sử dụng
color = "Blue"
80
name = "Nora"
68
Public vs. Non-Public Attributes in Python
Trong Python, chúng tôi không có công cụ sửa đổi quyền truy cập để hạn chế chức năng truy cập vào các thuộc tính cá thể, vì vậy chúng tôi dựa vào quy ước đặt tên để chỉ định điều này
Ví dụ: bằng cách thêm dấu gạch dưới ở đầu, chúng tôi có thể báo hiệu cho các nhà phát triển khác rằng một thuộc tính có nghĩa là không công khai
For example
name = "Nora"
69
Tài liệu Python đề cập
Chỉ sử dụng một dấu gạch dưới hàng đầu cho các phương thức không công khai và các biến thể hiện
Luôn quyết định xem các phương thức và biến thể hiện của một lớp (gọi chung là. "thuộc tính") phải công khai hoặc không công khai. Nếu nghi ngờ, hãy chọn không công khai;
Các thuộc tính không công khai là những thuộc tính không dành cho bên thứ ba sử dụng; . -
Tuy nhiên, như các tài liệu cũng đề cập đến
Chúng tôi không sử dụng thuật ngữ "riêng tư" ở đây, vì không có thuộc tính nào thực sự riêng tư trong Python (không có số lượng công việc không cần thiết nói chung). -
💡 Mẹo. về mặt kỹ thuật, chúng tôi vẫn có thể truy cập và sửa đổi thuộc tính nếu chúng tôi thêm dấu gạch dưới ở đầu vào tên của nó, nhưng chúng tôi không nên
Thuộc tính lớp trong Python
Thuộc tính lớp được chia sẻ bởi tất cả các phiên bản của lớp. Tất cả họ đều có quyền truy cập vào thuộc tính này và họ cũng sẽ bị ảnh hưởng bởi bất kỳ thay đổi nào được thực hiện đối với các thuộc tính này
name = "Nora"
70
💡 Mẹo. thông thường, chúng được viết trước phương thức
print("Hello, World!")
06
Cách lấy thuộc tính lớp
Để lấy giá trị của thuộc tính lớp, chúng tôi sử dụng cú pháp này
name = "Nora"
71
For example
name = "Nora"
72
💡 Mẹo. Bạn cũng có thể sử dụng cú pháp này trong lớp
Cách cập nhật thuộc tính lớp
Để cập nhật một thuộc tính lớp, chúng tôi sử dụng cú pháp này
name = "Nora"
73
For example
name = "Nora"
74
Cách xóa thuộc tính lớp
Chúng tôi sử dụng
color = "Blue"
80 để xóa một thuộc tính lớp. Ví dụ
name = "Nora"
75
Làm thế nào để xác định phương pháp
Các phương thức đại diện cho chức năng của các thể hiện của lớp
💡 Mẹo. Các phương thức của thể hiện có thể hoạt động với các thuộc tính của thể hiện đang gọi phương thức nếu chúng ta viết
print("Hello, World!")
17 trong định nghĩa phương thức
Đây là cú pháp cơ bản của một phương thức trong một lớp. Chúng thường nằm bên dưới
print("Hello, World!")
06
name = "Nora"
76
Chúng có thể có 0, 1 hoặc nhiều tham số nếu cần (giống như hàm. ) nhưng các phương thức thể hiện phải luôn có
print("Hello, World!")
03 làm tham số đầu tiên
Ví dụ, đây là một phương thức
print("Hello, World!")
20 không có tham số (ngoài
print("Hello, World!")
03)
name = "Nora"
77
Để gọi phương thức này, chúng tôi sử dụng cú pháp này
name = "Nora"
78
For example
name = "Nora"
79
Ở đây chúng ta có một lớp
print("Hello, World!")
22 với một phương thức
print("Hello, World!")
23 với một tham số
name = "Nora"
80
Để gọi phương thức
name = "Nora"
81
💡 Mẹo. để thêm nhiều tham số hơn, chỉ cần tách chúng bằng dấu phẩy. Nên thêm dấu cách sau dấu phẩy
Thuộc tính, Getters và Setters trong Python
Getters và setters là các phương thức mà chúng ta có thể xác định để lấy và đặt giá trị của một thuộc tính thể hiện tương ứng. Họ làm việc như những người trung gian để "bảo vệ" các thuộc tính khỏi những thay đổi trực tiếp
Trong Python, chúng tôi thường sử dụng các thuộc tính thay vì getters và setters. Hãy xem làm thế nào chúng ta có thể sử dụng chúng
Để xác định một thuộc tính, chúng ta viết một phương thức với cú pháp này
name = "Nora"
82
Phương thức này sẽ hoạt động như một getter, vì vậy nó sẽ được gọi khi chúng ta cố gắng truy cập giá trị của thuộc tính
Bây giờ, chúng ta cũng có thể muốn định nghĩa một setter
name = "Nora"
83
Và một người xóa để xóa thuộc tính
name = "Nora"
84
💡 Mẹo. bạn có thể viết bất kỳ mã nào bạn cần trong các phương thức này để lấy, đặt và xóa một thuộc tính. Nên giữ chúng càng đơn giản càng tốt
This is an example
name = "Nora"
85
Nếu chúng tôi thêm các câu lệnh in mô tả, chúng tôi có thể thấy rằng chúng được gọi khi chúng tôi thực hiện thao tác của chúng
name = "Nora"
86
🔹 Cách làm việc với tệp trong Python
Làm việc với các tệp là rất quan trọng để tạo các chương trình mạnh mẽ. Hãy xem cách bạn có thể làm điều này trong Python
Cách đọc tệp trong Python
Trong Python, nên sử dụng câu lệnh
print("Hello, World!")
24 để làm việc với tệp vì nó chỉ mở tệp khi chúng ta cần và nó tự động đóng tệp khi quá trình hoàn tất
Để đọc một tập tin, chúng tôi sử dụng cú pháp này
name = "Nora"
87
Chúng tôi cũng có thể chỉ định rằng chúng tôi muốn mở tệp ở chế độ đọc bằng một
print("Hello, World!")
25
name = "Nora"
88
Nhưng đây đã là chế độ mặc định để mở một tập tin, vì vậy chúng ta có thể bỏ qua nó như trong ví dụ đầu tiên
This is an example
name = "Nora"
89
hoặc
name = "Nora"
90
💡 Mẹo. đúng rồi. Chúng ta có thể lặp qua các dòng của tệp bằng vòng lặp for. Đường dẫn tệp có thể liên quan đến tập lệnh Python mà chúng tôi đang chạy hoặc nó có thể là đường dẫn tuyệt đối
Cách ghi vào tệp bằng Python
Có hai cách để ghi vào một tập tin. Bạn có thể thay thế toàn bộ nội dung của tệp trước khi thêm nội dung mới hoặc nối thêm vào nội dung hiện có
name = "Nora"
91
Để thay thế hoàn toàn nội dung, chúng tôi sử dụng chế độ
print("Hello, World!")
26, vì vậy chúng tôi chuyển chuỗi này làm đối số thứ hai cho
print("Hello, World!")
27. Chúng tôi gọi phương thức
print("Hello, World!")
28 trên đối tượng tệp truyền nội dung mà chúng tôi muốn viết dưới dạng đối số
For example
name = "Nora"
92
Khi bạn chạy chương trình, một tệp mới sẽ được tạo nếu nó chưa tồn tại trong đường dẫn mà chúng tôi đã chỉ định
Đây sẽ là nội dung của tập tin
name = "Nora"
93
Cách nối vào tệp trong Python
Tuy nhiên, nếu bạn muốn nối thêm nội dung, thì bạn cần sử dụng chế độ
color = "Blue"
79
name = "Nora"
94
For example
name = "Nora"
95
Thay đổi nhỏ này sẽ giữ nội dung hiện có của tệp và nó sẽ thêm nội dung mới vào cuối
Nếu chúng ta chạy lại chương trình, các chuỗi này sẽ được thêm vào cuối tệp
name = "Nora"
96
Cách xóa tệp trong Python
Để xóa một tệp có tập lệnh của chúng tôi, chúng tôi có thể sử dụng mô-đun
print("Hello, World!")
30. Bạn nên kiểm tra với một điều kiện nếu tệp tồn tại trước khi gọi hàm
print("Hello, World!")
31 từ mô-đun này
name = "Nora"
97
For example
name = "Nora"
98
Bạn có thể nhận thấy dòng đầu tiên có nội dung
print("Hello, World!")
32. Đây là một tuyên bố nhập khẩu. Hãy xem tại sao chúng lại hữu ích và bạn có thể làm việc với chúng như thế nào
🔸 Nhập câu lệnh trong Python
Sắp xếp mã của bạn thành nhiều tệp khi chương trình của bạn tăng kích thước và độ phức tạp là một phương pháp hay. Nhưng chúng ta cần tìm cách kết hợp các tệp này để làm cho chương trình hoạt động chính xác và đó chính xác là những gì câu lệnh nhập thực hiện
Bằng cách viết một câu lệnh nhập, chúng ta có thể nhập một mô-đun (một tệp chứa các định nghĩa và câu lệnh Python) vào một tệp khác
Đây là những lựa chọn thay thế khác nhau cho báo cáo nhập khẩu
Thay thế đầu tiên
name = "Nora"
99
For example
color = "Blue"
00
💡 Mẹo.
print("Hello, World!")
33 là một mô-đun Python tích hợp
Nếu chúng ta sử dụng câu lệnh nhập này, chúng ta sẽ cần thêm tên của mô-đun trước tên của hàm hoặc phần tử mà chúng ta đang đề cập đến trong mã của mình
color = "Blue"
01
Chúng tôi đề cập rõ ràng trong mã của mình mô-đun mà phần tử thuộc về
Phương án thứ hai
color = "Blue"
02
For example
color = "Blue"
03
Trong mã của chúng tôi, chúng tôi có thể sử dụng tên mới mà chúng tôi đã gán thay vì tên ban đầu của mô-đun
color = "Blue"
04
Phương án thứ ba
color = "Blue"
05
For example
color = "Blue"
06
Với câu lệnh nhập này, chúng ta có thể gọi hàm trực tiếp mà không cần chỉ định tên của mô-đun
color = "Blue"
07
Phương án thứ tư
color = "Blue"
08
For example
color = "Blue"
09
Với câu lệnh nhập này, chúng ta có thể gán tên mới cho phần tử được nhập từ mô-đun
color = "Blue"
10
Thay thế thứ năm
color = "Blue"
11
Câu lệnh này nhập tất cả các thành phần của mô-đun và bạn có thể tham khảo chúng trực tiếp bằng tên của chúng mà không cần chỉ định tên của mô-đun
For example
color = "Blue"
12
💡 Mẹo. loại câu lệnh nhập này có thể khiến chúng tôi khó biết phần tử nào thuộc về mô-đun nào, đặc biệt khi chúng tôi nhập phần tử từ nhiều mô-đun
Theo
Wildcard imports (from import *) should be avoided, as they make it unclear which names are present in the namespace, confusing both readers and many automated tools.
🔹 Hiểu danh sách và từ điển trong Python
Một tính năng thực sự hay của Python mà bạn nên biết là hiểu danh sách và từ điển. Đây chỉ là cách để tạo danh sách và từ điển gọn nhẹ hơn
Liệt kê mức độ hiểu trong Python
Cú pháp được sử dụng để xác định cách hiểu danh sách thường tuân theo một trong bốn mẫu sau
color = "Blue"
13
color = "Blue"
14_______0_______15
color = "Blue"
16
💡 Mẹo. bạn chỉ nên sử dụng chúng khi chúng không làm cho mã của bạn khó đọc và khó hiểu hơn
Ở đây chúng tôi có một số ví dụ
color = "Blue"
17
Liệt kê hiểu vs. Biểu thức trình tạo trong Python
Khả năng hiểu danh sách được xác định bằng dấu ngoặc vuông
color = "Blue"
58. Điều này khác với các biểu thức trình tạo, được xác định bằng dấu ngoặc đơn
color = "Blue"
65. Chúng trông giống nhau nhưng chúng khá khác nhau. Hãy xem tại sao
Khả năng hiểu danh sách tạo ra toàn bộ chuỗi cùng một lúc và lưu trữ nó trong bộ nhớ
Các biểu thức trình tạo mang lại từng phần tử một khi chúng được yêu cầu
Chúng ta có thể kiểm tra điều này với mô-đun
print("Hello, World!")
36. Trong ví dụ bên dưới, bạn có thể thấy kích thước của chúng trong bộ nhớ rất khác nhau
color = "Blue"
18
Chúng ta có thể sử dụng các biểu thức trình tạo để lặp lại trong vòng lặp for và lấy từng phần tử một. Nhưng nếu chúng ta cần lưu trữ các phần tử trong danh sách, thì chúng ta nên sử dụng khả năng hiểu danh sách
Hiểu từ điển trong Python
Bây giờ chúng ta hãy đi sâu vào hiểu từ điển. Cú pháp cơ bản mà chúng ta cần sử dụng để xác định cách hiểu từ điển là
color = "Blue"
19_______0_______20
Ở đây chúng tôi có một số ví dụ về hiểu từ điển
color = "Blue"
21
Đây là một ví dụ với điều kiện trong đó chúng tôi lấy một từ điển hiện có và tạo một từ điển mới chỉ với những học sinh đạt điểm đậu lớn hơn hoặc bằng 60
color = "Blue"
22
Tôi thực sự hy vọng bạn thích bài viết này và thấy nó hữu ích. Bây giờ bạn đã biết cách viết và làm việc với các thành phần quan trọng nhất của Python
⭐ Đăng ký kênh YouTube của tôi và theo dõi tôi trên Twitter để tìm thêm các mẹo và hướng dẫn viết mã. Hãy xem khóa học trực tuyến của tôi Bài tập Python cho người mới bắt đầu. Giải quyết hơn 100 thử thách viết mã
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Estefania Cassingena Navone
Nhà phát triển, nhà văn kỹ thuật và người tạo nội dung @freeCodeCamp. Tôi chạy freeCodeCamp. org Kênh YouTube Español
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu
Một ví dụ về mã hóa cứng là gì?
(1) Một phần của chương trình đã được khai báo là không thay đổi. Ví dụ: một hằng số được mã hóa cứng và giữ nguyên trong suốt quá trình thực thi chương trình. (2) Mã lập trình giải quyết vấn đề nhưng kém linh hoạt hơn đối với các thay đổi trong tương lai.
Mã hóa cứng trong Python có nghĩa là gì?
Mã hóa cứng (cũng là mã hóa cứng hoặc mã hóa cứng) là phương pháp phát triển phần mềm nhúng dữ liệu trực tiếp vào mã nguồn của chương trình hoặc đối tượng thực thi khác, trái ngược với việc lấy dữ liệu từ các nguồn bên ngoài hoặc tạo dữ liệu trong thời gian chạy
Mã hóa bằng Python khó đến mức nào?
Không, Python không khó học đối với hầu hết mọi người. Trên thực tế, Python được coi là một trong những ngôn ngữ lập trình dễ học nhất . Mặc dù bất kỳ ai cũng có thể học lập trình Python — ngay cả khi bạn chưa bao giờ viết một dòng mã Python nào — nhưng bạn nên mong đợi rằng việc này sẽ mất thời gian và bạn nên mong đợi những khoảnh khắc thất vọng.
Mã hóa cứng trông như thế nào?
"Mã cứng" có nghĩa là thứ mà bạn muốn nhúng vào chương trình của mình hoặc bất kỳ dự án nào không thể thay đổi trực tiếp . Ví dụ: nếu bạn đang sử dụng máy chủ cơ sở dữ liệu và mã cứng để kết nối cơ sở dữ liệu với dự án của bạn, thì người dùng không thể thay đổi điều đó.