Nếu bạn chưa bao giờ viết mã hoặc thực hiện bất kỳ chương trình máy tính nào, toàn bộ khái niệm này có vẻ khó khăn lúc đầu. Tuy nhiên, trong khi phát triển phần mềm tiên tiến chắc chắn là vô cùng phức tạp, lập trình nói chung chỉ dựa trên một vài khái niệm chính. Bằng cách hiểu những khái niệm này ngay từ đầu, bạn sẽ ít bị đe dọa bởi tất cả các cú pháp cụ thể mà bạn chưa biết. Miễn là bạn có thể diễn đạt những gì bạn muốn chương trình thực hiện một cách chung chung, bạn luôn có thể tìm kiếm trên internet các ví dụ về cách sử dụng cú pháp thích hợp. Trên thực tế, đây là cách hầu hết mọi người học viết mã ngày nay. Hơn nữa, mặc dù mỗi ngôn ngữ lập trình có cú pháp riêng, nhưng hầu hết chúng đều tuân theo các nguyên tắc cơ bản giống nhau, vì vậy việc học các nguyên tắc này sẽ hữu ích cho dù bạn sử dụng ngôn ngữ nào
Phần đầu tiên của cú pháp Python mà chúng ta sẽ trình bày là 'bình luận' cực kỳ quan trọng. Bạn chỉ định một nhận xét bằng cách bắt đầu một dòng bằng '#', lệnh này cho Python bỏ qua mọi thứ trên dòng đó sau ký hiệu '#'. Hãy thử nhập các dòng mã sau vào trình chỉnh sửa của bạn và thực thi tập lệnh
#this is a comment
print 'this is code' #this is also a comment
If you run this code you can see that it prints out ‘this is code’ because it executes the line . Meanwhile it ignores both comments occurring after the ’#’ symbol. Although every language specifies them differently, comments are an important part of every programming language, as they allow the developer to add extra information and description to their code which is not strictly related to its execution.
Bây giờ chúng ta đã biết những điều cơ bản, hãy xem cách chúng ta có thể triển khai năm yếu tố cơ bản của lập trình máy tính trong Python, bắt đầu với các biến
BiếnBạn có thể coi các biến như các thùng chứa lưu trữ một số dạng dữ liệu. Bạn có thể sử dụng các biến trong Python để lưu trữ các mẩu thông tin, sau đó gọi lại chúng khi bạn cần. Các biến có thể được khai báo và gán tự do trong Python, trái ngược với các ngôn ngữ khác, nơi bạn phải nêu rõ loại dữ liệu mà chúng sẽ lưu trữ. Để gán giá trị cho một biến, hãy sử dụng toán tử '='
a = 2
Ở đây, 'a' là tên biến của tôi và số '2' là dữ liệu tôi đang gán cho nó. Từ đây trở đi, 'a' sẽ được liên kết với số '2', cho đến khi nó được gán một giá trị khác hoặc chương trình kết thúc. Hãy thử mã này
a = 2
b = 3
print a + b
Điều này sẽ in ra số 5, vì 'a' đang lưu số '2' và 'b' đang lưu số '3'. Bạn có thể sử dụng nhiều toán tử số học phổ biến khác theo cách tương tự. Một số phổ biến nhất là
- + [bổ sung]
- - [phép trừ]
- * [phép nhân]
- / [phân công]
- ** [nâng lên thành lũy thừa]
- % [mô-đun]
Trong Python, bạn có thể đặt tên bất kỳ cho các biến của mình, miễn là nó bắt đầu bằng một chữ cái, không chứa khoảng trắng và không phải là từ khóa dành riêng [chẳng hạn như 'print']. Trong thực tế, để nâng cao khả năng đọc, hầu hết các lập trình viên đều tuân theo một số quy ước đặt tên biến. Một cách tiếp cận phổ biến là sử dụng 'trường hợp lạc đà' để làm cho các biến bao gồm nhiều từ có thể đọc được mà không có dấu cách
withCamelCaseTheFirstWordIsLowerCaseWhileAllSubsequentWordsAreUpperCase
Người ta cũng thường thay thế dấu gạch dưới [’_’] cho khoảng trắng trong tên biến. Nói chung, tên biến không nên quá dài, nhưng nên sai ở khía cạnh mô tả hơn là ngắn gọn để tạo điều kiện dễ đọc cho mã. Chẳng hạn, nếu bạn đang theo dõi số lượng quả việt quất, tốt hơn nên gọi biến là 'numQuả việt quất' thay vì chỉ đơn giản là 'n' hoặc 'b'
Các biến có thể chứa dữ liệu thuộc các loại khác nhau. Mặc dù Python không bắt bạn khai báo rõ ràng loại dữ liệu bạn sẽ sử dụng, nhưng điều quan trọng là phải biết các loại vì chúng sẽ hoạt động khác nhau trong mã của bạn. Mặc dù có nhiều loại dữ liệu khác nhau được Python hỗ trợ, phổ biến nhất là
- int [có nghĩa là số nguyên hoặc số nguyên]
- float [có nghĩa là dấu phẩy động hoặc số thập phân]
- bool [có nghĩa là boolean hoặc True/False]
- str [có nghĩa là chuỗi hoặc 'một đoạn văn bản']
Trong Python, bạn có thể sử dụng hàm type[] để lấy kiểu cho bất kỳ phần dữ liệu nào. Hãy thử chạy đoạn mã sau
print type[12]
print type[12.1]
print type[True]
print type['blueberries']
bạn có thể thấy rằng nó in bốn loại được mô tả ở trên. Cũng lưu ý cách cụ thể mà dữ liệu phải được ghi để Python không nhầm lẫn nó với tên của một biến. Các số có thể được viết trực tiếp vì bạn không thể đặt tên biến chỉ bằng một số. Booleans phải được viết hoa [True hoặc False] vì đây là những từ khóa dành riêng trong Python [chú ý màu cú pháp]. Các chuỗi luôn được chứa trong dấu ngoặc kép. Bạn có thể sử dụng dấu ngoặc đơn [’] hoặc dấu ngoặc kép [“] nhưng chúng phải khớp nhau ở cả hai bên của chuỗi. Nếu bạn cố gắng viết
print type[blueberries]
không có dấu ngoặc kép, bạn sẽ gặp lỗi sau
NameError: name 'blueberries' is not defined
nói với bạn rằng tên 'quả việt quất' không được định nghĩa là một biến. Tuy nhiên, nếu bạn viết
blueberries = 5
print type[blueberries]
nó sẽ cho bạn biết đó là một số nguyên vì 'quả việt quất' hiện là một biến có một số nguyên được lưu trữ bên trong nó
Trong Python, nhiều toán tử bị 'quá tải', có nghĩa là chúng hoạt động khác nhau tùy thuộc vào loại dữ liệu mà chúng được sử dụng trên đó. Chẳng hạn, nếu chúng ta gõ
print 2 + 2
chúng tôi nhận được '4'. Khi cho hai số, toán tử '+' thực hiện phép cộng số học. Tuy nhiên, nếu chúng ta gõ
chúng tôi nhận được 'Đầu tiên Cuối cùng'. Khi được cung cấp hai chuỗi, toán tử '+' sẽ 'nối' hoặc hợp nhất chúng lại với nhau thành một chuỗi. Quá tải rất hữu ích vì nó tạo ra mã rõ ràng và dễ đọc mà không có chức năng đặc biệt cho từng loại biến. Tuy nhiên, bạn phải cẩn thận vì các loại biến khác nhau không khớp có thể dẫn đến sai sót. Ví dụ, dòng này
numBerries = 5
print 'Number of Blueberries: ' + numBerries
sẽ tạo ra lỗi vì nó đang cố thực hiện nối một chuỗi và một số nguyên. Thay vào đó, bạn có thể sử dụng hàm str[] để chuyển đổi 5 thành chuỗi trước khi sử dụng nó với toán tử '+'
a = 2
0biến nhiều phần
Ngoài việc lưu trữ các phần dữ liệu đơn lẻ, bạn cũng có thể sử dụng các biến để lưu trữ nhiều phần dữ liệu, sau đó truy cập chúng theo cách có cấu trúc. Có hai loại biến nhiều phần cơ bản
- danh sách [đôi khi được gọi là mảng]
- từ điển [đôi khi được gọi là cặp khóa-giá trị]
Một danh sách có thể được tạo bằng cách sử dụng dấu ngoặc vuông và phân tách các phần tử riêng lẻ bằng dấu phẩy như vậy
a = 2
1Để truy xuất một đối tượng từ một danh sách như vậy, một lần nữa bạn sử dụng dấu ngoặc vuông, nhưng lần này được thêm vào cuối tên biến. Bên trong ngoặc bạn đặt chỉ mục hoặc vị trí của phần dữ liệu bạn muốn. Ví dụ
a = 2
2Lưu ý rằng giống như trong tất cả các ngôn ngữ, việc đếm bắt đầu bằng '0', vì vậy nếu bạn muốn mục đầu tiên trong danh sách, bạn sử dụng [0], mục thứ hai [1], v.v. Không giống như nhiều ngôn ngữ khác, Python sẽ cho phép bạn kết hợp các loại dữ liệu khác nhau trong một danh sách duy nhất, vì vậy điều gì đó như thế này là hoàn toàn hợp pháp
a = 2
3Bạn cũng có thể sử dụng một '. ’ trong dấu ngoặc vuông để lấy phạm vi giá trị từ danh sách, danh sách này sẽ tạo thành danh sách mới
a = 2
4Bạn thậm chí có thể lập chỉ mục ngược bằng cách sử dụng các chỉ số âm. Chẳng hạn, điều này sẽ in ra mục cuối cùng trong danh sách
a = 2
5Có nhiều chức năng khác nhau để giúp bạn làm việc với danh sách. Phổ biến nhất là. append[], thêm một giá trị vào cuối danh sách
a = 2
6Bạn thậm chí có thể bắt đầu với một danh sách trống và dần dần lấp đầy danh sách đó bằng các phần bổ sung
a = 2
7Đối với các chức năng danh sách khác, bạn có thể tham khảo tài liệu Python
Danh sách cực kỳ hữu ích để lưu trữ nhiều phần dữ liệu trong một trình tự cụ thể. Tuy nhiên, đôi khi bạn muốn có thể gọi lại một đoạn dữ liệu mà không biết vị trí chính xác của nó trong danh sách. Đối với điều này, bạn có thể sử dụng từ điển. Từ điển lưu trữ nhiều mẩu dữ liệu bằng cách buộc chúng vào các khóa duy nhất. Sau đó, bạn có thể sử dụng các phím để gọi lại dữ liệu. Vì lý do này, các mục từ điển thường được gọi là cặp khóa-giá trị
Để tạo từ điển, bạn sử dụng dấu ngoặc nhọn, tách các khóa và giá trị bằng '. ', và nhiều mục với ','
a = 2
8Trong từ điển này, các số nguyên 1, 2 và 3 được gắn với các khóa duy nhất của chúng, 'a', 'b' và 'c'. Lưu ý rằng khóa phải là chuỗi, trong khi giá trị có thể là bất kỳ loại dữ liệu nào. Để truy xuất một phần dữ liệu từ từ điển này, bạn có thể sử dụng lại ký hiệu dấu ngoặc vuông, lần này chuyển vào một khóa thay vì chỉ mục
a = 2
9Để thêm các mục nhập vào từ điển, bạn chỉ cần chỉ định dữ liệu liên quan đến một khóa cụ thể bằng cách sử dụng toán tử '=' và cùng một cú pháp dấu ngoặc vuông
a = 2
b = 3
print a + b
0Cũng giống như danh sách, bạn có thể bắt đầu với một từ điển trống và xây dựng nó theo thời gian
a = 2
b = 3
print a + b
1Ngoài ra còn có nhiều chức năng hữu ích để làm việc với từ điển, bao gồm chức năng. keys[] hàm trả về danh sách tất cả các khóa của từ điển
a = 2
b = 3
print a + b
2Đối với các chức năng hữu ích khác, bạn có thể tham khảo vị trí thích hợp trong tài liệu
Cuối cùng, các giá trị trong danh sách và từ điển cũng không bị giới hạn ở các phần dữ liệu đơn lẻ và cũng có thể là danh sách và từ điển. Điều này cho phép bạn xây dựng các cấu trúc dữ liệu rất phức tạp có thể phù hợp với nhu cầu của bất kỳ dự án nào. Bạn có thể truy cập các mục trong cấu trúc phân cấp như vậy bằng cách xâu chuỗi các yêu cầu lại với nhau bằng dấu ngoặc vuông. Đây là một ví dụ
a = 2
b = 3
print a + b
3JSON, một trong những định dạng dữ liệu được triển khai và dễ làm việc nhất, thực sự dựa trên khái niệm danh sách lồng nhau và các cặp khóa-giá trị này và có sự hỗ trợ tuyệt vời trong hầu hết mọi ngôn ngữ lập trình, bao gồm cả Python và JavaScript. Chúng tôi sẽ bắt đầu triển khai nó sau trong khóa học, nhưng bây giờ bạn có thể xem tài liệu của nó tại đây. http. //json. tổ chức/