Python: Cú pháp cơ bả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, C và Java. 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 | |
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.
Giải phóng thời gian, khai phóng năng lực