Kiến trúc lập trình Python - Phần 1

vào lúc 22:04
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.
          Dưới đây là hệ thống kiểu dữ liệu chuẩn:
-    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 tcủ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
set(['r', 'd', 'b', 'm', 'z', 'l'])

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