print 'Hello world'
Run
$ python helloworld.py
Khai báo giá trị.
a = 1
hoặc
a = 1
b = 'hello world'
c = [1, 2, 3]
d = [1.2, 'Hello', 'W', 2]
- Cộng
+
- Trừ
-
- Nhân
*
- Chia
/
- Chia lấy dư
%
- Đúng
True
- Sai
False
not
đảo giá trị!
and
logic và&&
or
logic hoặc||
- So sánh các giá trị
>
,<
,>=
,<=
,!=
/<>
,==
- Trong một tập hơp
in
x = 2
x < 1 #False
x >= 2 #True
0 < x < 3 #False
x != 2 #False
lst = [1, 2, 3, 4]
print 3 in lst
#True
gst = [1.2, 'Hello', 'W', 2]
print 'W' not in gst
#False
stri = 'Hi there!'
print 'Hi' in stri
#True
if condition1:
doSomething_1()
elif condition2:
doSomething_2()
else:
doSomething_3()
Ví dụ
x = 8
m = 3
if x == 10:
m += 1
else:
m -= 3
# Kết quả : m = 0
*Một cách viết gọn: *
x = 8
m = 3
m += 1 if x == 10 else 3
Trong python không có switch.. case
for iterating_var in sequence:
statements(s)
Ví dụ
for letter in 'Python':
print 'Current Letter : ', letter
# Kết quả
# Current Letter : P
# Current Letter : y
# Current Letter : t
# Current Letter : h
# Current Letter : o
# Current Letter : n
fruits = ['banana', 'apple', 'mango']
for fruit in fruits:
print 'Current fruit :', fruit
print "Good bye!"
# Kết quả
# Current fruit : banana
# Current fruit : apple
# Current fruit : mango
# Good bye!
while expression:
statement(s)
Ví dụ
count = 0
while (count < 9):
print 'The count is: ', count
count = count + 1
print "Good bye!"
# Kết quả
# The count is: 0
# The count is: 1
# The count is: 2
# The count is: 3
# The count is: 4
# The count is: 5
# The count is: 6
# The count is: 7
# The count is: 8
# Good bye!
def functionname(param, param2,..):
statements(s)
Ví dụ
# Khai báo
def sum(a, b):
return a + b
# Sử dụng
s = sum(2, 3)
print s
# Kết quả : 5
Hàm có hỗ trợ giá trị mặc định cho tham số khi không truyền vào.
def add_ten(a, b=10):
return a+b
print add_ten(2)
# Kết quả 12
str1 = "Hello"
str2 = 'world'
# Nối chuỗi
str = str1 + str2
print str
# Lấy ký tự trong chuỗi
print str[0]
print str[2]
# Trích xuất chuỗi
print str[0:4] # (Hiển thị "Hell")
print str[:4] # (Hiển thị "Hell")
print str[-3:] # (Hiển thị "rld")
print str[6:-3] # (Hiển thị "wo")
# Lấy độ dài
count = len("Hello world") # (count có giá trị 11)
Tìm & thay thế nội dung
*Biểu thức * replace(search, replace[, max])
str = 'Hello world'
newstr = str.replace('Hello', 'Bye')
print newstr
# (Sẽ hiển thị chuỗi "Bye world" trên màn hình)
Tìm vị trí chuỗi con
*Biểu thức * find(str, beg=0, end=len(string))
str = 'Hello world'
print str.find('world') # (hiển thị 6)
print str.find('Bye') # (hiển thị -1)
find()
tìm lần lượt từ trái qua phảirfind()
tìm ngược lại
Tách chuỗi
*Biểu thức * split(str="", num=string.count(str))
str = 'Hello world'
print str.split(' ')
# (Trả về một mảng có 2 phần tử là 2 chuỗi "Hello" và "world")
# ['Hello', 'world']
Trim ký tự khoảng trắng
strip([chars])
: loại bỏ trước và sau chuỗilstrip([chars])
: loại bỏ phía trước chuỗirstrip([chars])
: loại bỏ phía sau chuỗi
Một số hàm xử lý chuỗi
isnumeric()
: Kiểm tra một chuỗi có phải là chuỗi sốlower()
: Chuyển chuỗi hết thành chữ thườngupper()
: Chuyển chuỗi hết thành chữ HOA
Khai báo
numbers = [1, 2, 3, 4, 5]
names = ['Marry', 'Peter']
Truy xuất từng phần tử của mảng
print numbers[0]
# (Hiển thị 1)
print numbers[-3]
# (Hiển thị 3)
print names[1]
# (Hiển thị 'Peter')```
Lấy độ dài list dùng `len(array)`
```python
print len(names)
# (Hiển thị '2')
Để kiểm tra một giá trị có tồn tại
/ không tồn tại
trong mảng hay không thì có thể sử dụng toán tử in
/ not in
mylist = ['a', 'b', 'c']
print 'a' in mylist
# (Hiển thị True)
print 'b' not in mylist
# (Hiển thị False)
Trích xuất mảng con
numbers = ['a', 'b', 'c', 'd']
print numbers[:2]
# (Hiển thị ['a', 'b'])
print numbers[-2:]
# (Hiển thị ['c', 'd'])```
**Xóa phần tử của mảng**
Có thể xóa một phần tử thông qua toán tử `del`
```python
numbers = [1, 2, 3, 4, 5]
del numbers[0]
print numbers
# (Hiển thị [2, 3, 4, 5])
Xóa một khoản dựa vào toán tử lấy khoản [start:end]
numbers = [1, 2, 3, 4, 5, 6, 7]
del numbers[2:4]
print numbers
# (Hiển thị [1, 2, 5, 6, 7])
Nối 2 mảng
a = [1, 2]
b = [1, 3]
print a + b
# (Hiển thị [1, 2, 1, 3])
Thêm phần tử vào mảng
numbers = [1, 2, 3]
numbers.append(4)
print numbers
(Hiển thị [1, 2, 3, 4]```
**Lấy phần tử cuối ra khỏi mảng**
```python
numbers = [1, 2, 3]
mynumber = numbers.pop()
print mynumber
# (Hiển thị 3)
print numbers
# (Hiển thị [1, 2])```
**Tìm vị trí một giá trị trong mảng**
```python
aList = [123, 'xyz', 'zara', 'abc'];
print "Index for xyz : ", aList.index('xyz')
print "Index for zara : ", aList.index('zara')```
Kết quả
Index for xyz : 1 Index for zara : 2 ```
Đảo ngược giá trị của mảng
numbers = [1, 2, 3, 4]
numbers.reverse()
print numbers
(Hiển thị [4, 3, 2, 1])```
**Sắp xếp giá trị các phần tử**
```python
aList = [123, 'xyz', 'zara', 'abc', 'xyz']
aList.sort()
print "List : ", aList
(Hiển thị List : [123, 'abc', 'xyz', 'xyz', 'zara'])```
#### 2.8. Tuple
- `Tuple` cũng là một cấu trúc mảng, tương tự như cấu trúc `List`.
- Một số điểm khác nhau cơ bản là khai báo `Tuple` sử dụng cặp dấu ngoặc `(...)`
- Một `tuple` đã được khai báo rồi thì không thay đổi được giá trị
- Không hỗ trợ các phương thức như `append()` , ` pop()` , ...
```python
mytuple = ('x', 'y', 'z')
print mytuple
# (Hiển thị ('x', 'y', 'z'))
Dictionary
cũng là một cấu trúc mảng, nhưng các phần tử bao gồmkey
vàvalue
.- Nếu bạn có biết JSON thì cấu trúc
Dictionary
tương tự như một object json. - Một
Dictionary
được khai báo bằng cặp dấu ngoặc{...}
.
point = {'x': 1, 'y': 2}```
hoặc
```python
point = {'x': 3, 'y': 6, 'z' : 9}
print point['x']
# (Hiển thị 3)```
**Thêm một phần tử**
Để thêm một phần tử vào đối tượng đã khai báo, sử dụng cấu trúc `dict[key] = value` .
```python
user = {'name': 'Jone', 'age': 30}
user['country'] = 'Vietnam'
print user
# (Hiển thị {'country': 'Vietnam', 'age': 30, 'name': 'Jone'})```
**Một số hàm, phương thức thông dụng**
- `dict.clear()` : Xóa toàn bộ dữ liệu bên trong đối
tượng
- `dict.copy()` : Trả về một bản copy của đối tượng
- `dict.fromkeys(seq[, value])` : Tạo một đối tượng với danh sách key từ seq và nếu có truyền value thì lấy đó làm giá trị cho các phần tử.
- `dict.has_key(key)` : kiểm tra một key có tồn tại trong đối tượng hay không.
- `dict.keys()` : Trả về một List chứa các key
- `dict.values()` : Trả về một List chứa các value
```python
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print "New Dictionary : %s" % str(dict)
dict = dict.fromkeys(seq, 10)
print "New Dictionary : %s" % str(dict)```
Kết quả
New Dictionary : {'age': None, 'name': None, 'sex': None} New Dictionary : {'age': 10, 'name': 10, 'sex': 10}```
Xong 2 chương đầu!
Khai báo một Class
class myclass([parentclass]):
assignments
def __init__(self):
statements
def method():
statements
def method2():
statements
Ví dụ một class:
class animal():
name = ''
name = ''
age = 0
def __init__(self, name = '', age = 0):
self.name = name
self.age = age
def show(self):
print 'My name is ', self.name
def run(self):
print 'Animal is running...'
def go(self):
print 'Animal is going...'
class dog(animal):
def run(self):
print 'Dog is running...'
myanimal = animal()
myanimal.show()
myanimal.run()
myanimal.go()
mydog = dog('Lucy')
mydog.show()
mydog.run()
mydog.go()
Sau khi thực thi sẽ cho ra kết quả:
My Name is
Animal is running...
Animal is going...
My Name is Lucy
Dog is running...
Animal is going...
Trong ví dụ trên thì:
animal
vàdog
là 2 class. Trong đó class dog kế thừa từ class cha làanimal
nên sẽ có các phương thức của classanimal
.name
vàage
là thuộc tính (Attribute) của class.- Phương thức
__init__(self)
là hàm tạo của class. - Hàm này sẽ được gọi mỗi khi có một object mới được
tạo (từ một class), gọi là quá trình tạo instance.
show()
,run()
vàgo()
là 2 phương thức của 2 class. - Khi khai báo phương thức có kèm tham số
self
dùng để truy cập ngược lại object đang gọi. Lúc gọi phương thức thì không cần truyền tham số này. - Phương thức
run()
của classdog
gọi là override của phương thứcrun()
của classanimal
.