1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Lập trình cho khoa học dữ liệu - Bài 5: Xử lý dữ liệu trong Python

19 29 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 545,22 KB

Nội dung

Bài giảng Lập trình cho khoa học dữ liệu - Bài 5: Xử lý dữ liệu trong Python cung cấp cho người học những kiến thức như: Ngoại lệ và xử lý ngoại lệ; Làm việc với tập tin; Bài tập. Mời các bạn cùng tham khảo!

LOGO LẬPTRÌNH CHO KHOA HỌC DỮ LIỆU Bài Xử lý liệu Python Nội dung Ngoạilệvàxử lýngoạilệ Làm việc với tập tin Bài tập Ngoại lệ ▪ Ngoại lệ = lỗi, đúng, không hẳn ▪ Thường người ta chia lỗi thành 3nhóm Lỗi viết chương trình: hệ làchương trình khơng chạy thông dịch (hoặc khôngdịch được, biên dịch) Lỗi chương trình chạy: hệ phải thực hiệnlại • Chẳng hạn nhập liệu khơng đúng, phải nhậplại Ngoại lệ: lỗi, xảy có bất thường khiến chức khơng thểthực • Chẳng hạn ghi liệu file, file lại bị tiến trình khác xóamất Ngoại lệ ▪ Ranh giới ngoại lệ lỗi mong manh, chí khó phân biệt nhiều tìnhhuống ▪ Cách chia lỗi thành nhóm có khuynh hướng cho mơi trường thực thi chương trình thân thiện hồn hảo ▪ Python có xu hướng chia lỗi thành 2loại ▪ Syntax error: viết sai cú pháp, khiến chương trình thơng dịch khơng dịch ▪ Exception: xảy bất thường không thiết kế • Như xử lý exception khiến chương trình ổn định hoạt động tốt tìnhhuống Ngoại lệ ▪ Ví dụ syntax error: >>> while True p r i n t ( ' H e l l o w o r l d ' ) File "", l i n e while True p r i n t ( ' H e l l o w o r l d ' ) ^ SyntaxEr r o r : i n v a li d syntax ▪ Ví dụ exception: >>> 10 * ( / ) Traceback (most recent c a l l l a s t ) : F il e " " , l i n e , i n Z e r o D ivisio nError : d i v i s i o n by zero ▪ Có vẻ syntax error exception!!! Xử lý ngoại lệ whi l e Tr ue: Vòng lặp nhập X người dùng nhập vào giá trị số t r y: x = i nt ( i nput ( " Nhập số X: " ) ) break Khối nhập X (có thể nhập lỗi) except ValueError: p r i n t ( " L ỗ i , nhập l i " ) Xử lý lỗi xảy pr i nt ( " X =" , x) Xử lý ngoại lệ ▪ Có thể gồm tới khối: ▪ Khối “try”: đoạn mã có khả gây lỗi, lỗi xảy ra, khối bị dừng dòng gây lỗi ▪ Khối “except”: đoạn mã xử lý lỗi, thực có lỗi xảy ra, không bị bỏqua ▪ Khối “else”: xuất sau khối except cuối cùng, đoạn mã thực khơng có except thực (đoạn try khơngcó lỗi) ▪ Khối “finally”: cịn gọi khối clean-up, lnđược thực dù có xảy lỗi haykhơng Xử lý ngoại lệ ▪ Chú ý: ▪ Khối try có khối nhất, phải viết ▪ Khối finally có hay khơng, có khốinày phải viết cuối ▪ Khối except khơng viết, có mộtkhối, nhiều khối except (để xử lý nhiều tình lỗikhác nhau) ▪ Một khối except xử lý loại lỗi, nhiều loại lỗi tất loại lỗi ▪ Nếu không xử lý triệt để lỗi “ném” trả lại lỗi lệnh “raise” ▪ Có thể phát sinh ngoại lệ lệnh “raise” Xử lý ngoại lệ except (NameError, TypeError): print("Name or Type error") except IOError as e: # xử l ý l o i l ỗ i # lấy đối tượng l ỗ i , đặt tên e print(e) raise except ValueError: print("Value error") # t r ả l i l ỗ i # xử l ý l ỗ i Value # xử l ý t ấ t l ỗ i l i except: print("An error occurred") raise NameError("Ko b i t " ) # tạo l ỗ i “Ko b i t ” else: print("OK") # thực khơng có l ỗ i Xử lý ngoại lệ Exception Miêu tả Exception Lớp sở (base class) tất ngoại lệ StopIteration Được tạo phương thức next() iterator không trỏ tớibất kỳ đối tượng StandardError Lớp sở tất exception có sẵn ngoại trừ StopIteration SystemExit ArithmeticError Lớp sở tất lỗi xảy cho phép tính số học OverflowError Được tạo phép tính vượt giới hạn tối đa cho kiểu số FloatingPointError Được tạo phép tính số thực thất bại ZeroDivisonError Được tạo thực phép chia cho số với tất kiểu số AssertionError Được tạo trường hợp lệnh assert thất bại 10 Xử lý ngoại lệ Exception Miêu tả AttributeError Được tạo trường hợp tham chiếu gán thuộc tính thất bại EOFError Được tạo khơng có input từ hàm raw_input() hoặchàm input() tới EOF(viết tắt end offile) ImportError Được tạo lệnh import thấtbại KeyboardInterrupt Được tạo người dùng ngắt việc thực thi chương trình, thườnglà nhấn Ctrl+c LookupError Lớp sở cho tất lỗi truy cứu IndexError Được tạo mục khơng tìm thấy mộtdãy (sequence) KeyError Được tạo key cho không tìm thấy Dictionary NameError Được tạo định danh khơng tìm thấy tronglocal global namespace 11 Xử lý ngoại lệ Exception Miêu tả UnboundLocalError Được tạo cố gắng truy cập biến cục từ mộthàm phương thức mà khơng có giá trị gán cho EnvironmentError Lớp sở cho tất ngoại lệ mà xuất ngồi mơi trường Python IOError Được tạo hoạt động i/o thất bại, chẳng hạn lệnh printhoặc hàm open() cố gắng mở file không tồn OSError Được lỗi liên quan tới hệ điều hành SyntaxError Được tạo có lỗi liên quan tớicú pháp IndentationError Được tạo độ thụt dịng code khơng xác định hợplý SystemError Được tạo trình thơng dịch tìm thấy vấn đề nội tại, lỗi bắt gặp trình thơng dịch khơng thoátra 12 Xử lý ngoại lệ Exception Miêu tả SystemExit Được tạo trình thơng dịch sử dụng hàm sys.exit() Nếu không xử lý code, làm cho trình thơng dịch TypeError Được tạo hoạt động hàm sử dụng kiểudữ liệu không hợp lệ ValueError Được tạo hàm xây dựng sẵn có kiểu tham số hợp lệ giá trị xác định cho tham số khơng hợp lệ RuntimeError Được tạo lỗi tạo không loại NotImplementedError Được tạo phương thức abstract, mà cần triển khai lớp kế thừa, không triển khai thực 13 Làm việc với tệp tin ▪ Làm việc với tập tin python gồm 3bước: Mở file Đọc/ghi file Đóng file ▪ Các bước phát sinh ngoại lệ IOError ▪ Thay đặt tồn bước khối try, ta mở file với phát biểu with đây: w i t h o p e n ( " m y f i l e t x t " ) as f : ▪ Ưu điểm: file ln đóng, dù có lỗi haykhơng 14 Làm việc với tệp tin ▪ Mở file: f = open(filename,mode) ▪ Các chế độ mở file hay sử dụng: ▪ ▪ ▪ ▪ ▪ ▪ ‘r’: chỉđọc ‘w’: chỉghi ‘a’: ghi vào cuối file ‘r+’: đọc ghi ‘t’: mở file văn (mặcđịnh) ‘b’: mở file nhịphân ▪ Đóng file: f.close() ▪ File khơng sử dụng nên đóng 15 Làm việc với tệp tin ▪ Có hàm đọc file bản: ▪ read(x): đọc x byte tiếp theo, không viết x đọc đến cuối file ▪ readline(x): đọc dòng từ file, tối đa x byte, khơng viết x đọc tới gặp kí tự hết dịng hết file ▪ readlines(x): sử dụng readline đọc dòng hết file trả danh sách string, viết x đọc tối đa xbyte 16 Làm việc với tệp tin ▪ Nếu muốn duyệt hết file từ đầu đến cuối theo dịng sử dụng đoạn mã sau hiệu w it h open ('w or k f i l e ') as f : for line in f : p r i n t ( l i n e , end='') ▪ Ghi liệu file: ▪ write(x): ghi x file, trả số byteghi ▪ writelines(x): ghi toàn nội dung x theo dòng, x list of string 17 Làm việc với tệp tin ▪ flush(): ép đẩy liệu nhớ tạmra file ▪ tell(): trả vị trí trỏ file ▪ seek(n): dịch trỏ file đến vị trí byte thứ n ▪ Hàm có thêm tham số thứ 2, cho phép diễn giải cách hiểu tham sốn ▪ Nếu khơng viết, =0: vị trí n tính từ đầu file ▪ =1: vị trí n tính từ vị tríhiện ▪ =2: vị trí n tính từ cuốifile ▪ truncate(n): cắt file vị trí byte thứ n, vị trí (nếu khơng viết giá trị n) 18 LOGO ... khơng xử lý code, làm cho trình thơng dịch thoát TypeError Được tạo hoạt động hàm sử dụng kiểudữ liệu không hợp lệ ValueError Được tạo hàm xây dựng sẵn có kiểu tham số hợp lệ giá trị xác định cho. .. khơng viết, có mộtkhối, nhiều khối except (để xử lý nhiều tình lỗikhác nhau) ▪ Một khối except xử lý loại lỗi, nhiều loại lỗi tất loại lỗi ▪ Nếu khơng xử lý triệt để lỗi “ném” trả lại lỗi lệnh “raise”... khơng xác định hợplý SystemError Được tạo trình thơng dịch tìm thấy vấn đề nội tại, lỗi bắt gặp trình thơng dịch khơng thốtra 12 Xử lý ngoại lệ Exception Miêu tả SystemExit Được tạo trình thơng dịch

Ngày đăng: 09/08/2021, 18:00

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w