Page 33 - Python Simple
P. 33
4. Bàn thêm về luồng điều khiển http://www.vithon.org/tutorial/2.5/node6.html
nơi nào cần đối tượng hàm. Cú pháp của chúng giới hạn ở một biểu duy nhất. Về ý nghĩa, chúng chỉ là
một cách viết gọn của một định nghĩa hàm bình thường. Giống như các định nghĩa hàm lồng nhau,
dạng lambda có thể tham chiếu các biến từ phạm vi chứa nó:
>>> def make_incrementor(n):
... return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
4.7.6 Chuỗi tài liệu
Có những quy luật đang hình thành về nội dung và định dạng của các chuỗi tài liệu.
Dòng đầu tiên cần phải luôn luôn là một tóm tắt ngắn, xúc tích về mục đích của đối tượng. Để dễ hiểu,
nó không nên chỉ ra cụ thể tên hoặc kiểu của đối tượng vì chúng có thể có ở hình thức khác (từ khi tên
là một động từ diễn tả hoạt động của hàm). Dòng này cần bắt đầu bằng một chữ hoa và kết thúc bằng
một dấu chấm.
Nếu có nhiều dòng trong chuỗi tài liệu, dòng thứ hai nên là một dòng trống, rõ ràng phân biệt tóm tắt
và phần còn lại. Các dòng sau nên là một hoặc nhiều đoạn hướng dẫn về cách gọi, các hiệu ứng phụ,
v.v...
Bộ phân tích ngữ pháp Python không lọc thụt hàng từ các chuỗi đa dòng (multi-line string literal) trong
Python, so nên các công cụ xử lý tài liệu cần phải lọc thụt hàng nếu cần. Việc này được làm theo một
cách chung. Dòng không trống đầu tiên sau dòng đầu tiên của chuỗi xác định mức thụt vào cho toàn bộ
chuỗi tài liệu. (Ta không thể dùng dòng đầu tiên vì nó thường nằm kế dấu nháy đầu chuỗi cho nên mức
thụt vào của nó không được xác định trong cách viết chuỗi.) Khoảng trắng ``tương đương'' với mức thụt
vào này được bò khỏi mỗi đầu dòng trong chuỗi. Không nên có các dòng thụt vào ít hơn, nhưng nếu gặp
phải, toàn bộ khoảng trắng đầu của chúng nên được bỏ đi. Tính tương đương của khoảng trắng cần
được kiểm tra sau khi mở rộng tab (thông thường thành 8 khoảng trắng).
Đâu là ví dụ của một docstring đa dòng:
>>> def my_function():
... """Do nothing, but document it.
...
... No, really, it doesn't do anything.
... """
... pass
...
>>> print my_function.__doc__
Do nothing, but document it.
No, really, it doesn't do anything.
Ghi chú
... đối tượng). 4.1
Thật ra, gọi theo tham chiếu đối tượng (call by object reference) có thể là một diễn giải tốt hơn, vì
nếu một đối tượng khả đổi được truyền vào, nơi gọi sẽ nhận được các thay đổi do nơi được gọi tạo
ra (ví dụ như các phần tử được thêm vào danh sách).
Phiên bản 2.5, tài liệu được cập nhật ngày 19, tháng 09, năm 2006.
Xem Về tài liệu này... về cách đề nghị thay đổi.
7 of 7 08/31/2011 07:39 AM