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

Bài giảng Nhập môn lập trình khoa học dữ liệu: Bài 4 - Trương Xuân Nam

30 37 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 30
Dung lượng 772,39 KB

Nội dung

Bài giảng Nhập môn lập trình khoa học dữ liệu: Bài 4 Ngôn ngữ lập trình python (3) cung cấp cho người học những kiến thức như: Kiểu dữ liệu tuần tự (sequential data type); String (chuỗi); List (danh sách); Tuple (hàng); Range (miền). Mời các bạn cùng tham khảo!

NHẬP MƠN LẬP TRÌNH KHOA HỌC DỮ LIỆU Bài 4: Ngơn Ngữ Lập Trình Python (3) Nhắc lại kiến thức trước  Python hỗ trợ kiểu số mạnh nhiều loại phép tính phong phú  Sử dụng if cho tất nhu cầu rẽ nhánh  Phép toán if cho phép viết lệnh cách tự nhiên  Vịng lặp while tương tự ngơn ngữ khác  Ngoại trừ việc có thêm khối else  Vòng lặp for cho phép thực lặp với giá trị nhận từ danh sách  Sử dụng từ khóa def để định nghĩa hàm, hàm có tham số mặc định TRƯƠNG XUÂN NAM Nội dung Kiểu liệu (sequential data type) String (chuỗi) List (danh sách) Tuple (hàng) Range (miền) Bài tập TRƯƠNG XUÂN NAM Phần Kiểu liệu (sequential data type) TRƯƠNG XUÂN NAM Kiểu liệu  Kiểu liệu tuần tự: kiểu liệu chứa bên liệu nhỏ thường xử lý cách lấy phần-tử-một (bằng vòng for)  Các kiểu liệu chứa bên liệu nhỏ thường gọi container (bộ chứa)  Khái niệm “tuần tự” nhấn vào việc xử lý phần tử một, không thiết cách xử lý  Có kiểu thông dụng list, tuple range  Có nhiều kiểu khác string, bytes, bytearray,… lập trình viên tự tạo kiểu riêng theo nhu cầu TRƯƠNG XUÂN NAM Phần String (chuỗi) TRƯƠNG XUÂN NAM Kiểu chuỗi  Một chuỗi xem hàng (tuple) chuỗi độ dài  Trong python khơng có kiểu kí tự (character)  Nội dung chuỗi không thay đổi được, ghép thêm nội dung vào chuỗi thực chất tạo chuỗi  Hàm len(s) trả độ dài (số chữ) s  Phép toán với chuỗi:  Phép nối chuỗi (+): s = "Good" + " " + "Morning!"  Phép nhân (*): s = "AB" * # số nguyên  Kiểm tra nội dung: s in '1ABABABCD' # True TRƯƠNG XUÂN NAM Chỉ mục chuỗi  Các phần tử (các chữ) chuỗi đánh số thứ tự truy cập vào phần tử theo số Python trì cách đánh mục khác nhau:  Đánh từ trái qua phải: số đánh từ trở cuối chuỗi  Đánh từ phải qua trái: số đánh từ -1 giảm dần đầu chuỗi Đ H T H U Y L O I -9 -8 -7 -6 -5 -4 -3 -2 -1 TRƯƠNG XUÂN NAM Cắt chuỗi  Dựa mục, phép cắt chuỗi cho phép lấy nội dung bên chuỗi cú pháp sau  [vị trí A : vị trí B]  [vị trí A : vị trí B : bước nhảy]  Giải thích:  Tạo chuỗi đến trước • Tức chuỗi khơng gồm vị trí B     Nếu khơng ghi mặc định lấy từ đầu Nếu khơng ghi mặc định đến hết chuỗi Nếu khơng ghi mặc định bước Nếu giá trị âm nhận chuỗi ngược lại TRƯƠNG XUÂN NAM Cắt chuỗi s = '0123456789' print(s[3:6]) print(s[3:]) print(s[:6]) print(s[-7:-4]) print(s[-4:-7]) print(s[-4:-7:-1]) print(s[:len(s)]) print(s[:len(s)-1]) print(s[:]) print(s[len(s)::-1]) print(s[len(s)-1::-1]) print(s[len(s)-2::-1]) # # # # # # # # # # # # 345 3456789 012345 345 654 0123456789 012345678 0123456789 9876543210 9876543210 876543210 TRƯƠNG XUÂN NAM 10 Các phương thức chuỗi  Các phương thức khác  join(list): ghép phần tử list phần gạch nối nội dung chuỗi, ví dụ: '-'.join(('1', '2', '3'))  replace(old, new [,count]): nội dung old nội dung new, tối đa count lần  count(sub, [start, [end]]): đếm số lần xuất sub  startswith(prefix): kiểm tra đầu có prefix khơng  endswith(prefix): kiểm tra cuối có prefix khơng  find(sub[, start[, end]]): tìm vị trí sub (-1: khơng có)  rfind(sub[, start[, end]]): find tìm từ cuối  islower(), isupper(), istitle(), isdigit(), isspace() TRƯƠNG XUÂN NAM 16 Phần List (danh sách) TRƯƠNG XUÂN NAM 17 Giới thiệu khai báo  List = dãy đối tượng (một loại array đa năng)  Khai báo trực tiếp cách liệt kê phần tử đặt cặp ngoặc vuông ([]), ngăn cách phẩy [1, 2, 3, 4, 5] ['a', 'b', 'c', 'd'] [[1, 2], [3, 4]] [1, 'one', [2, 'two']] [] # # # # # list list list list list số nguyên chuỗi list hỗ hợp rỗng  Kiểu chuỗi (str) python xem list đặc biệt, bên gồm toàn str độ dài TRƯƠNG XUÂN NAM 18 Khởi tạo list  Tạo list constructor l1 = list([1, 2, 3, 4]) # list số nguyên l2 = list('abc') # list chuỗi l3 = list() # list rỗng  Tạo list list comprehension # X # # Y list 1000 số nguyên từ đến 999 = [n for n in range(1000)] list gồm 10 list cặp [x, x2] với x chạy từ đến = [[x, x*x] for x in range(10)] TRƯƠNG XUÂN NAM 19 Phép toán, mục cắt  Giữa list str có tương đồng định  List hỗ trợ phép toán: ghép nối (+), nhân (*) kiểm tra nội dung (in)  List sử dụng hệ thống mục phép cắt phần tương tự str  Điểm khác biệt nội dung list thay đổi l1 = list([1, 2, 3, 4]) l1[-1] = list('abc') print(l1) # [1, 2, 3, ['a', 'b', 'c']] TRƯƠNG XUÂN NAM 20 Các phương thức list  Một số phương thức thường hay sử dụng  count(sub, [start, [end]]): đếm số lần xuất sub  index(sub[, start[, end]]): tìm vị trí xuất sub, trả ValueError khơng tìm thấy  clear(): xóa trắng list  append(x): thêm x vào cuối list  extend(x): thêm phần tử x vào cuối list  insert (p, x): chèn x vào vị trí p list  pop(p): bỏ phần tử thứ p khỏi list (trả giá trị phần tử đó), khơng định p lấy phần tử cuối TRƯƠNG XUÂN NAM 21 Các phương thức list  Một số phương thức thường hay sử dụng  copy(): tạo list (tương tự list[:])  remove(x): bỏ phần tử list có giá trị x, báo lỗi ValueError khơng tìm thấy  reverse(): đảo ngược phần tử list  sort(key=None, reverse=False): mặc định xếp phần tử từ bé đến lớn list cách so sánh trực tiếp giá trị x = "Trương Xuân Nam".split() x.sort(key=str.lower) print(x) TRƯƠNG XUÂN NAM 22 Phần Tuple (hàng) TRƯƠNG XUÂN NAM 23 Tuple dạng readonly list  Tuple = dãy đối tượng (list), bị thay đổi giá trị q trình tính tốn  Như str giống tuple nhiều list  Khai báo trực tiếp cách liệt kê phần tử đặt cặp ngoặc tròn (), ngăn cách phẩy (1, 2, 3, 4, 5) ('a', 'b', 'c', 'd') (1, 'one', [2, 'two']) (1,) () # # # # # TRƯƠNG XUÂN NAM tuple tuple tuple tuple tuple số nguyên chuỗi hỗ hợp phần tử rỗng 24 Tuple list nhiều điểm giống  Tuple tạo constructor tuple comprehension  Tuple hỗ trợ phép toán: +, *, in  Tuple cho phép sử dụng mục cắt  Các phương thức thường dùng tuple  count(v): đếm số lần xuất v tuple  index(sub[, start[, end]]): tương tự str list  Tuple khác list điểm nào?  Chiếm nhớ  Nhanh TRƯƠNG XUÂN NAM 25 Phần Range (miền) TRƯƠNG XUÂN NAM 26 Range tuple đặc biệt?  Chúng ta làm quen với range dùng vòng for  range(stop): tạo miền từ đến stop-1  range(start, stop[, step]): tạo miền từ start đến stop-1, với bước nhảy step • Nếu khơng định step = • Nếu step số âm tạo miền đếm giảm dần (start > stop)  Vậy range khác tuple đặc biệt     Range chứa số nguyên Range nhanh nhiều Range chiếm nhớ Range hỗ trợ mục cắt (nhưng đặc biệt) TRƯƠNG XUÂN NAM 27 Phần Bài tập TRƯƠNG XUÂN NAM 28 Bài tập Người dùng nhập từ bàn phím liên tiếp từ tiếng Anh viết tách dấu cách Hãy nhập chuỗi đầu vào tách thành từ sau in hình từ theo thứ tự từ điển Người dùng nhập từ bàn phím chuỗi số nhị phân viết liên tiếp nối dấu phẩy Hãy nhập chuỗi đầu vào sau in giá trị nhập Nhập số n, in hình số ngun dương nhỏ n có tổng ước số lớn TRƯƠNG XN NAM 29 Bài tập Hãy nhập số nguyên n, tạo list gồm số fibonacci nhỏ n in  Dãy fibonacci dãy số nguyên định nghĩa cách đệ quy sau: f(0)=0, f(1) = 1, f(1

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

TỪ KHÓA LIÊN QUAN