Hàm trong Python - Bỏ túi kiến thức về hàm trong Python
27/08/2021 01:20
Hàm là một thuật ngữ được sử dụng thường xuyên và phổ biến trong quá trình lập trình. Với các lập trình viên chuyên nghiệp, thuật ngữ hàm đã không còn quá xa lạ. Tuy vậy, với người mới bắt đầu, các định nghĩa, khái niệm và các chức năng của hàm có thể là “vấn đề nan giải” cho họ.Vì vậy, cùng tìm hiểu về các hàm trong Python qua bài viết dưới đây.
Khái niệm chung về hàm
Theo GeeksforGeeeks định nghĩa, hàm là một tập hợp các câu lệnh với chức năng nhận đầu vào, thực hiện một số tính toán cụ thể sau đó tạo đầu ra. Ý tưởng là đặt một số tác vụ thường được thực hiện nhiều lần hoặc thường đi kèm với nhau để tạo ra một hàm, thay vì phải viết đi viết lại cùng một đoạn code cho các inputs “đầu vào”, khái quát lại, ta sẽ có thuật ngữ “hàm”. Hoặc đơn giản hơn, hàm là một nhóm các câu lệnh liên quan đến nhau, cùng thực hiện một tác vụ cụ thể. Các hàm nhỏ giúp chia nhỏ chương trình của lập trình viên thành các phần nhỏ hơn theo module. Khi các dự án, chương trình ngày càng đồ sộ và phức tạp, các hàm này sẽ giúp việc lập trình có tổ chức và dễ quản lý hơn.
Hàm trong Python
Các hàm trong Python cũng có khái niệm tương tự như trên, bên cạnh các hàm tích hợp sẵn, lập trình viên cũng có thể tự tạo các hàm riêng. Các hàm này do người dùng tự định nghĩa.
Một hàm trong Python do được định nghĩa bởi một câu lệnh Def, cú pháp chung của lệnh này như sau:
def function - name (danh sách tham số) "
câu lệnh, tức là phần thân của hàm
Các thành phần của hàm hoàn chỉnh như sau :
- Từ khóa Def đánh dấu điểm bắt đầu của tiêu đề hàm
- Function - name: Tên hàm, định danh duy nhất dành cho hàm. Việc đặt tên hàm phải tuân thủ quy tắc viết tên và định danh trong Python
- Tham số, đối số: Truyền giá trị hàm qua các tham số này
- Dấu hai chấm: đánh dấu sự kết thúc của tiêu đề hàm
- Docstring: Chuỗi văn bản tùy chọn để mô tả chức năng của hàm
- Lệnh return : Tùy chọn khi cần trả về giá trị từ hàm
Ví dụ về hàm trong Python:
def printme( str ):
"This prints a passed string into this function"
print str
return
Tầm quan trọng của thụt lề của hàm trong Python
Trước khi làm quen với các hàm trong Python, điều quan trọng là lập trình viên phải hiểu quy tắc thụt đầu dòng để khai báo các hàm Python. Các quy tắc này cũng có thể áp dụng cho các phần tử khác của Python cũng như khai báo điều kiện, vòng lặp hoặc biến số.
Python không sử dụng dấu ngoặc nhọn để chỉ ra điểm bắt đầu và kết thúc cho hàm, chúng hoàn toàn sử dụng quy tắc thụt lề này để vận hành hàm. Dưới đây là ví dụ chi tiết về lỗi thụt đầu dòng trong hàm của Python.
Khi chúng ta viết hàm “print” ngay bên dưới hàm “Def func1():”, ngay lập tức, hệ thống sẽ báo “Lỗi thụt đầu dòng” và yêu cầu bổ sung dấu cách để thụt đầu dòng. Ngay sau khi LTV thêm thụt lề vào trước hàm Print, hệ thống sẽ hoạt động theo mong đợi.
>>> Đọc thêm: Django là gì? Lý do nên học Django Python
Phạm vi của các biến trong hàm của Python
Phạm vi của một biến trong hàm là một phần của chương trình mà biến được nhận dạng. Các biến trong một chương trình không thể truy cập tại tất cả vị trí trong chương trình đó. Điều này phụ thuộc vào nơi mà bạn đã khai báo biến. Trong Python có hai loại biến là cục bộ và toàn cục. Biến cục bộ có nghĩa là các biến được khai báo bên trong thân hàm, có nghĩa là biến này chỉ có thể truy cập được trong hàm bạn đã khai báo. Biến được định nghĩa ngoài hàm là biến toàn cục, có thể được truy cập bởi tất cả các hàm trong chương trình.
>>> Tham khảo: Khóa học lập trình Python
Tham số hàm trong Python
Python hỗ trợ 4 kiểu tham số chính thức sau:
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, tham số mặc định là các tham số cung cấp giá trị mặc định cho hàm, tham số từ khóa là các tham số được kết nối với phần định nghĩa của hàm dựa theo từ khóa.
Kết luận: Trên đây là một số kiến thức chung để lập trình viên có cái nhìn bao quát về các hàm trong Python. Việc hiểu rõ khái niệm, các thuật ngữ và cách sử dụng của một số hàm sẽ tạo điều kiện để LTV dễ dàng nắm được cách lập trình hơn với ngôn ngữ Python. Để tìm hiểu thêm về ngôn ngữ lập trình Python, bạn có thể đọc thêm thông tin tại Viện Công nghệ thông tin T3H.