Bài giảng Kỹ thuật lập trình CKT - Chương 5: Hàm và Module trong Python - Nguyễn Thanh Nhã

5.1. Hàm - Function
- Hàm là một khối code được tổ chức và có thể tái sử dụng,
để thực hiện một tác vụ nào đó.
Cú pháp 
pdf 14 trang xuanthi 27/12/2022 3160
Bạn đang xem tài liệu "Bài giảng Kỹ thuật lập trình CKT - Chương 5: Hàm và Module 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_5_ham_va_module_tron.pdf

Nội dung text: Bài giảng Kỹ thuật lập trình CKT - Chương 5: Hàm và Module trong Python - Nguyễn Thanh Nhã

  1. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5 Hàm và Module trong Python Department of Engineering Mechanics – HCMUT 2019 3 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Department of Engineering Mechanics – HCMUT 2019 4 nhanguyen@hcmut.edu.vn 2
  2. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Ví dụ: Hàm không trả về giá trị def prt(listA): def prt(listA): print(3*listA) print(3*listA) return prt([1,2,3]) listX = [2,5,6] prt(listX) def print5Star(): print(" ") print5Star() Department of Engineering Mechanics – HCMUT 2019 7 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Phân biệt tham số và đối số Tham số (parameter) Đối số (argument) - Tham số xuất hiện trong - Đối số xuất hiện trong lời định nghĩa hàm gọi hàm - Parameter phải là biến để - Argument có thể là hằng, giữ các giá trị đang đến biến hoặc biểu thức def meanOfTwo(x,y): xx = 3 mean = (x+y)/2 a = meanOfTwo(xx,4) return mean print(a) Department of Engineering Mechanics – HCMUT 2019 8 nhanguyen@hcmut.edu.vn 4
  3. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Phạm vi của biến Biến cục bộ (local variable) - Biến cục bộ là biến được khai báo bên trong hàm. - Biến cục bộ chỉ có thể được truy xuất trong phạm vi của hàm đó. Không thể truy xuất biến cục bộ từ bên ngoài và từ các hàm khác. b = 20 def msg(): a = 10 print("Gia tri cua b la",b) return msg() print(a) NameError: name 'a' is not defined Department of Engineering Mechanics – HCMUT 2019 11 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Truyền giá trị trong hàm def changeme(mylist): mylist.append([1, 2, 3, 4]) print(“Inside func: ", mylist) return Inside func: [10, 20, 30, [1, 2, 3, 4]] Outside func: [10, 20, 30] mylist = [10, 20, 30] changeme([10, 20, 30]) print("Outside func: ", mylist) myList [10,20,30] changeme(myList) [10,20,30] myList changeme(myList) myList [10,20,30] myList [10,20,30,[1,2,3,4]] myList.append([1,2,3,4]) Department of Engineering Mechanics – HCMUT 2019 12 nhanguyen@hcmut.edu.vn 6
  4. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Tham số hàm (dùng khi định nghĩa hàm) Python hỗ trợ các kiểu tham số chính thức sau + Tham số bắt buộc + Tham số mặc định + Tham số từ khóa (tham số được đặt tên) + Tham số với số lượng thay đổi Department of Engineering Mechanics – HCMUT 2019 15 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Tham số hàm Tham số bắt buộc - Các tham số bắt buộc là các tham số được truyền tới một hàm theo một thứ tự chính xác. - Ở đây, số tham số trong lời gọi hàm nên kết nối chính xác với phần định nghĩa hàm def mean(a, b): c = (a + b)/2 Hàm mean(a, b) bắt buộc có 2 tham số print(c) mean(5, 10) TypeError: mean() missing 1 required mean(5) positional argument: 'b' Department of Engineering Mechanics – HCMUT 2019 16 nhanguyen@hcmut.edu.vn 8
  5. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Giá trị trả về của hàm - Hàm có thể trả về bất kỳ kiểu dữ liệu gì hợp lệ trong Python - Hàm có thể trả về 1 hoặc nhiều giá trị hoặc không trả về bất cứ giá trị gì def f1(n): def f2(n): def f2(n): f = n 2 + 1 f = n 2 + 1 f = n 2 + 1 return f g = n 3 + 1 g = n 3 + 1 h = n + 1 h = n + 1 f = f1(4) return f, g, h return [f, g, h] print(f) f, g, h = f2(3) f = f2(3) print(f,g,h) print(f) def f3(n): f= f2(3) [f, g, h] = f2(3) f = n 2 + 1 print(f[1]) print(f,g,h) print(f) Department of Engineering Mechanics – HCMUT 2019 19 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.1. Hàm - Function Tham số hàm Hàm với số tham số thay đổi - Có thể cần xử lý một hàm mà có số tham số nhiều hơn khi định nghĩa hàm. - Những tham số này được gọi là các tham số có số tham số thay đổi (variable-length args) và không được đặt tên trong định nghĩa hàm, không giống như các tham số bắt buộc và tham số mặc định Cú pháp: def tenHam([thamSoChinhThuc,] *thamSoDuPhong): "function_docstring" function_suite return [bieuThuc] Department of Engineering Mechanics – HCMUT 2019 20 nhanguyen@hcmut.edu.vn 10
  6. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.2. Module Department of Engineering Mechanics – HCMUT 2019 23 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.2. Module - Module được sử dụng để phân loại code thành các phần nhỏ hơn liên quan với nhau. Nói cách khác, module giúp tổ chức Python code một cách logic, dễ hiểu và sử dụng hơn. - Trong Python, module là đối tượng với các thuộc tính có thể đặt tên tùy ý và có thể được gắn kết và tham chiếu. - Về cơ bản, một module là một file, trong đó các lớp, hàm và biến được định nghĩa. Một module cũng có thể bao gồm code thực thi tác vụ. Lợi thế của module: - Khả năng tái sử dụng: module có thể được sử dụng ở trong phần code Python khác, do đó làm tăng tính tái sử dụng code. - Khả năng phân loại: Các kiểu thuộc tính tương tự nhau có thể được đặt trong một module. Department of Engineering Mechanics – HCMUT 2019 24 nhanguyen@hcmut.edu.vn 12
  7. TS. Nguyễn Thanh Nhã 9/17/2019 Chương 5. Hàm và module trong Python PROGRAMMING FOR ENGINEERINGS 5.4. Module calendar trong Python - Python cung cấp calendar Module giúp hiển thị lịch - Ví dụ lấy lịch hiện tại import calendar print(“Current month is:") cal = calendar.month(2017, 9) print(cal) - Ví dụ kiểm tra năm nhuận import calendar print(calendar.isleap(2017)) print(calendar.isleap(2016)) Department of Engineering Mechanics – HCMUT 2019 27 nhanguyen@hcmut.edu.vn 14