Ngôn ngữ Python ( Chương I: Cấu trúc và kỹ thuật làm việc với dữ liệu trong Python.)

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:

-         Kiu None :  Kiu này ch có 1 giá tr , s dng đ din t s vng mt ca giá tr trong nhiu trường hp , ví d nó được tr v t hàm mà đã xác đnh trước s không tr v gì. Giá tr thc ca nó là false.
-         Kiu NotImplemented : Kiu này ch có 1 giá tr , ch có 1 đi tượng có giá tr này .Đi tượng được truy cp thông qua tên được xây dng sn NotImplemented.  Các phương thc s hc và so sánh có th tr v kiu giá tr này nếu chúng chưa cài đt hành đng cho toán t được cung cp.Giá tr thc ca nó là true.
-         Kiu Ellipsis : Kiu 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 cp thông qua tên được xây dng sn Ellipsis . Nó được s dng đ ch ra s hin din ca cú pháp “….” . Giá tr thc ca nó là true.
-         Kiu Numbers: Được to ra bi các kí t s và tr v kết qu bi phép toán s hc hoc các hàm s hc. Đi tượng numbers là bt biến, giá tr ca nó không  thay đi k t khi được to ra. Có nhng gii hn v giá trca s trong máy tính.
            Python phân bit gia s nguyên, s du phy đng, và s phc:
                Integers
                Có 3 loi s nguyên:
o       Plain integers – Biu din các s nguyên trong khong -2147483648 đến 2147483647. Vi các thao tác dch và mt n , kiu s này được gi đnh là s bù 2 ,32 bit hoc nhiu hơn.
o       Long integer -  Biu din mt khong không gii hn ca s nguyên.
o       Boolean -  Biu din giá tr true hay false. Đi tượng miêu t 2 giá tr này gi là đi tượng logic. Kiu Booleans là mt kiu con ca kiu Plain Integers, và giá tr ca nó ging như 0 và 1

        Kiu s thc floating point numbers, và kiu s phc complex numbers Đ khai báo 1 s thưc ch vic gán giá tr ca biến cho1 s thc, cũng như vy đi vi s phc:
                                >>> X = 1.0
                 >>>Y = 2+3j
                Mt s phc gm 2 phn thc và o, là 2 s du phy đng. Nó có thđược ly thông qua thuc tính z.real và z.image.

        -     Kiu chui String , giá tr ca string được đt trong cp du ‘          hoc “.
                                >>>a = ‘abcdefg’
                 >>>b = “12345678”
             ->  a[0] = ‘a   
                 b[1] = ‘2’
-         Kiu t đin Dictionary  - đnh nghĩa mt quan h 1-1 gia khoá và giá tr , không th có khoá trùng nhau trong t đin.
Ví d khai báo mt t đin :
>>> 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

-         Kiu danh sách List – làm vic như là 1 mng các đi tượng. Sau đây là các phương thc ca List:
        append(x): Thêm mt thành phn vào cui ca danh sách, tương đương vi: a[len(a):] = [x].
        extend(L): M rng danh sách bng cách thêm tt c các thành phn trong         danh sách đã nhn. Tương đương vi a[len(a):] = L.
        insert(i,x): Chèn mt phn t vào mt ví trí đã đnh. Đi s đu tiên i là ch s ca phn t trước ch s chèn, vì thế a.insert(0, x) chèn ti v trí đu         ca danh sách, và a.insert( len(a), x) tương đương vi a.append(x).
        remove(x): Loi b phn t đu tiên trong danh sách mà có giá tr là x.         Nếu không có phn t như vy thì báo li.
        pop([i]): Loi b phn t ti v trí i trong danh sách, và tr v nó. Nếu không xác đnh ch s, a.pop( ) s loi b và tr v phn t cui cùng trong danh sách.
        index(x): Tr v ch s ca phn t có giá tr x đu tiên danh sách. Nếu không có phn t như vy s xy ra li.
        count(x): Tr v s ln x xut hin trong danh sách.
        sort( ): Sp xếp các thành phn ca danh sách.
        reverse( ): Đo ngược các phn t trong danh sách.
 
        Ta xem xét các ví d sau:



Khai báo mt List như sau
        >>> li = ['a', 'b', 'mpilgrim', 'z', 'example']
                                              li[0] = ‘a’
                                              li[1] = ‘b’
                                li[3]= ‘z’          
Thay đi ni 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á phn 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 dng 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]
        -  Kiu Tuple. Đây là mtdanh 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 thc insert,index,append,extend như vi list không th thc hin được.Tuy nhiên in thì thc hin được. Tuple nhanh hơn list và được s dng khi các phn tca nó là c đnh không thay đi, víd như key trong kiu t đin.
-  Kiu sets: Mt set là mt tp không có th t và không có các phn   t trùng lp. Công dng cơ bn là đ kim tra thành viên, và loi tr     các mc lp. Đi tượng set cũng h tr các phép toán như: hp, giao,        hiu, và hiu đi xng. Dưới đây là mt 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'])

No comments:

Post a Comment

Bài đăng mới: