Giá trị none trong python được hiểu là
Trong phần này chúng ta sẽ cùng tìm hiểu về các kiểu dữ liệu cơ bản trong Python. Kiểu BooleanLâu nay người ta thường dịch boolean là kiểu “luận lý”, đối với dân kỹ thuật thì cái từ này nghe hơi khó hiểu, nên mình xin mạn phép dịch là kiểu “đúng sai” cho đơn giản 🙂 Tức là kiểu giá trị này chỉ có hai giá trị là đúng (True) và sai (False), nhưng thực ra thì đối với những người đã lập trình lâu năm thì họ thường gọi là kiểu boolean (hoặc kiểu bool) luôn cho tiện. Hầu như tất cả các ngôn ngữ lập trình đều hỗ trợ kiểu này. Ví dụ. import random male = False male = bool(random.randint(0, 1)) print (male) Đoạn code trên có sử dụng module random để tạo số ngẫu nhiên. import random Để sử dụng module này thì chúng ta thêm dòng male = bool(random.randint(0, 1)) Và ở đây chúng ta sẽ sử dụng phương thức Đoạn code dưới đây sẽ cho chúng ta biết các dạng dữ liệu khác khi được chuyển sang kiểu bool sẽ có giá trị nào. print (bool(True)) print (bool(False)) print (bool("text")) print (bool("")) print (bool(' ')) print (bool(0)) print (bool()) print (bool(3)) print (bool(None)) True False True False True False False True False Kiểu NoneĐây là một kiểu đặc biệt trong Python. Ý nghĩa của kiểu này là không có giá trị gì cả, không tồn tại, rỗng…v..v def function(): pass print (function()) Trong
đoạn code trên, chúng ta định nghĩa một hàm. Chúng ta sẽ tìm hiểu về hàm ở các bài sau. Hàm này cũng không trả về giá trị gì cả nên nó sẽ tự động ngầm trả về giá trị None Kiểu sốTrong Python, kiểu số có 3 loại là số nguyên, số thực và số phức. # number of baskets baskets = 16 # number of apples in a basket apples_in_basket = 24 # we get the total number of apples total = baskets * apples_in_basket print ("There are total of", total, "apples") Trong ví dụ trên, chúng ta đếm số lượng táo dùng phép nhân trên kiểu số nguyên. There are total of 384 apples Ví dụ dưới đây mô tả số thực trong Python. # 100m is 0.1 km distance = 0.1 # 9.87s is 9.87/60*60 h time = 9.87 / 3600 speed = distance / time print ("The average speed of" \ " a sprinter is " , speed, "km/h") Chúng ta tính vận tốc chạy của vận động viên theo công thức vận tốc = quãng đường / thời gian. print ("The average speed of" \ " a sprinter is " , speed, "km/h") Đoạn code trên sử dụng dấu \. Dấu này có tác dụng nối 2 chuỗi ghi trên hai dòng làm 1. The average speed of a sprinter is 36.4741641337 km/h StringString là kiểu dữ liệu lưu trữ văn bản. Chúng ta có thể tạo ra một string bằng dấu nháy đơn, nháy kép hay 3 dấu nháy kép. Khi dùng 3 dấu nháy kép, chúng ta cũng có thể ghi một chuỗi trên nhiều dòng mà không cần dùng dấu \. a = "proximity alert" b = 'evacuation' c = """ requiem for a tower """ print (a) print (b) print (c) Trong ví dụ trên chúng ta gán 3 chuỗi vào 3 biến a, b, c rồi in ra màn hình. proximity alert evacuation requiem for a tower Trong một chuỗi chúng ta có thể dùng các ký tự thoát. Ký tự thoát là các ký tự đặc biệt dùng cho nhiều mục đích khác nhau. Xem ví dụ. print ("Incompatible, it don't matter though\n'cos someone's bound to hear my cry") print ("Speak out if you do\nYou're not easy to find") Ký tự Incompatible, it don't matter though 'cos someone's bound to hear my cry Speak out if you do You're not easy to find Tiếp theo chúng ta tìm hiểu về ký tự xóa. print ("Python\b\b\booo") # prints Pytooo Ký tự print ("Towering\tinferno") # prints Towering inferno Dòng code trên ví dụ về ký tự tab "Johnie's dog" 'Johnie\'s dog' Đôi khi bạn ghi chuỗi trong cặp dấu nháy đơn, và bản thân bên trong chuỗi này bạn cũng cần dùng một dấu nháy đơn khác, lúc này bạn phải thêm một dấu \ trước dấu nháy đơn đó, nếu không trình biên dịch sẽ báo lỗi. Nếu bạn không muốn sử dụng các ký tự thoát thì bạn thêm print (r"Another world\nhas come") Another world\nhas come Như ở trên dòng chữ Another world\n sẽ được in ra. Tiếp theo chúng ta sẽ tìm hiểu về cách nhân chuỗi và nối chuỗi. print ("eagle " * 5) print ("eagle " "falcon") print ("eagle " + "and " + "falcon") Phép nhân * có thể được dùng cho một chuỗi, lúc này nội dung chuỗi sẽ được lặp lại n lần, trong đoạn code trên chữ “eagle” được lặp lại 5 lần. Hai chuỗi để sát nhau sẽ ngầm tự động được nối vào. Và nếu bạn muốn nối chuỗi một cách rõ ràng hơn thì bạn có thể dùng toán tử +. eagle eagle eagle eagle eagle eagle falcon eagle and falcon Kiểu TupleKiểu Tuple là kiểu tập hợp nhiều phần tử, kiểu này lưu trữ các phần tử một cách có thứ tự và có thể lưu nhiều kiểu giá trị khác nhau trong một tuple. Giá trị trong tuple không thể thay đổi được. fruits = ("oranges", "apples", "bananas") fruits = "oranges", "apples", "bananas" print (fruits) Ở trên là hai cách tạo tuple. first = (1, 2, 3) second = (4, 5, 6) print ("len(first) : ", len(first)) print ("max(first) : ", max(first)) print ("min(first) : ", min(first)) print ("first + second :", first + second) print ("first * 3 : ", first * 3) print ("1 in first : ", 1 in first) print ("5 not in second : ", 5 not in second) Đoạn code trên ví dụ về các thao tác với một tuple. Hàm len(first) : 3 max(first) : 3 min(first) : 1 first + second : (1, 2, 3, 4, 5, 6) first * 3 : (1, 2, 3, 1, 2, 3, 1, 2, 3) 1 in first : True 5 not in second : False Tiếp theo chúng ta tìm hiểu về cách truy xuất phần tử. five = (1, 2, 3, 4, 5) print ("five[0] : ", five[0]) print ("five[-1] : ", five[-1]) print ("five[-2] : ", five[-2]) print ("five[:] : ", five[:]) print ("five[0:4] : ", five[0:4]) print ("five[1:2] : ", five[1:2]) print ("five[:2] : ", five[:2]) print ("five[:-1] : ", five[:-1]) print ("five[:9] : ", five[:9]) Để lấy một phần tử nào đó trong tuple, chúng ta sử dụng cặp dấu five[0] : 1 five[-1] : 5 five[-2] : 4 five[:] : (1, 2, 3, 4, 5) five[0:4] : (1, 2, 3, 4) five[1:2] : (2,) five[:2] : (1, 2) five[:-1] : (1, 2, 3, 4) five[:9] : (1, 2, 3, 4, 5) Tuple có thể lưu trữ các kiểu dữ liệu khác nhau một cách linh hoạt. mix = (1, 2, "solaris", (1, 2, 3)) print ("mix[1] :", mix[1]) print ("mix[2] :", mix[2]) print ("mix[3] :", mix[3]) print ("mix[3][0] :", mix[3][0]) print ("mix[3][1] :", mix[3][1]) print ("mix[3][2] :", mix[3][2]) Trong ví dụ trên, tuple của chúng ta có số nguyên, string và cả một tuple khác. mix[1] : 2 mix[2] : solaris mix[3] : (1, 2, 3) mix[3][0] : 1 mix[3][1] : 2 mix[3][2] : 3 Để truy xuất phần tử của tuple bên trong
một tuple, bạn dùng hai cặp dấu Kiểu ListKiểu list cũng là một kiểu lưu các giá trị tuần tự, một list cũng có thể lưu nhiều giá trị khác nhau. Do đó list và tuple có nhiều điểm tương đồng. Điểm khác biệt giữa list và tuple là các phần tử trong list có thể thay đổi giá trị, ngoài ra list có một số phương thức mà tuple không có. Chúng ta sẽ có nguyên một bài để nói riêng về kiểu list. actors = ["Jack Nicholson", "Antony Hopkins", "Adrien Brody"] Để tạo một list thì ta dùng cặp ký tự num = [0, 2, 5, 4, 6, 7] print (num[0]) print (num[2:]) print (len(num)) print (num + [8, 9]) Như đã nói ở trên, chúng ta có thể dùng các thao tác cộng trừ, lấy chỉ số… như của tuple. 0 [5, 4, 6, 7] 6 [0, 2, 5, 4, 6, 7, 8, 9] Tiếp theo chúng ta tìm hiểu về một số thao tác của riêng list. Bắt đầu là thao tác sắp xếp một list. numbers = [4, 3, 6, 1, 2, 0, 5 ] print (numbers) numbers.sort() print (numbers) Để sắp xếp một list thì chúng ta dùng phương thức [4, 3, 6, 1, 2, 0, 5] [0, 1, 2, 3, 4, 5, 6] Phương thức numbers.reverse() # [5, 4, 3, 2, 1, 0] Chúng ta có thể đếm một phần tử xuất hiện bao nhiêu lần trong một list bằng phương thức numbers = [0, 0, 2, 3, 3, 3, 3] print ("zero is here ", numbers.count(0), "times") print ("one is here ", numbers.count(1), "times") print ("two is here ", numbers.count(2), "time") print ("three is here ", numbers.count(3), "times") Trong ví dụ trên chúng ta đếm các số 0, 1, 2, 3 xuất hiện bao nhiêu lần. zero is here 2 times one is here 0 times two is here 1 time three is here 4 times Tiếp theo chúng ta tìm hiểu cách thêm, xóa phần tử. names = [] names.append("Frank") names.append("Alexis") names.append("Erika") names.append("Ludmila") print (names) names.insert(0, "Adriana") print (names) names.remove("Frank") names.remove("Alexis") del names[1] print (names) del names[0] print (names) Để thêm một phần tử chúng ta dùng phương thức Để xóa một phần tử chúng dùng phương thức ['Frank', 'Alexis', 'Erika', 'Ludmila'] ['Adriana', 'Frank', 'Alexis', 'Erika', 'Ludmila'] ['Adriana', 'Ludmila'] ['Ludmila'] Tiếp theo chúng ta tìm hiểu cách thay đổi một list. first = [1, 2, 3] second = [4, 5, 6] first.extend(second) print (first) first[0] = 11 first[1] = 22 first[2] = 33 print (first) print (first.pop(5)) print (first) Chúng ta có dùng phương thức [1, 2, 3, 4, 5, 6] [11, 22, 33, 4, 5, 6] 6 [11, 22, 33, 4, 5] Tiếp theo là cách tìm vị trí xuất hiện của một giá trị nào đó trong list. numbers = [0, 1, 2, 3, 3, 4, 5] print (numbers.index(1)) print (numbers.index(3)) Chúng ta dùng phương thức 1 3 Tiếp theo là cách chuyển đổi kiểu.. first = [1, 2, 3] second = (4, 5, 6) print (tuple(first)) print (list(second)) print (first) print (second) Chúng ta có thể dùng hàm (1, 2, 3) [4, 5, 6] [1, 2, 3] (4, 5, 6) Kiểu SetSet là kiểu tập hợp các phần tử không có thứ tự, không có nhiều hơn 2 phần tử có cùng một giá trị. Các phép toán có thể dùng trên set là phép hợp, giao, hiệu… giống như trong toán học. set1 = set(['a', 'b', 'c', 'c', 'd']) set2 = set(['a', 'b', 'x', 'y', 'z']) print ("set1: " , set1) print ("set2: " , set2) print ("intersection: ", set1 & set2) print ("union: ", set1 | set2) print ("difference: ", set1 - set2) print ("symmetric difference: ", set1 ^ set2) Để tạo một set thì chúng ta dùng hàm set1: set(['a', 'c', 'b', 'd']) set2: set(['a', 'x', 'b', 'y', 'z']) intersection: set(['a', 'b']) union: set(['a', 'c', 'b', 'd', 'y', 'x', 'z']) difference: set(['c', 'd']) symmetric difference: set(['c', 'd', 'y', 'x', 'z']) Tiếp theo là một số thao tác trên set. set1 = set([1, 2]) set1.add(3) set1.add(4) set2 = set([1, 2, 3, 4, 6, 7, 8]) set2.remove(8) print (set1) print (set2) print ("Is set1 subset of set2 ? : ", set1.issubset(set2)) print ("Is set1 superset of set2 ? : ", set1.issuperset(set2)) set1.clear() print (set1) Phương thức set([1, 2, 3, 4]) set([1, 2, 3, 4, 6, 7]) Is set1 subset of set2 ? : True Is set1 superset of set2 ? : False set([]) Kiểu từ điểnKiểu này lưu trữ các phần tử theo dạng các cặp khóa-giá trị (key–value). Các chỉ số trong từ điển là các khóa. Do đó các khóa phải khác nhau, chúng ta sẽ có một bài riêng để nói về kiểu này. words = { 'girl': 'Maedchen', 'house': 'Haus', 'death': 'Tod' } print (words['house']) print (words.keys()) print (words.values()) print (words.items()) print (words.pop('girl')) print (words) words.clear() print (words) Ví dụ trên mô tả sơ lược về cách sử dụng kiểu từ điển. Haus ['house', 'girl', 'death'] ['Haus', 'Maedchen', 'Tod'] [('house', 'Haus'), ('girl', 'Maedchen'), ('death', 'Tod')] Maedchen {'house': 'Haus', 'death': 'Tod'} {} |