You are on page 1of 38

Lập trình với Python

Chương 4: Hàm
Tài liệu tham khảo
1. Hill, C. (2020). Learning scientific programming with
Python. Cambridge University Press.
2. Stephenson, B. (2019). The Python Workbook 2nd.
Springer.
3. Pine, D. J. (2019). Introduction to Python for science
and engineering. CRC Press.
4. Kong, Q., Siauw, T., & Bayen, A. M. (2021) Python
Programming and Numerical Methods - A Guide for
Engineers and Scientists. Elsevier Inc.
Lập trình Python: Hàm 2
Hàm có sẵn
• Trình thông dịch Python có một số hàm được tích hợp
có sẵn.
• Một số hàm tích hợp sẵn như input(), print(), range() và
những hàm khác trong các chương trước.
• Một số hàm tích hợp khác có sẵn trong bảng sau.

Lập trình Python: Hàm 3


Hàm có sẵn

Lập trình Python: Hàm 4


Hàm có sẵn

Lập trình Python: Hàm 5


Các mô-đun thường sử dụng
• Các mô-đun trong Python là các thư viện mã có thể sử
dụng lại có phần mở rộng .py được triển khai một nhóm
các phương thức và câu lệnh.
• Python đi kèm với nhiều mô-đun tích hợp sẵn như một
phần của thư viện tiêu chuẩn.
• Để sử dụng một mô-đun trong chương trình của bạn, hãy
nhập mô-đun bằng cách sử dụng câu lệnh nhập. Tất cả
câu lệnh nhập được đặt ở đầu chương trình.

Lập trình Python: Hàm 6


Các mô-đun thường sử dụng
• Cú pháp cho câu lệnh nhập:

• Cú pháp để sử dụng một hàm được xác định trong một


mô-đun:

Lập trình Python: Hàm 7


Các mô-đun thường sử dụng

Lập trình Python: Hàm 8


Các mô-đun thường sử dụng
• Hàm có sẵn dir() trả về danh sách được sắp xếp gồm các
chuỗi được phân tách bằng dấu phẩy chứa tên của các
hàm, lớp và biến như được định nghĩa trong mô-đun.
• Bạn có thể tìm thấy tất cả các chức năng được hỗ trợ bởi
mô-đun toán học bằng cách chuyển tên mô-đun là một
đối số cho hàm dir().

Lập trình Python: Hàm 9


Các mô-đun thường sử dụng

Lập trình Python: Hàm 10


Các mô-đun thường sử dụng
• Một hàm tích hợp hữu ích là hàm help() gọi hàm hệ
thống trợ giúp tích hợp sẵn. Đối số của hàm help() là
một chuỗi, được tra cứu dưới dạng tên của mô-đun, chức
năng, lớp, phương thức, từ khóa hoặc chủ đề tài liệu, và
sau đó là liên quan trang trợ giúp được in trong bảng
điều khiển.
• Nếu bạn muốn tìm thông tin về gcd() hàm trong mô-đun
toán học sau đó chuyển tên hàm dưới dạng đối số không
có dấu ngoặc đơn.
Lập trình Python: Hàm 11
Các mô-đun thường sử dụng

Lập trình Python: Hàm 12


Các mô-đun thường sử dụng
• Một mô-đun hữu ích khác trong thư viện chuẩn Python
là mô-đun random tạo ra các số ngẫu nhiên.

Lập trình Python: Hàm 13


Các mô-đun thường sử dụng
• Các mô-đun hoặc thư viện có thể được cài đặt và quản
lý bằng gói của Python.
• Cú pháp cho pip:

Lập trình Python: Hàm 14


Các mô-đun thường sử dụng
• Arrow là một thư viện Python phổ biến cung cấp cách
tiếp cận hợp lý, thân thiện với con người để tạo, thao tác,
định dạng và chuyển đổi ngày, giờ và dấu thời gian.
• Để cài đặt mô-đun arrow, hãy mở cửa sổ nhắc lệnh và
nhập lệnh dưới đây từ bất kỳ vị trí nào.
C:\> pip install arrow

Lập trình Python: Hàm 15


Các mô-đun thường sử dụng

Lập trình Python: Hàm 16


Định nghĩa hàm và gọi hàm
• Bạn có thể tạo các chức năng của riêng mình và sử dụng
chúng khi cần thiết.
• Cú pháp cho định nghĩa hàm:

Lập trình Python: Hàm 17


Định nghĩa hàm và gọi hàm
• Định nghĩa một hàm chỉ đơn giản là đặt tên cho hàm và
chỉ định những việc cần làm khi hàm được gọi.
• Gọi hàm thực sự thực hiện các hành động được chỉ định
với các tham số được chỉ định.
• Cú pháp cho hàm gọi hoặc gọi hàm:

Lập trình Python: Hàm 18


Định nghĩa hàm và gọi hàm
• Khối các câu lệnh trong định nghĩa hàm không được thực thi
trừ khi hàm được gọi.

• Biến đặc biệt, __name__ với "__main__", là điểm vào chương


trình của bạn. Trình thông dịch Python đọc câu lệnh if và thấy
rằng __name__ bằng với "__main__", nó sẽ thực thi khối câu
lệnh hiện diện ở đó.

Lập trình Python: Hàm 19


Định nghĩa hàm và gọi hàm

Lập trình Python: Hàm 20


Định nghĩa hàm và gọi hàm

Lập trình Python: Hàm 21


Định nghĩa hàm và gọi hàm

Lập trình Python: Hàm 22


Lệnh return và hàm void
• Tính toán một giá trị và trả về giá trị cho hàm đang gọi
để nó có thể được lưu trữ trong một biến và được sử
dụng sau.
• Điều này có thể đạt được bằng cách sử dụng câu lệnh
return tùy chọn trong định nghĩa hàm.
• Cú pháp cho câu lệnh return:

Lập trình Python: Hàm 23


Lệnh return và hàm void
• Trong Python, có thể định nghĩa các hàm mà không cần
câu lệnh trả về. Các chức năng này được gọi là các hàm
void và chúng trả về None.
• Nếu bạn muốn trả về một giá trị bằng cách sử dụng câu
lệnh return từ định nghĩa hàm, thì bạn phải gán kết quả
của hàm cho một biến.
• Một hàm chỉ có thể trả về một giá trị, nhưng giá trị đó có
thể là một list hoặc tuple.

Lập trình Python: Hàm 24


Lệnh return

Lập trình Python: Hàm 25


Lệnh return

Lập trình Python: Hàm 26


Lệnh return và hàm void

Lập trình Python: Hàm 27


Lệnh return

Lập trình Python: Hàm 28


Lệnh return và hàm void

Lập trình Python: Hàm 29


Phạm vi và thời gian tồn tại của biến
• Biến toàn cục có thể truy cập và sửa đổi trong suốt
chương trình.
• Một biến được định nghĩa bên trong định nghĩa hàm là
một biến cục bộ. Biến cục bộ được tạo và bị phá hủy
mỗi khi hàm được thực thi và nó không thể được truy
cập bởi bất kỳ mã nào bên ngoài định nghĩa hàm.
• Có thể truy cập các biến toàn cục từ bên trong một hàm,
miễn là bạn không xác định một biến cục bộ có cùng
tên.
Lập trình Python: Hàm 30
Phạm vi và thời gian tồn tại của biến
• Một biến cục bộ có thể có cùng tên như một biến toàn
cục, nhưng chúng hoàn toàn khác nhau, vì vậy việc thay
đổi giá trị của biến cục bộ không ảnh hưởng đến biến
toàn cục.
• Biến cục bộ có ý nghĩa bên trong chức năng mà nó được
định nghĩa.

Lập trình Python: Hàm 31


Phạm vi và thời gian tồn tại của biến

Lập trình Python: Hàm 32


Phạm vi và thời gian tồn tại của biến

Lập trình Python: Hàm 33


Thông số mặc định
• Mỗi tham số mặc định có một giá trị mặc định như một
phần của định nghĩa hàm của nó.
• Bất kỳ hàm gọi nào đều phải cung cấp các đối số cho tất
cả các tham số bắt buộc trong định nghĩa hàm nhưng có
thể bỏ qua các đối số cho các tham số mặc định.
• Nếu không có đối số nào được gửi cho tham số đó, giá
trị mặc định sẽ được sử dụng. Các giá trị mặc định chỉ
được đánh giá một lần.

Lập trình Python: Hàm 34


Thông số mặc định

Lập trình Python: Hàm 35


Hàm lambda
• Trong Python, hàm vô danh là hàm được định nghĩa mà
không có tên.
• Nếu các hàm bình thường được định nghĩa bằng cách sử
dụng từ khóa def, thì hàm vô danh được định nghĩa bằng
cách sử dụng từ khóa lambda.
• Một hàm lambda trong Python có cú pháp:
lambda parameter: expression

Lập trình Python: Hàm 36


Hàm lambda
• Trong ví dụ này, lambda a: a * 2 là hàm lambda. Ở đây a
là tham số và a * 2 là biểu thức (đảm nhiệm việc tính
toán và trả về kết quả). Hàm này không có tên, nó trả về
một đối tượng hàm - được gán định danh
là nhan_doi. Chúng ta có thể gọi nó như một hàm bình
thường, lệnh sau:

Lập trình Python: Hàm 37


Bài tập
• Viết hàm tính chu vi, diện tích hình tam giác.
• Viết hàm tính chu vi, diện tích hình vuông.
• Viết hàm tính chu vi, diện tích hình chữ nhật.
• Viết hàm tính chu vi, diện tích hình tròn.

Lập trình Python: Hàm 38

You might also like