Python - Syntax

Python - Syntax

Cú pháp Python định nghĩa một tập hợp các quy tắc được sử dụng để tạo ra một chương trình Python. Cú pháp của ngôn ngữ lập trình Python có nhiều điểm tương đồng với ngôn ngữ lập trình Perl, C và Java. Tuy nhiên, vẫn có một số điểm khác biệt rõ ràng giữa các ngôn ngữ này.

First Python Program

Hãy để chúng ta thực hiện một Python program to print "Hello, World!" trong hai chế độ khác nhau của lập trình Python. (a) Chế độ lập trình tương tác (b) Chế độ lập trình script.

Python - Interactive Mode Programming

Chúng ta có thể gọi một Python interpreter từ dòng lệnh bằng cách gõ python tại dấu nhắc lệnh như sau −

$ python3
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

Ở đây >>> biểu thị một Dấu nhắc Lệnh Python, nơi bạn có thể gõ các lệnh của mình. Hãy gõ văn bản sau tại dấu nhắc Python và nhấn Enter −

>>> print ("Hello, World!")

Nếu bạn đang chạy phiên bản Python cũ hơn, chẳng hạn như Python 2.4.x, thì bạn sẽ cần sử dụng câu lệnh print mà không có dấu ngoặc như trong print "Hello, World!" . Tuy nhiên, trong phiên bản Python 3.x, điều này sẽ tạo ra kết quả sau −

Hello, World!

Python - Script Mode Programming

Chúng ta có thể gọi Python interpreter với một tham số kịch bản, điều này bắt đầu việc thực thi kịch bản và tiếp tục cho đến khi kịch bản hoàn thành. Khi kịch bản hoàn thành, trình thông dịch không còn hoạt động nữa.

Hãy để chúng tôi viết một chương trình Python đơn giản trong một tập tin kịch bản, mà là một tệp văn bản đơn giản. Các tệp Python có phần mở rộng .py . Gõ mã nguồn sau vào một tệp test.py

print ("Hello, World!")

Chúng tôi giả định rằng bạn đã có trình thông dịch Python path set in PATH variable . Bây giờ, hãy thử chạy chương trình này như sau −

$ python3 test.py

Điều này tạo ra kết quả sau −

Hello, World!

Hãy thử một cách khác để thực thi một tập tin Python. Dưới đây là tập tin test.py đã được chỉnh sửa −

#!/usr/bin/python3

print ("Hello, World!")

Chúng tôi giả định rằng bạn có trình thông dịch Python có sẵn trong thư mục /usr/bin. Bây giờ, hãy thử chạy chương trình này như sau −

$ chmod +x test.py     # This is to make file executable
$./test.py

Điều này tạo ra kết quả sau −

Hello, World!

Python Identifiers

Một định danh trong Python là một tên được sử dụng để xác định một variable , function , class , module hoặc đối tượng khác. Một định danh bắt đầu bằng một chữ cái từ A đến Z hoặc từ a đến z hoặc một dấu gạch dưới (_) theo sau là không hoặc nhiều chữ cái, dấu gạch dưới và chữ số (0 đến 9).

Python không cho phép các ký tự dấu câu như @, $, và % trong các định danh.

Python is a case sensitive programming language. Thus, Manpower and manpower are two different identifiers in Python.

Dưới đây là quy tắc đặt tên cho các định danh trong Python −

  • Tên lớp trong Python bắt đầu bằng chữ cái viết hoa. Tất cả các định danh khác bắt đầu bằng chữ cái viết thường.

  • Bắt đầu một định danh với một dấu gạch dưới phía trước cho thấy rằng định danh đó là một định danh private .

  • Bắt đầu một định danh với hai dấu gạch dưới ở đầu cho thấy đây là một định danh private mạnh mẽ.

  • Nếu định danh cũng kết thúc bằng hai dấu gạch dưới, thì định danh đó là một tên đặc biệt language-defined .

Python Reserved Words

Danh sách dưới đây hiển thị các từ khóa trong Python. Đây là những từ được dự trữ và bạn không thể sử dụng chúng làm hằng số, biến hoặc bất kỳ tên định danh nào khác. Tất cả các từ khóa trong Python đều chứa các chữ cái viết thường.

and as assert
break class continue
def del elif
else except False
finally for from
global if import
in is lambda
None nonlocal not
or pass raise
return True try
while with yield

Python Lines and Indentation

Lập trình Python không sử dụng dấu ngoặc để chỉ các khối mã cho định nghĩa lớp và hàm hoặc điều khiển luồng. Các khối mã được chỉ định bởi line indentation , điều này được thực thi một cách nghiêm ngặt.

Số lượng khoảng trắng trong việc thụt lề là biến đổi, nhưng tất cả các câu lệnh trong khối phải được thụt lề cùng một mức. Ví dụ −

if True:
   print ("True")
else:
   print ("False")

Tuy nhiên, khối lệnh sau sẽ gây ra lỗi −

if True:
   print ("Answer")
   print ("True")
else:
   print ("Answer")
   print ("False")

Vì vậy, trong Python, tất cả các dòng liên tiếp được thụt lề với cùng một số khoảng trắng sẽ tạo thành một khối. Ví dụ sau đây có nhiều khối lệnh khác nhau -

Do not try to understand the logic at this point of time. Just make sure you understood various blocks even if they are without braces.
import sys

try:
   # open file stream
   file = open(file_name, "w")
except IOError:
   print "There was an error writing to", file_name
   sys.exit()
print "Enter '", file_finish,
print "' When finished"
while file_text != file_finish:
   file_text = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_input("Enter filename: ")
if len(file_name) == 0:
   print "Next time please enter something"
   sys.exit()
try:
   file = open(file_name, "r")
except IOError:
   print "There was an error reading file"
   sys.exit()
file_text = file.read()
file.close()
print file_text

Python Multi-Line Statements

Câu lệnh trong Python thường kết thúc bằng một dòng mới. Tuy nhiên, Python cho phép sử dụng ký tự tiếp tục dòng (\) để chỉ ra rằng dòng đó sẽ tiếp tục. Ví dụ −

total = item_one + \
        item_two + \
        item_three

Các câu lệnh nằm trong dấu [], {}, hoặc () không cần sử dụng ký tự tiếp tục dòng. Ví dụ, câu lệnh sau hoạt động tốt trong Python −

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Quotations in Python

Python chấp nhận dấu nháy đơn ('), dấu nháy kép (") và dấu nháy ba (''' hoặc """) để đánh dấu các chuỗi ký tự, miễn là cùng một loại dấu nháy bắt đầu và kết thúc chuỗi.

Dấu nháy ba được sử dụng để kéo dài chuỗi qua nhiều dòng. Ví dụ, tất cả các ví dụ sau đây đều hợp lệ −

word = 'word'
print (word)

sentence = "This is a sentence."
print (sentence)

paragraph = """This is a paragraph. It is
 made up of multiple lines and sentences."""
print (paragraph)

Comments in Python

Một chú thích là một giải thích hoặc chú thích có thể đọc được bởi lập trình viên trong mã nguồn Python. Chúng được thêm vào với mục đích làm cho mã nguồn dễ hiểu hơn cho con người và sẽ bị trình thông dịch Python bỏ qua.

Giống như hầu hết các ngôn ngữ hiện đại, Python hỗ trợ các chú thích một dòng (hoặc chú thích kết thúc dòng) và chú thích đa dòng (chú thích khối). Python comments rất giống với các chú thích có sẵn trong ngôn ngữ lập trình PHP, BASH và Perl.

Dấu thăng (#) không nằm trong chuỗi ký tự bắt đầu một bình luận. Tất cả các ký tự sau dấu # và cho đến hết dòng vật lý đều là một phần của bình luận và trình thông dịch Python sẽ bỏ qua chúng.

# First comment
print ("Hello, World!") # Second comment

Điều này tạo ra kết quả sau −

Hello, World!

Bạn có thể nhập một bình luận trên cùng một dòng sau một câu lệnh hoặc biểu thức −

name = "Madisetti" # This is again comment

Bạn có thể chú thích nhiều dòng như sau −

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

Chuỗi ba dấu nháy sau đây cũng bị trình thông dịch Python bỏ qua và có thể được sử dụng như là chú thích nhiều dòng:

'''
This is a multiline
comment.
'''

Using Blank Lines in Python Programs

Một dòng chỉ chứa khoảng trắng, có thể kèm theo một chú thích, được gọi là dòng trống và Python hoàn toàn bỏ qua nó.

Trong một phiên làm việc với trình thông dịch tương tác, bạn phải nhập một dòng vật lý trống để kết thúc một câu lệnh đa dòng.

Waiting for the User

Dòng tiếp theo của chương trình hiển thị thông báo, câu lệnh nói “Nhấn phím Enter để thoát”, và chờ người dùng thực hiện hành động −

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

Ở đây, "\n\n" được sử dụng để tạo hai dòng mới trước khi hiển thị dòng thực tế. Khi người dùng nhấn phím, chương trình sẽ kết thúc. Đây là một mẹo hay để giữ cửa sổ console mở cho đến khi người dùng hoàn thành với một ứng dụng.

Multiple Statements on a Single Line

Dấu chấm phẩy ( ; ) cho phép nhiều câu lệnh trên một dòng duy nhất miễn là không câu lệnh nào bắt đầu một khối mã mới. Dưới đây là một đoạn mẫu sử dụng dấu chấm phẩy −

import sys; x = 'foo'; sys.stdout.write(x + '\n')

Multiple Statement Groups as Suites

Một nhóm các câu lệnh riêng lẻ, tạo thành một khối mã duy nhất được gọi là suites trong Python. Các câu lệnh phức hợp hoặc phức tạp, chẳng hạn như if, while, def và class yêu cầu một dòng tiêu đề và một khối lệnh.

Các dòng tiêu đề bắt đầu câu lệnh (với từ khóa) và kết thúc bằng dấu hai chấm ( : ) và được theo sau bởi một hoặc nhiều dòng tạo thành khối lệnh. Ví dụ −

if expression :
   suite
elif expression :
   suite
else :
   suite

Command Line Arguments in Python

Nhiều chương trình có thể được chạy để cung cấp cho bạn một số thông tin cơ bản về cách chúng nên được chạy. Python cho phép bạn làm điều này với -h −

$ python3 -h
usage: python3 [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

Bạn cũng có thể lập trình kịch bản của mình theo cách mà nó chấp nhận nhiều tùy chọn khác nhau. Command Line Arguments là một chủ đề nâng cao và nên được nghiên cứu sau một chút, khi bạn đã tìm hiểu qua các khái niệm Python còn lại.