Page 12 - Python Simple
P. 12
2. Sử dụng trình thông dịch Python http://www.vithon.org/tutorial/2.5/node4.html
python
Python 1.5.2b2 (#1, Feb 28 1999, 00:02:06) [GCC 2.8.1] on sunos5
Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
>>>
Các dòng nối tiếp được dùng khi nhập vào các cấu trúc nhiều dòng. Hãy xem
ví dụ dưới, chú ý câu lệnh if :
>>> the_world_is_flat = 1
>>> if the_world_is_flat:
... print "Be careful not to fall off!"
...
Be careful not to fall off!
2.2 Trình thông dịch và môi trường của
nó
2.2.1 Xử lý lỗi
Khi xảy ra một lỗi, bộ dịch in ra thông báo lỗi và lần ngược ngăn xếp (stack
trace). Trong chế độ tương tác, nó sẽ trả lại dấu nhắc chính; khi đầu vào là
một tập tin, nó sẽ thoát với mã lỗi khác 0 sau khi in ra lần ngược ngăn xếp.
(Các biệt lệ được xử lý bởi vế except trong một câu lệnh try không phải là các
lỗi chúng ta nói đến ở đây.) Một số lỗi là nghiêm trọng không điều kiện và gây
ra lỗi thoát với giá trị lỗi khác 0; điều này áp dụng cho các trường hợp mâu
thuẫn nội tại và một vài trường hợp tràn bộ nhớ. Tất cả các thông báo lỗi đều
được xuất ra dòng xuất lỗi chuẩn (standard error stream); kết xuất bình thường
sẽ được xuất ra dòng xuất chuẩn (standard output - xin được hiểu là màn hình,
tập tin...).
Gõ kí tự ngắt (thường là Control-C hoặc DEL) vào dấu nhắc chính hoặc dấu
2.1
nhắc thứ sẽ bỏ những gì đã nhập vào và trở về dấu nhắc chính. Gõ kí tự ngắt
trong khi một lệnh đang được thực thi sẽ gây ra biệt lệ KeyboardInterrupt ,
trường hợp này có thể được xử lý bằng câu lệnh try .
2.2.2 Các kịch bản Python khả thi
Trên các hệ thống UNIX họ BSD, các kịch bản Python có thể được thực thi trực
tiếp, như các kịch bản vỏ (shell script), bằng cách thêm dòng
#! /usr/bin/env python
(giả sử rằng bộ thông dịch đã có trong PATH của người dùng) ở đầu kịch bản
và đặc thuộc tính thực thi (executable mode) cho tập tin đó. Ký hiệu "#!" phải
là hai ký tự đầu tiên của tập tin. Trên các nền khác, dòng đầu tiên này phải kết
thúc bằng một ký tự xuống dòng kiểu UNIX ("\n"), không phải Mac OS ("\r")
3 of 5 08/31/2011 07:37 AM