Bài giảng Lập trình cho khoa học dữ liệu - Bài 2: Lập trình căn bản với Python cung cấp cho người học những kiến thức như: Giới thiệu về ngôn ngữ Python; Cách thực hiện câu lệnh, chương trình; Biến, kiểu dữ liệu và câu lệnh; Nhập/xuất dữ liệu. Mời các bạn cùng tham khảo!
LOGO NHẬP MƠN LẬPTRÌNH CHO KHOA HỌC DỮ LIỆU Bài Lập trình với Python Nội dung Giới thiệu ngôn ngữ Python Cách thực câu lệnh, chương trình Biến, kiểu liệu câu lệnh Nhâp/xuất liệu Giới thiệu ngôn ngữ Python ▪ Python lần đầu giới thiệu vào tháng12/1989 ▪ Tác giả Guido van Rossum (HàLan) ▪ Sinh năm 1956 ▪ Hiện làm cho Google ▪ Python kế thừa từ ngôn ngữABC ▪ Python giới thiệu năm 2000 ▪ Hỗ trợ unicode ▪ Mã python phổbiến ▪ Python phát hành năm 2008 ▪ Hiện có phiên 3.7 Giới thiệu ngôn ngữ Python ▪ Được xếp vào loại “ngôn ngữ kịch bản” (scripting programming language) ▪ ▪ ▪ ▪ Thích hợp với DevOps (viết code vận hành) Khai báo biến tự nhiên, phong phú động Nhiều phép tính cấp cao cung cấpsẵn Thường thơng dịch thay biên dịch ▪ Những người cuồng python (pythonista) cho ngôn ngữ sáng tiện dụng đến mức ta dùng cho khâu lập trình (chứ khơng phải viết script) Giới thiệu ngôn ngữ Python ▪ Là ngôn ngữ mã nguồnmở ▪ Vừa hướng thủ tục, vừa hướng đối tượng ▪ Hỗ trợ module hỗ trợ gói(package) ▪ Xử lý lỗi ngoại lệ (exception) ▪ Kiểu liệu động mức cao ▪ Có khả tương tác với module viết ngôn ngữ lập trình khác ▪ Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) Giới thiệu ngơn ngữ Python Ưu điểm ▪ Có ngữ pháp đơn giản, dễđọc ▪ Viết mã ngắn gọn chương trình tương đương viết C, C++, C#,Java,… ▪ Có thư viện chuẩn module ngoài, đáp ứng gần nhu cầu lập trình ▪ Có khả chạy nhiều tảng (Windows, Linux, Unix, OS/2, Mac, Amiga, máy ảo NET, máy ảo Java, Nokia Series 60,…) ▪ Có cộng đồng lập trình lớn, hệ thống thư viện chuẩn, mã nguồn chia sẻ nhiều Giới thiệu ngôn ngữ Python Nhược điểm ▪ Chương trình chạy chậm ▪ Giao tiếp với thư viện viết ngônngữ khác tương đối khó khăn ▪ Yếu hỗ trợ tính tốn trêndi động ▪ Gỡ lỗi địi hỏi kinh nghiệm ▪ Kém hỗ trợ sở liệu Cách thực câu lệnh Cài đặt https://www.python.org/downloads/ Cách thực câu lệnh Khởi chạy ▪ Python có chế độ thực thi ▪ Chế độ thực thi: chương trìnhcần thực • Trình dịch python nạp, dịch chạy chương trình ▪ Chế độ dòng lệnh: chạy lệnh ▪ Chế độ thực thi: “python abc.py” chạy fileabc.py Cách thực câu lệnh Chế độ dịng lệnh ▪ Lúc trình thơng dịch python chờ người dùnggõ dòng lệnh ▪ Gõ dịng lệnh xong, python chạy liền dịng ▪ Chấm dứt chế độ cách gõ lệnh: “quit()” 10 Cách thực câu lệnh Chế độ thực thi (biên dịch mã python) ▪ Trường hợp cần thiết, mã python đượcbiên dịch, kế dịch chương trình dạng bytecode cho máy ảo python ▪ Tương tự trường hợp ngôn ngữjava ▪ Mã lệnh dịch lưu vào file với đuôi.pyc ▪ Việc biên dịch có nhiều lợi điểm, chẳng hạn nhưkhi sử dụng câu lệnh import thư viện đó, sử dụng ln mã pyc có sẵn thay phải dịch lại từ đầu 12 Biến ▪ Biến = vùng nhớ đặt tên (để dễ thao tác) ▪ Biến python: ▪ ▪ ▪ ▪ ▪ Có tên, phân biệt chữ hoa/thường Không cần khai báo trước Khơng cần kiểu liệu Có thể thay đổi sang kiểu liệu khác Nên gán giá trị bắt đầu xuấthiện ▪ Ví dụ: n = 12 # biến n l kiểu nguyên n = n + # b iến n chuyển sang k i ểu th ực 13 Biến ▪ Tên biến chứa chữ chữ số gạch (_), kí tự bắt đầu khơng dùngchữ số ▪ Khơng trùng với từ khóa (tất nhiên) ▪ Từpython dùng chữ cáiunicode ▪ Tất biến python đối tượng, có kiểu vị trí nhớ (id) 14 Kiểu liệu Kiểu int (số nguyên) ▪ Kiểu Int biểu diễn số nguyên (Integer) • Giá trị: …, –3, –2, –1, 0, 1, 2, 3, 4, 5, … • Số ngun có định dạng: 1, 45, 43028030 (khơng có dấu phẩy dấu chấm) • Các tốn tử: +, –, *, //, **, tốn tử ngơi – ▪ Nguyên tắc: toán tử giá trị Int phải mang kiểu Int • Ví dụ: // 2, kết trả phần ngun 0; • Tốn hạng thường sử dụng cùng: % (lấy phần dư) • Toán hạng / ko phải phép chia Python3 ▪ Trong Python 3.X, kiểu liệu số nguyên vơ hạn, cho phép tính tốn với số lớn, điều mà đa số ngơn ngữ lập trình khác KHƠNG THỂ 15 Kiểu liệu Kiểu float (số thực) ▪ Kiểu float biểu diễn số thực: tập hợp số nguyên số thập phân 1, 1.4, -123, 69.96,… ▪ Giá trị: phân biệt với số nguyên số thập phân • Trong Python, số có ‘.’ số thực (Ví dụ: 2.0) ▪ Các toán tử: +, –, *, /, **, toán tử ngơi – • Chú ý, số thức có phép chia / khác với số ngun // • Ví dụ: 1.0 // 2.0 tính ▪ Kí hiệu mũ có ý nghĩa cho số giá trị lớn • 22.51e–6 22.51 * 10–6 hay 0.00002251 ▪ Số thực Python có độ xác xấp xỉ 15 chữ số phần thập phân ▪ Sử dụng decimal để có độ xác cao from decimal import * 16 Kiểu liệu Kiểu phân số ▪ Phân số gồm hai phần tử số mẫu số ▪ Tạo phân số Python: Fraction(, ) ▪ Ví d: Nhp phõn s ẳ, 3/9, ắ, 17 Kiu d liệu Kiểu số phức ▪ Số phức gồm thành phần: + j ▪ Trong • số thực • j đơn vị ảo toán học với j2 = -1 ▪ Tạo số thực: complex(,) ▪ Gán giá trị số phức cho biến: • = + j ▪ Để xuất phần thực: • .real ▪ Để xuất phần ảo: ▪ .imag 18 Kiểu liệu Kiểu chuỗi ▪ Dữ liệu kiểu chuỗi quan trọng lậptrình python vấn đề khoa học liệu ▪ Khai báo liệu kiểu chuỗi nằm bên cặp nháy đơn ('), nháy kép (") dấunháy kép liên tiếp (""") name = ' m a t t ' # chu ỗ i t r ongnó có chứa dấu nháy đơn with_quote = " I a i n ' t gonna" # chuỗi có n i dung nằm t r ê n dòng longer = " " "T h is st r i ng has multiple lines i n i t " " " 19 Kiểu liệu Escape sequence ▪ Escape sequence phương pháp để viết cáckí tự đặc biệt python ▪ Tương tự ngơn ngữ lập trình khác 20 Kiểu liệu Chuỗi trần ▪ Đặt vấn đề: bạn thao tác với đường dẫn file, chuỗi có dạng Ổ_đĩa:\Thư_mục\Thư_mục ▪ Nếu tên thư mục bắt đầu với chữ t, n, a, v, b,… kết hợp với kí tự \ thành escape sequence, điều gây nhầm lẫn viết nội dungcác chuỗi ▪ Python cho phép sử dụng dạng chuỗi, gọi chuỗi trần, cách bỏ qua escapesequence (ký tự đặc biệt) ▪ Cú pháp: r ’ n ộ i dung c h u ỗ i ’ 21 Kiểu liệu Kiểu Boolean ▪ Thường gọi tắt kiểu Bool/ kiểu Đúng – Sai/ kiểu Luận lý ▪ Là kiểu giá trị có hai giá trị (True) sai (False) 22 Kiểu liệu Chú thích ▪ Python sử dụng kí tự # để thích đoạncode ▪ Tất nội dung sau kí tự # khơng dịch 23 Nhâp, xuất liệu Xuất liệu ▪ Sửdụng hàm print để in liệu mànhình >>> p r i n t ( ) 42 >>> p ri n t( " a = " , a) a = 3.564 >>> p r i n t ( " a = \ n " , a ) a =3.564 >>> p ri n t( " a ", " b " ) a b >>> p r i n t ( " a " , " b " , s e p = " " ) ab >>> p r in t(1 92,16 8,1 78 ,42 ,se p=".") 192.168.178.42 >>> p r i n t ( " a " , " b " , s e p = " : - ) " ) a : - ) b 24 Nhâp, xuất liệu Nhập liệu ▪ Sửdụng hàm input để nhập liệu từ bànphím name = input("What's your name? " ) p r i n t ( " Nice t o meet you " + name+ " ! " ) age =input("Your age? " ) p r i n t ( " Yo u are already " + age + " years o l d , " + name + "!") ▪ Có thể kết hợp chuyển kiểu muốn tườngminh age = i n t ( i n p u t ( " Yo u r age? " ) ) p r i n t ( " Yo u are already %d years o l d ! " , age) 25 LOGO ... .real ▪ Để xuất phần ảo: ▪ .imag 18 Kiểu liệu Kiểu chuỗi ▪ Dữ liệu kiểu chuỗi quan trọng lậptrình python vấn đề khoa học liệu ▪ Khai báo liệu kiểu chuỗi nằm bên cặp nháy đơn ('), nháy kép... hạng / ko phải phép chia Python3 ▪ Trong Python 3.X, kiểu liệu số ngun vơ hạn, cho phép tính tốn với số lớn, điều mà đa số ngơn ngữ lập trình khác KHƠNG THỂ 15 Kiểu liệu Kiểu float (số thực)... thay biên dịch ▪ Những người cuồng python (pythonista) cho ngôn ngữ sáng tiện dụng đến mức ta dùng cho khâu lập trình (chứ viết script) Giới thiệu ngôn ngữ Python ▪ Là ngôn ngữ mã nguồnmở ▪ Vừa