Căn bản với Python
Python là ngôn ngữ có nhiều nét tương đồng với Perl, C, và Java. Tuy nhiên, cũng có một vài sự khác nhau rõ ràng giữa chúng. Chương trình Python đầu tiên Phiên bản Python sử dụng là 2.7.11 nhé. Chúng ta sẽ thực thi các chương trình trong các chế độ khác nhau Chế độ trình thông dịch ...
Python là ngôn ngữ có nhiều nét tương đồng với Perl, C, và Java. Tuy nhiên, cũng có một vài sự khác nhau rõ ràng giữa chúng.
Chương trình Python đầu tiên
Phiên bản Python sử dụng là 2.7.11 nhé. Chúng ta sẽ thực thi các chương trình trong các chế độ khác nhau
Chế độ trình thông dịch (Interactive Mode Programming)
Gọi trình thông dịch mà không cần thông qua file script.
$ python Python 2.7.11 (#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. >>>
On Windows:
Python 2.7.11 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>>
Nhập dòng sau vào cửa sổ dòng lệnh Python sau đó Enter:
>>> print "Hello, Python!"
Nếu bạn đang sử dụng phiên bản mới của Python (Python 3 trở lên) thì bạn cần phải thêm dấu ngoặc tròn vào lệnh print như print ("Hello, Python!"). Còn với phiên bản Python 2.7.11 thì không cần và dòng lệnh trên sẽ in ra kết quả là:
Hello, Python!
Script Mode Programming (thông dịch thông qua một script - một file)
Gọi trình thông dịch cùng với một file script thì nó sẽ thực thi từ đầu cho đến khi kết thúc script đó. Khi script được thực thi xong, trình thông dịch sẽ ngừng hoạt động.
Hãy viết một chương trình Python cơ bản trong một script. Các file Python có phần đuôi là .py. Viết những đoạn code sau vào file test.py:
print "Hello, Python!"
Giả sử rằng trình thông dịch Python của bạn đã được cài đặt trong một PATH variable (biến đường dẫn – dung để thực thi một chương trình bằng command line). Bậy giờ, hãy chạy chương trình trên bằng cách:
On Linux
$ python test.py
on Windows
C:Python27>python test.py
Kết quả sẽ là:
Hello, Python!
Hãy thử một cách khác để thực thi script trên. Sửa đổi file test.py thành như sau:
print "Hello, Python!"
Giả sử rằng trình thông dịch Python trên máy bạn đã được setup với đường dẫn thư mục /usr/bin. Hãy chạy chương trình như sau:
$ chmod +x test.py # This is to make file executable $./test.py
Kết quả sẽ là:
Hello, Python!
Các định danh trong Python
Một đinh danh trong Python là tên một biến, hàm, lớp, module hoặc một đối tượng. Một định danh bắt đầu bằng các chữ cái từ A - Z hoặc a - z hoặc dấu gạch dưới (_) và theo sau đó là các chữ cái hoặc dấu gạch dưới hoặc các số (0 - 9).
Python không cho phép dùng các ký tự như @, $$ và % trong tên định danh. Python là một ngôn ngữ phân biệt chữ viết hoa và viết thường. Nên, Manpower và manpower là hai định danh khác nhau trong Python.
Đây là các quy ước đặt trên cho các định danh:
- Tên lớp bắt đầu với một chữ cái hoa. Tất cả định danh khác bắt đầu với một chữ cái thường.
- Bắt đầu một định danh với một dấu gạch dưới đơn chỉ rằng định danh đó là private.
- Bắt đầu một định danh với hai dấu gạch dưới chỉ rằng định danh đó thực sự là private.
- Nếu định danh cũng kết thúc với hai dấu gạch dưới (ví dụ __init), thì định danh này là một tên đặc biệt được định nghĩa bởi Python.
Các từ khóa
Danh sách sau chỉ ra những từ khóa trong Python. Đây là những từ dành riêng và bạn không thể sử dụng chúng như các hằng hay biến hay bất kỳ một tên định danh nào khác. Tất cả những từ khóa trong Python đều chỉ ở dạng chữ thường.
Dòng lệnh và thụt đầu dòng lệnh
Python không cung cấp các dấu ngoặc nhọn {} để chỉ từng khối code cho lớp và hàm,... Các khối lệnh sẽ được nhận biết bằng thụt đầu dòng, cái này là bắt buộc.
Số khoảng trắng trong việc thụt đầu dòng là tùy chọn, nhưng tất cả các lệnh bên trong khối phải được thụt cùng một số lượng khoảng trống như nhau. Ví dụ:
if True: print "True" else: print "False"
Và cách viết sau sẽ tạo ra lỗi:
if True: print "Answer" print "True" else: print "Answer" print "False"
Do đó, trong Python thì tất cả các dòng liên tiếp nhau mà được thụt đầu dòng với cùng lượng khoảng trống như nhau sẽ tạo nên một khối. Trong ví dụ tiếp theo sẽ có các khối lệnh đa dạng:
Chú ý: Đừng cố gắng hiểu logic của các dòng lệnh tại thời điểm này. Chỉ cần đảm bảo rằng bạn hiểu được các khối lệnh khác nhau ngay cả khi chúng không có dấu ngoặc nhọn.
import sys try:
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:
file.close break file.write(file_text) file.write(" ") 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
Một lệnh trên có nhiều dòng
Các lệnh trong Python thường kết thúc với một newline. Tuy nhiên, Python cho phép sử dụng ký tự để chỉ rõ sự liên tục dòng. Ví dụ:
total = item_one + item_two + item_three
Những lệnh chứa trong no dấu [], {}, hoặc () thì không cần sử dụng ký tự . Ví dụ:
days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
Trích dẫn trong Python
Python chấp nhận dấu nháy đơn ('), nháy kép (') và nháy ba (' or """) để biểu diễn các chuỗi, nhưng các chuối này phải có đóng mở chuỗi giống nhau.
Dấu nháy ba được sử dụng để dàn trải một chuỗi thành nhiều dòng. Ví dụ:
word = 'word' sentence = "This is a sentence." paragraph = """This is a paragraph. It is made up of multiple lines and sentences."""
Comments (Bình luận hay dòng giải thich code) trong Python
Sử dụng ký tự dấu thằng # mà không đặt trong một chuỗi thì sẽ bắt đầu cho một comment. Tất cả ký tự ở sau dấu # và kéo dài cho đến hết dòng đó thì được coi là một comment và được bỏ qua bởi trình thông dịch. Ví dụ:
print "Hello, Python!" # second comment
Kết quả sẽ là:
Hello, Python!
Bạn có thể viết comment trên cùng một dòng và theo sau một lệnh, ví dụ:
name = "Madisetti" #This is again comment
Cũng có thể comment nhiều dòng:
Sử dụng dòng trắng
Một dòng mà chỉ chứa khoảng trắng, thậm chí là có cả comment thì được xem như là một dòng trống và Python sẽ hoàn toàn bỏ qua nó. Trong một phiên làm việc của trình thông dịch, bạn phải nhập một dòng trống để kết thúc một khối lệnh nhiều dòng.
Lệnh chờ người dùng nhập liệu
Dòng lệnh sau sẽ hiển thị một hộp nhắc nhở, hiển thị rằng "Press the enter key to exit", và đợi người dùng nhập vào:
raw_input(" Press the enter key to exit.")
Với Python3 thì chỉ là:
input(" Press the enter key to exit.")
Ở đây, " " được sử dụng để tạo hai dòng trắng trước khi hiển thị dòng nhập liệu. Một khi người dùng ấn phím, chương trình sẽ kết thúc. Đây là một thủ thuật hay để giữ cửa sổ dòng lệnh mở cho đến khi người dùng kết thúc một ứng dụng.
Nhiều lệnh trên một dòng đơn
Dấu chấm phẩy (