Bài giảng Kỹ thuật lập trình CKT - Chương 3: Các kiểu dữ liệu trong Python - Nguyễn Thanh Nhã

3.1. Biến và phép gán trong Python
- Biến là các vị trí bộ nhớ được dành riêng để lưu trữ dữ liệu.
- Khi một biến đã được lưu trữ, một khoảng không gian đã
được cấp phát trong bộ nhớ đó.
- Dựa trên kiểu dữ liệu của một biến, trình thông dịch cấp phát
bộ nhớ và quyết định những gì có thể được lưu trữ trong
khu nhớ dành riêng cho biến đó.
- Bằng việc gán các kiểu dữ liệu khác nhau cho các biến, bạn
có thể lưu trữ số nguyên, thập phân hoặc ký tự trong các
biến này 
pdf 20 trang xuanthi 27/12/2022 2880
Bạn đang xem tài liệu "Bài giảng Kỹ thuật lập trình CKT - Chương 3: Các kiểu dữ liệu trong Python - Nguyễn Thanh Nhã", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfbai_giang_ky_thuat_lap_trinh_ckt_chuong_3_cac_kieu_du_lieu_t.pdf

Nội dung text: Bài giảng Kỹ thuật lập trình CKT - Chương 3: Các kiểu dữ liệu trong Python - Nguyễn Thanh Nhã

  1. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3 Các kiểu dữ liệu trong Python (Standard Data Types in Python) Department of Engineering Mechanics – HCMUT 2019 3 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.1. Biến và phép gán trong Python -Biếnlà các vị trí bộ nhớ được dành riêng để lưu trữ dữ liệu. - Khi một biến đã được lưu trữ, một khoảng không gian đã được cấp phát trong bộ nhớ đó. -Dựatrênkiểu dữ liệu của một biến, trình thông dịch cấp phát bộ nhớ và quyết định những gì có thể được lưu trữ trong khu nhớ dành riêng cho biến đó. -Bằngviệcgán các kiểu dữ liệu khác nhau cho các biến,bạn có thể lưu trữ số nguyên, thập phân hoặc ký tự trong các biến này. Department of Engineering Mechanics – HCMUT 2019 4 nhanguyen@hcmut.edu.vn 2
  2. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python Python có 5 kiểu dữ liệu chuẩn: Department of Engineering Mechanics – HCMUT 2019 7 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python Kiểu luận lý (boolean) - Kiểu giá trị luận lý thường dùng trong các biểu thức điều kiện khi lập trình (if, while) - Kiểu luận lý chỉ có 2 kết quả là True (hay 1) hoặc False (hay 0) - Các toán tử: and, or, not Ví dụ: >>> 2 > 1 >>>b = 1 > 5 >>>True and False True >>>b False >>>True >= False >>>True is 1 >>>True == 1 True False True >>>5 is 5 >>>True and 1 >>>1 and True True 1 True Department of Engineering Mechanics – HCMUT 2019 8 nhanguyen@hcmut.edu.vn 4
  3. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 1. Numeric types >>> import math Các hàm số học thường dùng >>> from math import * Hàm Miêu tả Hàm Miêu tả abs(x) |x| math.trunc(x) int(x) Chuyển thành số nguyên math.floor(x) float(x) Chuyển thành số thực math.ceil(x) complex(re, im) Chuyển thành số phức math.sqrt(x) Căn bậc 2 của x c.conjugate() Liên hợp của số phức c math.exp(x) e x y pow(x, y) x math.log(x) ln(x) y x y x math.log10(x) log(x) cơ số 10 math.log(x,n) log(x) cơ số n Department of Engineering Mechanics – HCMUT 2019 11 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 2. Text Sequence Type - str - String là một trong các kiểu phổ biến nhất trong Python. - String trong Python là immutable. - Có thể tạo các chuỗi bằng cách bao một text trong một trích dẫn đơn hoặc trích dẫn kép. Python coi các lệnh trích dẫn đơn và kép là như nhau Ví dụ: >>> text1 = ‘I will be an engineer’ >>> print(text1) >>> text2 = “I will be a CAE engineer” >>> print(text2) Department of Engineering Mechanics – HCMUT 2019 12 nhanguyen@hcmut.edu.vn 6
  4. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 2. Text Sequence Type - str Các toán tử quan hệ để thao tác với String: , =, ==, !=, >> “Today” == “Today” >>> “Today” == “today” True False >>> “T” >> print("Bill Gates has %d billions %s" % (100, “USD”)) >>> print("Bill Gates has %e billions %s" % (100, “USD”)) >>> print("Bill Gates has %f billions %s" % (100, “USD”)) Department of Engineering Mechanics – HCMUT 2019 15 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 2. Text Sequence Type - str Xử lý các ký tự đặc biệt \n : ký tự xuống hàng \t : ký tự tab >>> print(“ky tu \n dung de xuong hang”) ky tu dung de xuong hang >>> print(r“ky tu \n dung de xuong hang”) ky tu \n dung de xuong hang >>> print(“ky tu “”\t”” dung de TAB”) ky tu dung de TAB >>> print(“ky tu “r”\t”” dung de TAB”) ky tu \t dung de TAB Department of Engineering Mechanics – HCMUT 2019 16 nhanguyen@hcmut.edu.vn 8
  5. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 3. List - List trong Python là cấu trúc dữ liệu có khả năng lưu giữ các kiểu dữ liệu khác nhau. - List trong Python là kiểu thay đổi (mutable), nghĩa là Python sẽ không tạo một List mới khi một phần tử trong List bị sửa đổi. - List giữ các đối tượng khác nhau trong một thứ tự đã cho. Các hoạt động khác nhau như chèn hoặc xóa có thể được thực hiện trên List. - Một List có thể được tạo ra bởi lưu trữ một dãy các kiểu giá trị khác nhau được phân biệt bởi các dấu phẩy. Cú pháp để tạo List =[giatri1, giatri2, , giatriN]; >>> ckt16 = [“CKT16”, “GVCN: Pham Quoc Hung”, 54, 4] >>> diemThi = [5, 8, 9, 10, 2] Department of Engineering Mechanics – HCMUT 2019 19 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 3. List Truy xuất giá trị trong List - Tương tự như String, List có thể được truy xuất từ cả hai hướng • tiến về trước forward (bắt đầu từ 0) • ngược về sau backward (bắt đầu từ -1) - Cú pháp truy cập giá trị List [index] >>> ckt16 = [“CKT16”, “GVCN: Tran Kim Bang”, 54, 46] >>> ckt16[0] 'CKT16‘ >>> ckt16[0:2] [“CKT16”, “GVCN: Tran Kim Bang”] >>> ckt16[-1] 46 Department of Engineering Mechanics – HCMUT 2019 20 nhanguyen@hcmut.edu.vn 10
  6. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 3. List Các thao tác cơ bản trên List - Phép cộng + và phép nhân * TạoraListmới >>> list1 = [2, 3, 5, 4] >>> list4 = 2*list1 >>> list2 = [“a”, “b”, “c”] >>> list4 >>> list3 = list1 + list2 [2,3,5,4,2,3,5,4] >>> list3 [2,3,5,4,“a”,“b”,“c”] - List trong List >>> list1 = [2, 3, 5, 4] >>> list5[3] >>> list5 = [0, 1, 0, list1] [2,3,5,4] >>> list5 >>> list5[3][1] [0, 1, 0, [2, 3, 5, 4]] 3 Department of Engineering Mechanics – HCMUT 2019 23 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 3. List Các thao tác cơ bản trên List: cập nhật giá trị - Có thể cập nhật một hoặc nhiều phần tử của List bằng phép gán giá trị cho vị trí cụ thể trong List - Cú pháp: [index]= >>> list1 = [2, 3, 5, 4] >>> list1[1] = 'xyz' >>> list1 [2, 'xyz', 5, 4] Department of Engineering Mechanics – HCMUT 2019 24 nhanguyen@hcmut.edu.vn 12
  7. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 3. List Một số hàm và phương thức thường dùng trên List Hàm Miêu tả cmp(list1, list2) So sánh các phần tử trong hai list len(list) Trả về độ dài của list max(list), min(list) Trả về phần tử có giá trị lớn nhất/nhỏ nhất trong list Phương thức Miêu tả list.count(obj) Đếm số lần obj xuất hiện trong list list.extend(seq) Thêm list seq vào sau list list.reverse() Đảo ngược các thành phần list.sort() Sắp xếp các thành phần từ nhỏ đến lớn Department of Engineering Mechanics – HCMUT 2019 27 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 4. Tuple - Tuple là dãy các đối tượng không thay đổi (immutable)trong Python, vì thế tuple không thể bị thay đổi. Các tuple cũng là các dãy giống như List. - Các đối tượng trong tuple được phân biệt bởi dấu phẩy và được bao quanh bởi dấu ngoặc đơn (). Nếu các dấu ngoặc đơn không được cung cấp với một dãy, thì nó được coi như là tuple. - Giống như chỉ số của chuỗi và list, chỉ mục của tuple bắt đầu từ 0. Cú pháp tạo Tuple =(value1, value2, , valueN) >>> ckt16 = (“CKT16”, “GVCN: PQH”, 54, 46) >>> diemThi = 5, 8, 9, 10, 2 >>> diemKT = () Chú ý: Nếu tuple có 1 phần tử đơn thì phải có dấu phẩy cuối >>> tuple1 = (5,) Department of Engineering Mechanics – HCMUT 2019 28 nhanguyen@hcmut.edu.vn 14
  8. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 4. Tuple Một số hàm thường dùng trên Tuple Hàm Miêu tả cmp(tuple1, tuple2) So sánh các phần tử trong hai tuple len(tuple) Trả về độ dài của tuple max(tuple), min(tuple) Trả về phần tử có giá trị lớn nhất/nhỏ nhất trong tuple list.count(obj) Đếm số lần obj xuất hiện trong tuple Department of Engineering Mechanics – HCMUT 2019 31 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 5. Dictionary - Dictionary là một tập hợp các cặp key và value không có thứ tự. - Dictionary là một container chứa dữ liệu, được bao quanh bởi cặp dấu ngoặc nhọn { }. Mỗi cặp key-value được xem như là một item. - Key mà đã truyền cho item đó phải là duy nhất, trong khi đó value có thể là bất kỳ kiểu giá trị nào. - Key phải là một kiểu dữ liệu không thay đổi (immutable) như chuỗi, số hoặc tuple. -Keyvà value được phân biệt riêng rẽ bởi một dấu hai chấm (:). Các item phân biệt nhau bởi một dấu phẩy (,). Department of Engineering Mechanics – HCMUT 2019 32 nhanguyen@hcmut.edu.vn 16
  9. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 5. Dictionary Xóa phần tử trong Dictionary del [key] >>> char1 = {'Name':'Mr. Bean', 'Born': 1960, 'Heigh': 170} >>> del char1['Born'] >>> char1 Xóa cả Dictionary del >>> del char1 >>> char1 Department of Engineering Mechanics – HCMUT 2019 35 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS 3.2. Các kiểu dữ liệu trong Python 5. Dictionary Một số hàm và phương thức thường dùng trong Dictionary Hàm Miêu tả cmp(dict1, dict2) So sánh các phần tử trong hai dict len(dict) Trả về độ dài của dict str(dict) Trả về chuỗi có thể in ra được cho dict Phương thức Miêu tả dict.clear() Xóa tất cả phần tử của dict dict.copy() Trả về bản sao của dict dict.get(key) Trả về giá trị của key đã cho. Nếu key không có mặt thì phương thức này trả về None dict.has_key(key) Trả về true nếu key là có mặt trong Dictionary, nếu không là false Department of Engineering Mechanics – HCMUT 2019 36 nhanguyen@hcmut.edu.vn 18
  10. TS. Nguyễn Thanh Nhã 9/3/2019 Chương 3. Các kiểu dữ liệu trong Python PROGRAMMING FOR ENGINEERINGS Bài tập tại lớp Bài 3. Theo Wikipedia, Giờ Hoàng đạo được tính như sau: “Một ngày đêm âm lịch là 12 giờ (2 tiếng đồng hồ là một giờ), bắt đầu là giờ Tý (từ 11 giờ đêm - 1 giờ sáng) theo thứ tự: Tý, Sửu, Dần, Mão, Thìn, Tị,Ngọ, Mùi, Thân, Dậu, Tuất, Hợi.” Như vậy giờ Tý bắt đầu từ 23h đêm hôm trước đến trước 1h sáng hôm sau, từ 1h đến trước 3h là giờ Sửu, được tóm tắt trong bảng sau: 23h – 1h 1h – 3h 3h – 5h 5h – 7h 7h – 9h 9h – 11h Tý Sửu Dần Mão Thìn Tị 11h – 13h 13h – 15h 15h – 17h 17h – 19h 19h – 21h 21h – 23h Ngọ Mùi Thân Dậu Tuất Hợi Hãy viết chương trình để khi người dùng nhập vào giờ (số nguyên) thì xuất ra kết quả là giờ hoàng đạo tương ứng. VD: Input: 16 Output: Thân Department of Engineering Mechanics – HCMUT 2019 39 nhanguyen@hcmut.edu.vn 20