Quy ước và các phiên bản ngữ pháp trong Python

1- Các quy ước trong Python

Cũng như các ngôn ngữ khác Python có một số các quy ước về đặt tên, chẳng hạn quy tắc đặt tên biến (variable), hàm (function), lớp (class), module, ...
Một tên được bắt đầu bằng các chữ cái viết hoa (A-Z), hoặc viết thường (a-z), hoặc kí tự gạch dưới ( _ ), theo sau đó có thể là các kí tự khác hoặc không có gì.
Python không chấp nhận các kí tự: @, $ và % xuất hiện ở trong tên.
Python là một ngôn ngữ lập trình có phân biệt chữ viết hoa và chữ viết thường, MyObject myobject là hai tên khác nhau.

 

Một số quy tắc đặt tên trong Python:

  1. Tên lớp (class) nên bắt đầu bằng một kí tự viết hoa, tất cả các tên khác đều bắt đầu bằng kí tự biết thường.
  2. Một tên được bắt đầu bằng dấu gạch dưới cho bạn biết rằng tên đó là riêng tư (private).
  3. Một tên được bắt đầu bằng hai dấu gạch dưới tức là tên đó rất riêng tư.
  4. Nếu một tên được bắt đầu bằng hai dấu gạch dưới và kết thúc cũng bằng hai dấu gạch dưới thì tên đó là một tên đặc biệt được Python định nghĩa sẵn.

2- Các từ khóa trong Python

Các từ khóa trong Python không nhiều, chúng không thể được dùng để đặt tên và không có ký tự viết hoa. Dưới đây là danh sách tất cả các từ khóa trong Python:
** keywords **
and      assert      break      class      

continue      def      del      elif      else

except      exec      finally      for      

from      global      if      import      in      is

lambda      not      or      pass      

raise      return      try      yield      while
Danh mục các từ đặc biệt:
** special words **
None         True         False        

self         cls         class_
Các hàm thông dụng
** func **
__import__   abs   all   any   apply   

basestring   bin   bool   buffer   callable    

chr   classmethod   cmp   coerce   

compile   complex   delattr   dict   dir    

divmod   enumerate   eval   execfile   

file   filter   float   format   frozenset  

getattr   globals   hasattr   hash   

help   hex   id   input   int   intern    

isinstance   issubclass   iter   len   

list   locals   long   map   max   min   next  

object   oct   open   ord   pow   print   

property   range   raw_input   reduce  

reload   repr   reversed   round   set   

setattr   slice   sorted   staticmethod    

str   sum   super   tuple   type   type   

unichr   unicode   vars   xrange   zip 

3- Lệnh và khối lệnh

Khác với các ngôn ngữ lập trình khác, Python không sử dụng các cặp từ khoá như: “begin” và “end” hay “{” và “}” để mở , đóng một khối lệnh. Thay vào đó Python quy ước các lệnh liên tiếp có cùng khoảng cách thụt đầu dòng (Line Indentation) là thuộc cùng một khối lệnh.
if True:
    print ("Hello")
    print ("True")
else:
    print ("False")
Nếu bạn viết như sau sẽ bị thông báo lỗi:

Quy tắc viết một lệnh (Statement) trên nhiều dòng:

Thông thường một lệnh (statement) của Python được viết trên 1 dòng, và ký tự xuống dòng nghĩa là kết thúc lệnh đó. Tuy nhiên có những lệnh dài, và bạn muốn viết trên nhiều dòng, bạn cần thông báo với Python ý định của bạn. Sử dụng dấu \ để nói với Python rằng lệnh bao gồm cả dòng tiếp theo. Ví dụ:
value  = 1   +  \
         2 +  \
         3

Quy tắc viết nhiều lệnh trên một dòng

Bạn có thể viết nhiều câu lệnh trên một dòng, bạn cần phải sử dụng dấu chấm phẩy ( ; ) để ngăn cách giữa các câu lệnh. Ví dụ:

a = 'One'; b = "Two"; c ="Three"

4- Quy tắc viết một chuỗi

Python cho phép bạn sử dụng cặp dấu nháy đơn (  '  ), hoặc cặp dấu nháy kép ( " ) để biểu thị một chuỗi (String) trên một dòng:
str1 = 'Hello every body'

str2 = "Hello Python"
Nếu một chuỗi viết trên nhiều dòng bạn cần sử dụng một cặp 3 dấu nháy kép (Và không cần sử dụng dấu \ ):
multiLineStr = """This is a paragraph. It is
    made up of multiple lines and sentences."""

5- Chú thích (Comment)

Kí tự thăng (#) không nằm trong chuỗi sẽ bắt đầu một dòng chú thích (Comment). Tất cả các kí tự phía sau nó cho đến khi hết dòng được xem là một phần của câu chú thích và bộ thông dịch (interpreter) của Python sẽ bỏ qua chúng khi chạy chương trình.
# First comment
print ("Hello, Python!") # second comment

# This is a comment.
# This is a comment, too.
# This is a comment, too.
print ("Finish")

 

6- Các phiên bản ngữ pháp Python

Hiện nay phiên bản mới nhất của Python là 3.x, Python 3.x có các quy định về ngữ pháp chặt chẽ hơn so với Python 2.x, Các tài liệu hướng dẫn Python trên Internet hiện nay phần lớn đang sử dụng ngữ pháp 2.x và có thể nó làm bạn bối rối vì bạn đã học theo hướng dẫn mà vẫn bị thông báo lỗi.
 

Ví dụ:

Để in ra màn hình dòng chữ "Hello World", trong phiên bản 2.x bạn sử dụng dòng lệnh "print" mà không cần cặp dấu ngặc ( ):
# Ngữ pháp Python 2.x

print "Hello World"
Với Ngữ pháp Python 3.x để in ra dòng chữ "Hello World" bắt buộc bạn phải để nó trong dấu ngặc ( ), nếu không sẽ bị thông báo lỗi.
# Ngữ pháp Python 3.x

print ("Hello World")
Như vậy khi tạo một project bạn cần phải chỉ rõ bạn sẽ sử dụng ngữ pháp phiên bản nào. Dưới đây là minh họa "Tạo một project" trên Eclipse, và chỉ định "Ngữ pháp Python" phiên bản 3.6.

Xem thêm các chuyên mục: