Hàm số là một khái niệm quan trọng trong lập trình Python và nhiều ngôn ngữ lập trình khác. Chúng ta sử dụng hàm để thực hiện các nhiệm vụ cụ thể hoặc tính toán giá trị dựa trên đầu vào cho trước. Hàm số giúp tạo cấu trúc, tổ chức mã nguồn và tái sử dụng mã một cách hiệu quả. Trong bài viết này, chúng ta sẽ khám phá hàm số trong Python, cách định nghĩa, gọi và sử dụng chúng, cùng với các khía cạnh quan trọng khác của hàm số.
Định Nghĩa Hàm Số
Hàm số là một khối mã nguồn được đặt tên và thực hiện một tác vụ hoặc tính toán nào đó. Hàm số có thể nhận đầu vào (tham số) và trả về một kết quả (giá trị trả về). Để định nghĩa một hàm số trong Python, bạn sử dụng từ khóa def theo sau là tên hàm và dấu ngoặc đơn chứa các tham số (nếu có). Thân hàm số được đặt trong một khối thụ động với thụ động là khóa dấu hai.
Dưới đây là một ví dụ đơn giản về cách định nghĩa một hàm số:
def tinh_tong(a, b): |
Trong ví dụ này, chúng ta đã định nghĩa một hàm số có tên là tinh_tong nhận hai tham số a và b, thực hiện phép cộng, và trả về kết quả.
Gọi Hàm Số
Để sử dụng hàm số, bạn phải gọi nó bằng cách sử dụng tên hàm và truyền đối số tương ứng với tham số của hàm. Dưới đây là cách gọi hàm tinh_tong từ ví dụ trước:
x = 5 |
Khi bạn gọi hàm tinh_tong(x, y), giá trị của x được truyền vào tham số a, và giá trị của y được truyền vào tham số b. Hàm số thực hiện phép cộng và trả về kết quả, sau đó được lưu vào biến tong và in ra màn hình.
Tham Số Mặc Định
Trong Python, bạn có thể định nghĩa giá trị mặc định cho các tham số của hàm số. Điều này có nghĩa rằng nếu bạn không truyền đối số cho một tham số cụ thể khi gọi hàm, giá trị mặc định sẽ được sử dụng. Dưới đây là một ví dụ:
def tinh_luy_thua(co_so, so_mu=2): |
Trong ví dụ này, hàm tinh_luy_thua có một tham số mặc định so_mu được đặt thành 2. Nếu bạn gọi hàm chỉ với x, giá trị mặc định của so_mu (2) sẽ được sử dụng.
Trả Về Giá Trị
Hàm số có thể trả về một giá trị bằng từ khóa return. Khi hàm số gặp từ khóa return, nó sẽ ngừng thực thi và trả về giá trị đã được xác định. Dưới đây là một ví dụ:
def kiem_tra_so_chan(x): |
Trong ví dụ này, hàm kiem_tra_so_chan kiểm tra xem số x có phải là số chẵn hay không và trả về True nếu đúng, False nếu sai.
Loại hàm số trong Python
Python hỗ trợ nhiều loại hàm số, bao gồm:
- Hàm số không có đối số.
- Hàm số có đối số bắt buộc.
- Hàm số có đối số mặc định.
- Hàm số có số lượng đối số biến đổi (sử dụng
*argsvà**kwargs).
Hàm số không có đối số
Hàm số không có đối số là những hàm số không nhận bất kỳ đối số nào. Chúng được định nghĩa bằng cách sử dụng dấu ngoặc tròn trống () sau tên hàm.
Ví dụ:
def hello_world(): |
Kết quả:
Hello, world! |
Hàm số có đối số bắt buộc
Hàm số có đối số bắt buộc là những hàm số yêu cầu bạn truyền đối số khi gọi chúng.
Ví dụ:
def chao_nguoi(ten): |
Kết quả:
Chào, Alice! |
Hàm số có đối số mặc định
Hàm số có đối số mặc định cho phép bạn định nghĩa giá trị mặc định cho các đối số. Nếu không truyền giá trị cho đối số đó khi gọi hàm, giá trị mặc định sẽ được sử dụng.
Ví dụ:
def phan_tram(phan_tram, so_luong=100): |
Kết quả:
50.0 |
Hàm số có số lượng đối số biến đổi
Đôi khi, bạn có thể muốn định nghĩa một hàm số có số lượng đối số biến đổi. Python cho phép bạn làm điều này bằng cách sử dụng *args và **kwargs.
*args: Cho phép truyền một số lượng đối số tùy ý dưới dạng một tuple.**kwargs: Cho phép truyền một số lượng đối số tùy ý dưới dạng một từ điển.
Ví dụ:
def tinh_tong(*so): |
Kết quả:
15 |
Biến Cục Bộ và Biến Toàn Cục
Biến được định nghĩa trong một hàm số được gọi là biến cục bộ. Điều này có nghĩa rằng biến đó chỉ có giá trị trong phạm vi của hàm và không thể truy cập từ bên ngoài hàm
. Trong ví dụ trước, biến ket_qua trong hàm kiem_tra_so_chan là một biến cục bộ.
Trong trường hợp bạn muốn sử dụng một biến bên ngoài hàm số, bạn có thể sử dụng biến toàn cục. Để làm điều này, bạn phải sử dụng từ khóa global để khai báo biến toàn cục. Tuy nhiên, nên hạn chế việc sử dụng biến toàn cục vì nó có thể gây rối và khó bảo trì trong các chương trình lớn.
Lambda Functions
Lambda functions (hàm lambda) là một dạng ngắn gọn của hàm số không cần phải đặt tên. Chúng thường được sử dụng trong những tình huống đơn giản mà bạn cần một hàm nhỏ gọn mà không cần định nghĩa một hàm riêng biệt. Dưới đây là một ví dụ về lambda function:
nhan_doi = lambda x: x * 2 |
Lambda function này nhận một đối số x và trả về x * 2. Bạn có thể sử dụng lambda functions trong các tình huống như sắp xếp danh sách hoặc bộ lọc các phần tử dựa trên một điều kiện cụ thể.
Sử Dụng Hàm Số Thư Viện
Python có nhiều hàm số thư viện được tích hợp sẵn, ví dụ như print(), len(), range(), và nhiều hàm khác. Bạn có thể sử dụng chúng mà không cần định nghĩa riêng hàm số của bạn. Dưới đây là một ví dụ:
danh_sach = [1, 2, 3, 4, 5] |
Trong ví dụ này, chúng ta sử dụng hàm len() để tính độ dài của danh sách danh_sach mà không cần định nghĩa hàm số riêng.
Kết Hợp Hàm Số
Trong Python, bạn có thể kết hợp nhiều hàm số để thực hiện các tác vụ phức tạp hơn. Bạn có thể gọi một hàm từ bên trong hàm khác và sử dụng giá trị trả về của hàm số đó trong hàm gọi khác. Điều này giúp bạn chia nhỏ các tác vụ lớn thành các tác vụ nhỏ hơn và dễ quản lý hơn.
Dưới đây là một ví dụ về cách kết hợp các hàm số:
def tinh_tong(a, b): |
Trong ví dụ này, chúng ta kết hợp hai hàm tinh_tong và tinh_binh_phuong để tính tổng của bình phương của hai số x và y.
Sử Dụng Hàm Số Thư Viện Bên Ngoài
Ngoài việc tự định nghĩa hàm số, Python cũng hỗ trợ việc sử dụng hàm số từ các thư viện bên ngoài. Để sử dụng một thư viện bên ngoài, bạn phải import thư viện đó và sau đó gọi hàm số từ thư viện đó. Ví dụ, để sử dụng hàm sin() từ thư viện math, bạn có thể làm như sau:
import math |
Thư viện math cung cấp nhiều hàm số toán học, và bạn có thể sử dụng chúng để thực hiện các tính toán phức tạp.
Hàm Số Đệ Quy
Hàm số đệ quy là một hàm số có thể gọi chính nó. Điều này cho phép bạn giải quyết các vấn đề có cấu trúc đệ quy, ví dụ như tính giai thừa hoặc dãy Fibonacci. Dưới đây là một ví dụ về hàm đệ quy tính giai thừa:
def tinh_giai_thua(n): |
Trong ví dụ này, hàm tinh_giai_thua gọi chính nó với đối số giảm dần đến khi n bằng 0, sau đó trả về kết quả.
Biểu đồ hàm số
Python cung cấp nhiều thư viện đồ họa cho phép bạn vẽ biểu đồ hàm số. Thư viện phổ biến nhất để vẽ biểu đồ là Matplotlib. Dưới đây là một ví dụ về cách vẽ biểu đồ hàm số sử dụng Matplotlib:
import matplotlib.pyplot as plt |
Kết quả là một biểu đồ parabol đơn giản.
Hàm Số Thư Viện Phổ Biến
Trong Python, có nhiều thư viện phổ biến được sử dụng để làm việc với hàm số và tính toán số học. Dưới đây là một số thư viện quan trọng:
NumPy: NumPy (Numerical Python) là một thư viện mạnh mẽ cho tính toán số học trong Python. Nó cung cấp mảng nhiều chiều và nhiều chức năng toán học cơ bản và tiên tiến, giúp xử lý dữ liệu số nhanh chóng và hiệu quả.
SciPy: SciPy là một thư viện xây dựng trên NumPy và cung cấp các chức năng cao cấp cho tối ưu hóa, tối ưu hóa bài toán tối ưu, tích phân và nhiều lĩnh vực khoa học khác.
Matplotlib: Matplotlib là một thư viện mạnh mẽ cho việc vẽ biểu đồ và đồ họa trong Python. Nó cho phép bạn tạo các biểu đồ đẹp và chất lượng cao để biểu diễn dữ liệu và hàm số.
SymPy: SymPy là một thư viện Python dành cho tích phân và đại số biểu diễn. Nó cho phép bạn thực hiện tính toán biểu diễn dưới dạng biểu thức toán học.
Pandas: Pandas là một thư viện mạnh mẽ cho làm việc với dữ liệu dạng bảng. Nó thường được sử dụng để xử lý, phân tích và biểu diễn dữ liệu số học.
Scikit-Learn: Scikit-Learn là một thư viện cho học máy và khai thác dữ liệu. Nó cung cấp các công cụ để xây dựng và đào tạo các mô hình học máy, thực hiện phân loại và dự đoán.
TensorFlow và PyTorch: Đây là hai thư viện phổ biến cho học máy và thị giác máy tính. Chúng được sử dụng để xây dựng và huấn luyện mạng nơ-ron sâu.
GSL (GNU Scientific Library): Đây là một thư viện C cho các tính toán khoa học và toán học, và có các liên kết Python cho việc sử dụng trong Python.
SymPyGamma: SymPyGamma là một công cụ trực tuyến cho hình vẽ biểu thức toán học và phương trình, dựa trên thư viện SymPy.
Các thư viện hỗ trợ khác: Bên cạnh các thư viện trên, còn rất nhiều thư viện nhỏ hơn và đặc thù cho các mục đích cụ thể, như SymEngine cho đại số biểu diễn, FEniCS cho phần mềm phần tử hữu hạn, và một loạt thư viện cho xử lý tín hiệu, xử lý hình ảnh, và nhiều lĩnh vực khác.
Các thư viện trên giúp bạn xử lý và thực hiện các tính toán số học, tích phân, tối ưu hóa, biểu đồ hóa dữ liệu và nhiều tác vụ liên quan khác trong Python. Tùy theo mục tiêu và yêu cầu của dự án, bạn có thể lựa chọn các thư viện phù hợp để giải quyết các vấn đề cụ thể.
Kết luận
Trên đây Kiyoshi đã hướng dẫn bạn về hàm số trong python rồi. Hàm số là một khái niệm quan trọng trong Python, cho phép bạn tái sử dụng mã lệnh, tổ chức mã nguồn, và giải quyết các vấn đề phức tạp. Trong bài viết này, chúng ta đã tìm hiểu về cách định nghĩa và sử dụng hàm số trong Python, bao gồm cả các loại hàm số và cách vẽ biểu đồ hàm số. Hi vọng rằng bài viết này đã giúp bạn hiểu sâu hơn về hàm số trong Python và cách áp dụng chúng trong các dự án lập trình của bạn.
URL Link
https://laptrinhcanban.com/python/nhap-mon-lap-trinh-python/ham-trong-python/ham-so-trong-python/
HOME › python cơ bản - lập trình python cho người mới bắt đầu>>14. hàm trong python

