I. Cấu trúc và kỹ thuật
làm việc với dữ liệu trong Python:
Do Python không có một cú pháp rõ ràng để định
nghĩa biến mới, nên chỉ có thể khai báo một biến bằng cách gán giá trị cụ thể
cho nó. Biến sẽ tự động được giải phóng khi ra khỏi phạm vi của chương trình sử
dụng nó.Các ví dụ ở đây thì >>> là dấu nhắc lệnh của trình thông dịch.
- Kiểu None : Kiểu
này chỉ có 1 giá trị , sử dụng để diện tả sự vắng
mặt của giá trị trong nhiều trường hợp , ví dụ nó được trả về từ hàm
mà đã xác định trước sẽ không trả về gì. Giá trị thực của
nó là false.
- Kiểu NotImplemented :
Kiểu này chỉ có 1 giá trị , chỉ có 1 đối tượng có giá trị này
.Đối tượng được truy cập thông qua tên được xây dựng sẵn NotImplemented. Các
phương thức số học và so sánh có thể trả vềkiểu giá trị này
nếu chúng chưa cài đặt hành động cho toán tử được cung cấp.Giá trị thực
của nó là true.
- Kiểu Ellipsis : Kiểu
này cũng có giá trị 1 đơn , cũng chí có 1 đối tượng có giá trị này .
Đối tượng được truy cập thông qua tên được xây dựng sẵn Ellipsis . Nó
được sử dụng để chỉ ra sự hiện diện của cú pháp “….” .
Giá trị thực của nó là true.
- Kiểu Numbers: Được
tạo ra bởi các kí tự số và trả về kết quả bởi phép
toán số học hoặc các hàm số học. Đối tượng numbers là bất biến, giá trị của
nó không thay đổi kể từ khi được tạo ra. Có những giới hạn
vềgiá trịcủa số trong máy tính.
Python phân biệt giữa số nguyên, số dấu
phẩy động, và số phức:
Integers
Có 3 loại số nguyên:
+ Plain integers –
Biểu diễn các số nguyên trong khoảng -2147483648 đến 2147483647. Với các
thao tác dịch và mặt nạ , kiểu số này được giả định là số bù
2 ,32 bit hoặc nhiều hơn.
+ Long integer - Biểu
diễn một khoảng không giới hạn của số nguyên.
+ Boolean -
Biểu diễn giá trị true hay false. Đối tượng miêu tả 2 giá trị này
gọi là đối tượng logic. Kiểu Booleans là một kiểu con của kiểu Plain Integers,
và giá trị của nó giống như 0 và 1
Kiểu số thực floating point numbers,
và kiểu số phức complex numbers Để khai báo 1 số thưc chỉ việc
gán giá trị của biến cho1 số thực, cũng như vậy đối với số phức:
>>> X = 1.0
>>>Y = 2+3j
Một số phức gồm
2 phần thực và ảo, là 2 số dấu phẩy động. Nó có thểđược lấy
thông qua thuộc tính z.real và z.image.
- Kiểu chuỗi String , giá trị của
string được đặt trong cặp dấu ‘ hoặc “.
>>>a
= ‘abcdefg’
>>>b = “12345678”
-> a[0] = ‘a‘
b[1] = ‘2’
- Kiểu từ điển Dictionary -
định nghĩa một quan hệ 1-1 giữa khoá và giá trị , không thể có
khoá trùng nhau trong từ điển.
Ví dụ khai báo một
từ điển :
>>> d =
{"server":"mpilgrim",
"database":"master"}
>>> d
{'server': 'mpilgrim', 'database': 'master'}
>>> d["server"]
'mpilgrim'
>>> d["database"]
'master'
>>> d["mpilgrim"]
Traceback (innermost last):
File "<interactive input>", line
1, in ?
KeyError: mpilgrim
- Kiểu danh sách List – làm
việc như là 1 mảng các đối tượng. Sau đây là các phương thức của List:
append(x): Thêm
một thành phần vào cuối của danh sách, tương đương với: a[len(a):] = [x].
extend(L): Mở rộng
danh sách bằng cách thêm tất cả các thành phần trong danh sách đã nhận.
Tương đương với a[len(a):] = L.
insert(i,x): Chèn
một phần tử vào một ví trí đã định. Đối số đầu tiên i là chỉ sổ của
phần tử trước chỗsẽ chèn, vì thế a.insert(0, x) chèn tại vị trí
đầu của danh sách, và a.insert( len(a), x) tương đương với a.append(x).
remove(x): Loại
bỏ phần tử đầu tiên trong danh sách mà có giá trị là x. Nếu
không có phần tửnhư vậy thì báo lỗi.
pop([i]): Loại
bỏ phần tử tại vị trí i trong danh sách, và trả về nó.
Nếu không xác định chỉ số, a.pop( ) sẽ loại bỏ và trả về phần
tử cuối cùng trong danh sách.
index(x): Trả về chỉ số của
phần tử có giá trị x đầu tiên danh sách. Nếu không có phần tử như vậy
sẽxảy ra lỗi.
count(x): Trả về số lần
x xuất hiện trong danh sách.
sort(
): Sắp xếp các thành phần của danh sách.
reverse( ): Đảo ngược các phần
tử trong danh sách.
Ta
xem xét các ví dụ sau:
Khai báo một List như sau
>>> li = ['a', 'b', 'mpilgrim', 'z',
'example']
li[0] = ‘a’
li[1] = ‘b’
li[3]= ‘z’
Thay đổi nội dung danh sách
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example',
'new']
>>> li.extend(["two",
"elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example',
'new', 'two',
'elements']
Tìm kiếm trong List
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example',
'new', 'two', 'elements']
>>> li.index("example")
5
>>> li.index("new")
2
>>> li.index("c")
Traceback (innermost last):
File "<interactive input>", line
1, in ?
ValueError: list.index(x): x not in list
>>> "c" in li
False
Xoá
phần tử trong list
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example',
'new', 'two', 'elements']
>>> li.remove("z")
>>> li
['a', 'b', 'new', 'mpilgrim', 'example', 'new',
'two', 'elements']
>>> li.remove("new")
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two',
'elements']
>>> li.remove("c")
Traceback (innermost last):
File "<interactive input>", line
1, in ?
ValueError: list.remove(x): x not in list
>>> li.pop()
'elements'
>>> li
['a', 'b', 'mpilgrim', 'example', 'new', 'two']
Sử dụng
các toán tử
>>> li = ['a', 'b', 'mpilgrim']
>>> li = li +
['example', 'new']
>>> li
['a', 'b', 'mpilgrim',
'example', 'new']
>>> li +=
['two']
>>> li
['a', 'b', 'mpilgrim',
'example', 'new', 'two']
>>> li = [1, 2]
* 3
>>> li
[1, 2, 1, 2, 1, 2]
- Kiểu Tuple. Đây là mộtdanh sách
không thay đổi
>>> t = ("a", "b",
"mpilgrim", "z", "example")
>>> t
('a', 'b', 'mpilgrim', 'z', 'example')
>>> t[0]
'a'
>>> t[−1]
'example'
>>> t[1:3]
('b', 'mpilgrim')
Các phương thức insert,index,append,extend như với
list không thể thực hiện được.Tuy nhiên in thì thực hiện
được. Tuple nhanh hơn list và được sử dụng khi các phần tửcủa nó là cố định không thay đổi, vídụ như key trong kiểu
từ điển.
- Kiểu sets: Một set là một tập
không có thứ tự và không có các phần tử trùng lặp.
Công dụng cơ bản là đểkiểm tra thành viên, và loại trừ các mục lặp. Đối tượng set cũng hỗ trợ các phép toán như: hợp, giao, hiệu, và hiệu đối xứng. Dưới đây là một ví dụ:
>>> basket = ['apple', 'orange',
'apple', 'pear', 'orange', 'banana']
>>> fruit = set(basket) # create a set
without duplicates
>>> fruit
set(['orange', 'pear', 'apple', 'banana'])
>>> 'orange' in fruit # fast membership
testing
True
>>> 'crabgrass' in fruit
False
>>> # Demonstrate set operations on
unique letters from two words
...
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a # unique letters in a
set(['a', 'r', 'b', 'c', 'd'])
>>> a - b # letters in a but not in b
set(['r', 'd', 'b'])
>>> a | b # letters in either a or b
set(['a', 'c', 'r', 'd', 'b', 'm', 'z', 'l'])
>>> a & b # letters in both a and b
set(['a', 'c'])
>>> a ^ b # letters in a or b but not
both
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