II. Cú pháp và các cấu
trúc lập trình cơ bản trong Python:
Phần này sẽ trình
bày về cú pháp và các cấu trúc lập trình cơ bản nhất trong
Python:
1. Toán tử:
Python sử dụng các toán tử sau:
+ - *
/
// (chia làm
tròn)
% (phần dư)
** (lũy thừa)
~ (not)
& (and)
^ (xor)
<< (left
shift)
>> (right shift)
== (bằng)
<=
>=
!= (khác)
2. Chú thích
Trong Python để viết dòng chú thích ta sử dụng dấu #
# dòng chú thích
3. Lệnh gán
tên biến = biểu thức
x = 23.8
y = -x ** 2
z1 = z2 = x + y
loiChao =
"Hello!"
i += 1 #
tăng biến i thêm 1 đơn vị
4. In giá trị:
print biểu thức
print (7 + 8) / 2.0
print (2 + 3j) * (4 - 6j)
Nội suy chuỗi (string interpolation)
print "Hello %s"
%("world!")
print "i = %d" %i
print "a = %.2f and b
= %.3f" %(a,b)
5. Cấu trúc rẽ nhánh với câu lệnh if:
Có 3
dạng cấu trúc rẽ nhánh:
· Dạng 1:
if biểu_thức_đúng:
# lệnh ...
· Dạng 2:
if biểu_thức_đúng:
# lệnh ...
else:
# lệnh ...
· Dạng 3:
if biểu_thức_đúng:
# lệnh ...
elif:
# lệnh ...
else:
# lệnh ...
Có thể có nhiều cặp elif liên tiếp. Ví dụ:
>>> x = int(raw_input("Please
enter an integer: "))
>>> if x < 0:
... x = 0
... print
'Negative changed to zero'
... elif x == 0:
... print 'Zero'
... elif x == 1:
... print 'Single'
... else:
... print 'More'
...
6. Cấu trúc lặp với lệnh for và while:
Có 2
dạng cấu trúc lặp với while và for.a. Lệnh for:
for phần_tử in dãy:
# lệnh ...
Ví dụ:
L = ["Ha Noi",
"Hai Phong", "TP Ho Chi Minh"]
for thanhPho in L:
print thanhPho
for i in range(10):
print i
Câu lệnh for trong Python khác một chút so với
trong C hoặc Pascal. Lệnh for lặp lại qua các thành phần của một chuỗi bất kì
(như là list hoặc string), theo thứ tự mà các thành phần đó xuất hiện trong
chuỗi. Ví dụ:
>>> # Measure some strings:
... a = ['cat', 'window', 'defenestrate']
>>> for x in a:
... print x, len(x)
...
cat 3
window 6
defenestrate 12
Vì lí do sử dụng như trên cho nên sẽ không an
toàn nếu ta sửa đổi một chuỗi mà đang sử dụng để lặp ( điều này chỉ xảy ra với
kiểu chuỗi khả biến). Trong trường hợp cần thay đổi chuỗi ( ví dụ lặp lại những
thành phần nào đó) thì phải lặp qua một bản sao của chuỗi ban đầu. Chỉ cần dùng
kí tự : để làm điều này:
>>> for x in a[:]: # make a slice copy
of the entire list
... if len(x) > 6:
a.insert(0, x)
...
>>> a
['defenestrate', 'cat', 'window',
'defenestrate']
b. Lệnh while:
while biểu_thức_đúng:
# lệnh ...
7. Hàm range( ):
Nếu cần lặp qua một chuỗi số, hàm range( ) có
thể được sử dụng. Nó tạo ra một danh sách chứa chuỗi các số học:
>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Điểm kết thúc đã cho không bao giờ là một phần
của chuỗi sẽ tạo ra; range(10) tạo ra một danh sách 10 giá trị,giống như chỉ số
các thành phần của một chuỗi chiều dài 10. Cũng có thể đặt cho range( ) vị trí
bắt đầu, hoặc xác định một bước tăng khác.
>>> range(5, 10)
[5, 6, 7, 8, 9]
>>> range(0, 10, 3)
[0, 3, 6, 9]
>>> range(-10, -100, -30)
[-10, -40, -70]
Để lặp qua chỉ số của một chuỗi, sử dụng kết hợp
range( ) và len( ) như dưới đây:
>>> a = ['Mary', 'had', 'a', 'little',
'lamb']
>>> for i in range(len(a)):
... print i, a[i]
...
0 Mary
1 had
2 a
3 little
4 lamb
8. Các câu lệnh break và
continue, và mệnh đề else trong vòng lặp:
Câu lệnh break, giống nhau C, nhảy ra khỏi vòng
lặp ngay trước nó mà chứa nó.
Câu lệnh continue, cũng kế thừa từ C, để tiếp
tục thực hiện với giá trị lặp tiếp theo của vòng lặp.
Ngoài ra, các câu lệnh lặp cũng có thể sử dụng
mệnh đề else. Nó sẽ được thực hiện khi vòng lặp kết thúc ( đến cuối của danh
sách với for, hoặc khi gặp điều kiện sai với while ), nhưng không được thực
hiện khi vòng lặp kết thúc bằng lệnh break. Xem xét ví dụ dưới đây để tìm số
nguyên tố:
>>> for n in range(2, 10):
... for x in range(2,
n):
...
if n % x == 0:
...
print n, 'equals', x, '*', n/x
...
break
... else:
... # loop fell through
without finding a factor
...
print n, 'is a prime number'
...
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
9. Lệnh pass
Câu lệnh pass không chứa gì thêm ngoài từ khóa.
Nó có thể được sử dụng khi một lệnh được chờ đợi nhưng chương trình không cần
có hành động nào. Ví dụ:
>>> while True:
... pass #
Busy-wait for keyboard interrupt
10. Sự tương đương giữa
true và một giá trị khác 0
Cũng như C/C++, bất kì một giá trị khác 0 nào cũng tương
đương với true và ngược lại, một giá trị 0 tương đương với false.
Như vậy:
if a != 0:
tương đương với
if a:
Hãy like nếu bài viết có ích →
Kết bạn với gisgpsrs trên Facebook
để nhận bài viết mới nóng hổi
Không có nhận xét nào:
Đăng nhận xét