Python: Cú pháp cơ bản

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Ngôn ngữ Python có nhiều điểm tương đồng với Perl, CJava. Tuy nhiên, có một số khác biệt nhất định giữa các ngôn ngữ.

Chương trình Python đầu tiên

Ta hay thực hiện các chương trình trong các chế độ khác nhau của lập trình.

Lập trình chế độ tương tác

Gọi trình thông dịch mà không chuyển tệp script làm tham số sẽ đưa ra lời nhắc sau:

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Nhập văn bản sau vào dấu nhắc Python và nhấn Enter:

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

Nếu bạn đang chạy phiên bản Python mới, thì bạn sẽ cần sử dụng câu lệnh print với dấu ngoặc đơn như trong print("Xin chào, Python!"); . Tuy nhiên, trong phiên bản Python 2.4.3, điều này tạo ra kết quả như sau:

Hello, Python!

Lập trình chế độ tập lệnh

Gọi trình thông dịch với tham số tập lệnh bắt đầu thực thi tập lệnh và tiếp tục cho đến khi tập lệnh kết thúc. Khi tập lệnh kết thúc, trình thông dịch không còn hoạt động.

Ta hãy viết một chương trình Python đơn giản trong một kịch bản. Các tệp Python có phần mở rộng .py. Nhập mã nguồn sau vào tệp test.py:

print("Hello, Python!")

Bạn nhấn Ctrl+S để lưu lại rồi nhấn F5 để chạy.

Kết quả:

Hello, Python!

Định danh Python

Mã định danh Python là tên được sử dụng để xác định một biến, hàm, lớp, mô-đun 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 a đến z hoặc dấu gạch dưới (_) theo sau là 0 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ự như @, $ và % trong các định danh. Python là một ngôn ngữ lập trình phân biệt chữ hoa chữ thường. Do đó, V1Study và v1study là hai định danh khác nhau trong Python.

Dưới đây là quy ước đặt tên cho mã định danh Python:

  • Tên lớp bắt đầu bằng một chữ cái viết hoa. Tất cả các định danh khác bắt đầu bằng một chữ cái viết thường.
  • Bắt đầu một định danh với một dấu gạch dưới hàng đầu duy nhất cho biết rằng định danh là riêng tư.
  • Bắt đầu một định danh với hai dấu gạch dưới hàng đầu cho thấy một định danh riêng tư mạnh mẽ.
  • Nếu mã định danh cũng kết thúc bằng hai dấu gạch dưới, thì mã định danh là tên đặc biệt do ngôn ngữ xác định.

Từ khóa trong Python

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

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

Bạn xem bài viết chi tiết về từ khóa trong Python tại ĐÂY.

Dòng và thụt

Python không cung cấp dấu ngoặc để chỉ ra các khối mã cho các định nghĩa lớp và hàm hoặc điều khiển luồng. Các khối mã được biểu thị bằng cách thụt dòng, được thi hành một cách cứng nhắc.

Số lượng khoảng trắng trong thụt đầu dòng là khác nhau, nhưng tất cả các câu lệnh trong khối phải được thụt vào cùng một lượng. Ví dụ:

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

Tuy nhiên, khối sau tạo ra lỗi:

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

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

Lưu ý: Đừng cố gắng hiểu logic tại thời điểm này. Chỉ cần chắc chắn rằng bạn hiểu các khối khác nhau ngay cả khi chúng không có liên quan.

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

Dòng trên nhiều dòng

Các 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 (\) để biểu thị rằng dòng sẽ tiếp tục. Ví dụ:

total = item_one + \
        item_two + \
        item_three

Các câu lệnh có trong dấu ngoặc [], {} hoặc () không cần sử dụng ký tự tiếp tục dòng. Ví dụ:

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

Trích dẫn trong Python

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

Các trích dẫn ba được sử dụng để trải dài chuỗi trên nhiều dòng. Ví dụ: tất cả những điều sau đây là hợp lệ:

word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

Comment trong Python

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

# first comment
print("Hello, Python!") # second comment

Kết quả:

Hello, Python!

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

name = "Madisetti" #Đây là comment

Bạn có thể comment trên nhiều dòng:

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

Theo sau chuỗi ba nháy đơn cũng bị bỏ qua bởi trình thông dịch Python và có thể được sử dụng như một comment đa dòng:

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

Sử dụng dòng trống

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

Trong phiên dịch tương tác, bạn phải nhập một dòng vật lý trống để chấm dứt câu lệnh đa dòng.

Chờ người dùng

Dòng sau của chương trình hiển thị lời nhắc, câu lệnh cho biết cần bấm phím Enter để thoát ra khỏi chế độ và chờ người dùng thực hiện hành động:

from pip._vendor.distlib.compat import raw_input

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. Khi người dùng nhấn phím, chương trình kết thúc. Đây là một mẹo hay để giữ cửa sổ giao diện điều khiển mở cho đến khi người dùng hoàn thành với một ứng dụng.

Nhiều lệnh trên một dòng

Dấu chấm phẩy (;) cho phép nhiều câu lệnh trên một dòng được đưa ra mà không câu lệnh nào bắt đầu một khối mã mới. Dùng dấu ; để thực hiện điều này:

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

Nhiều nhóm lệnh như Suite

Một nhóm các câu lệnh riêng lẻ, tạo ra một khối mã duy nhất được gọi là bộ trong Python. Các câu lệnh ghé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 bộ.

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

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

Đối số dòng lệnh

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:

$ python -h
usage: python [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 tập lệnh của mình theo cách nó sẽ chấp nhận các tùy chọn khác nhau. Đối số dòng lệnh là một chủ đề nâng cao và nên được nghiên cứu sau khi bạn đã trải qua phần còn lại của các khái niệm Python.

» Tiếp: Các phép toán cơ bản
« Trước: Từ khóa (Keyword)
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!