Các lệnh phức hợp là các lệnh mà gom từ một nhóm (group) hoặc một khối (block) các lệnh đơn. Một số cấu trúc điều khiển như if, for, while đều được xét là các lệnh phức hợp. Cần nhớ lại rằng, Jython không sử dụng các cặp {} nhiều cấp để gom nhóm các khối lệnh theo level, mà Jython sử dụng dấu hai chấm : kèm theo đó là căn lề (indentation) để phân level các khối lệnh.
class
Lệnh class cho phép định nghĩa một class và scope của nó. Việc gọi một class sẽ dẫn tới việc gọi constructor của nó (nếu được định nghĩa) và kết quả thu được là một instance của class đó.
Ví dụ:
>>> class Hello:
... def __init__(self,name="John Doe"):
... self.name=name
... def greeting(self):
... print "Hello, %s" % self.name
...
>>> jane=Hello("Jane Doe")
>>> joe=Hello("Joe")
>>> default=Hello()
>>> jane.greeting()
Hello, Jane Doe
>>> joe.greeting()
Hello, Joe
>>> default.greeting()
Hello, John Doe
>>>
Chi tiết hơn về đặc tính của class, cũng như OOP implement trên Jython ta sẽ bàn tới sau.
def
Lệnh này cho phép định nghĩa các hàm hoặc các phương thức. Cú pháp như sau:
>def name([parameters]): statements
for
For là một cấu trúc điều khiển rất phổ biến, cho phép duyệt lần lượt từng thành viên của một chuỗi, danh sách. Một lệnh for có thể kèm theo một tùy chọn là mệnh đề else. Mệnh đề này sẽ được thực thi sau khi chuỗi/ danh sách trên được thực thi hoàn tất mà không có chỉ thị break hay exception nào xảy ra.
Ngoài việc hỗ trợ khả năng tự tăng index khi duyệt danh sách, Python cũng cung cấp sẵn một biến index tham chiếu tới chỉ số thứ tự của phần tử hiện thời đang duyệt, cho phép ta sử dụng (biến đó được quản lý tự động). Việc này có thể có được thông qua hàm enumerate(sequence_type)
Ví dụ:
>>> myList = ['jython','java','python','jruby','groovy'] >>> for i in myList: ... print i ... jython java python jruby groovy >>> >>> for index, value in enumerate(myList): ... print index, value ... 0 jython 1 java 2 python 3 jruby 4 groovy >>>
Minh họa sử dụng for để thao tác với dữ liệu của một đối tượng dữ liệu dạng từ điển:
>>> my_dict = {'Jython':'Java', 'CPython':'C', 'IronPython':'.NET','PyPy':'Python'}
>>> for key in my_dict:
... print key
...
Jython
IronPython
CPython
PyPy
>>> print my_dict.values()
['Java', '.NET', 'C', 'Python']
>>> for value in my_dict:
... print value
...
Jython
IronPython
CPython
PyPy
>>>
if
Lệnh if thực thi một khối lệnh theo điều kiện được chỉ định
cú pháp
if expression: statements elif expression: statements else: statements
while
Lệnh while thực thi một khối lệnh cho đến khi nào biểu thức được cung cấp làm điều kiện vẫn có giá trị true.
cú pháp
while expression: statements
No comments:
Post a Comment