Hàm do người dùng định nghĩa theo cú pháp Python
Hàm do người dùng định nghĩa là một khối mã có thể tái sử dụng mà bạn (lập trình viên) tạo từ đầu để thực hiện một nhiệm vụ cụ thểk bạn chọn một hoặc nhiều lần
Không giống như các chức năng tích hợp sẵn được bao gồm trong ngôn ngữ lập trình Python mới nhất, một chức năng do người dùng xác định cho phép bạn có chức năng tạo công cụ tùy chỉnh hoàn toàn của riêng mình; Show
Ưu điểm cốt lõi của việc sử dụng hàm do người dùng xác định trong mã nguồn của bạn là tính linh hoạt. Nó cung cấp cho bạn sức mạnh để thực hiện lặp đi lặp lại một nhiệm vụ nhất định mà không cần phải viết lại toàn bộ chương trình của bạn theo từng dòng Trong hướng dẫn này, tôi sẽ dạy bạn về các hàm do người dùng định nghĩa và cú pháp của chúng
Mục lục
Cấu trúc hàm do người dùng định nghĩa trong PythonCác hàm trong Python tuân theo một cú pháp cụ thể với ít biến thể. Cú pháp này phải được tuân theo, nếu không, bạn sẽ nhận được thông báo lỗi từ bảng điều khiển Python Trong khối mã bên dưới, bạn sẽ tìm thấy cú pháp tiêu chuẩn của hàm do người dùng Python xác định.
Việc xác định một hàm yêu cầu sử dụng từ khóa Python tích hợp sẵn def, cho Trình thông dịch Python biết rằng bạn sẽ xác định thân hàm Từ khóa def cần phải được theo sau bởi tên của chức năng Thông thường, khi tôi đặt tên cho một hàm, tôi tuân theo thông lệ chung là đặt tên cho hàm của mình dựa trên hành động sẽ được thực hiện bởi hàm đó. Theo quy ước, tôi viết tên các chức năng của mình theo một mẫu chuẩn gọi là “trường hợp rắn” (ví dụ. Tên chức năng) Tên hàm (ở định dạng Snake Case)Hành động (Nhiệm vụ mà hàm hoàn thành. )upper_caseChuyển đổi tất cả các ký tự chữ cái trong chuỗi thành chữ hoa. Lower_caseChuyển đổi tất cả các ký tự chữ cái trong chuỗi thành chữ thường. times_twoNhân hai số nguyên bất kỳ. Các ví dụ về trường hợp rắn để đặt tên cho các hàm do người dùng xác định trong PythonCác tham số bên trong dấu ngoặc đơn sẽ truyền một số giá trị vào hàm này. Các tham số là tùy chọn; Sau dấu ngoặc đơn, bạn phải nhập dấu hai chấm ở cuối tiêu đề hàm để thông báo cho Trình thông dịch Python rằng đây là phần cuối của dòng đầu tiên trong hàm của chúng ta Tiếp theo, chúng ta phải xem xét Docstring của mình; Chẳng hạn, chức năng của bạn cũng nên bao gồm ít nhất một câu lệnh hợp lệ làm cho chức năng trở nên hữu ích; Cuối cùng, câu lệnh return sẽ trả về giá trị cuối của hàm; Sau khi thực hiện một hành động cụ thể mà bạn chọn, giá trị được trả về này có thể được lưu trữ trong một biến bằng cách gán hàm của bạn cho một biến trong khi nó đang được gọi, chúng ta cũng sẽ khám phá chủ đề này sau, nhưng trước tiên, hãy xem qua
Cách gọi một hàm trong PythonĐoạn mã trên là một ví dụ đơn giản về việc tạo chức năng của riêng bạn để chào người dùng, sau đó in lời chào đó ra Bảng điều khiển Python nơi người dùng có thể đọc được Khối mã bên dưới cho biết cách gọi hàm “chào hỏi” do người dùng định nghĩa của chúng tôi. Lưu ý cách chức năng của chúng tôi không cần dấu gạch dưới trong tên của nó vì nó chỉ được đặt tên bằng một từ (lời chào), mặc dù nó vẫn ở định dạng chữ hoa chữ thường
đầu ra Hello Biden Lưu ý rằng chúng tôi đã viết “Biden” trong dấu ngoặc đơn của hàm khi gọi hàm Chuỗi “Biden” được gọi là một đối số được gán cho tham số “tên” được xác định trong tiêu đề hàm của chúng tôi. Bây giờ chúng ta sẽ khám phá các tham số và đối số Thông số so với. Tranh luậnHầu hết các lập trình viên Python mới làm quen không biết sự khác biệt giữa các tham số và đối số, vì vậy hãy phân biệt chúng là gì… Thông số. (các) từ khóa tùy ý nằm trong dấu ngoặc đơn của định nghĩa hàm, hoạt động như một trình giữ chỗ, tương tự như một biến, nó lưu trữ các giá trị có thể được truy cập để thao tác và tính toán dữ liệu sau khi hàm được gọi Tranh luận. (các) giá trị được truyền cho một hàm, sau đó được lưu trữ trong các tham số để sử dụng tính toán, thao tác dữ liệu hoặc các tác vụ quan trọng khác hỗ trợ mục đích của một hàm trong chương trình
đầu ra Hello Biden Hello Biden Đối số mặc địnhĐối số mặc định là đối số từ khóa được gán trong định nghĩa hàm thay vì khi hàm được gọi Mặc dù vậy, khi hàm được gọi, người dùng có cơ hội sử dụng đối số mặc định được gán cho tham số từ khóa bằng cách gọi hàm mà không chuyển bất kỳ giá trị mới nào cho đối số từ khóa Mặt khác, người dùng có thể ghi đè giá trị được lưu trữ trong tham số từ khóa bằng cách chuyển một giá trị mới cho tham số từ khóa trong khi gọi hàm, tốt nhất là cùng loại dữ liệu với đối số từ khóa mặc định để tránh gặp phải bất kỳ lỗi nào trong chương trình của bạn
đầu ra Hi there, what is your name? Nói về lập luận, hãy thảo luận thêm hai loại lập luận nữa… Các đối số có tiền tố * và ** có thuộc tính đặc biệt nào? . g. *args, **kwargs)Khi tạo một hàm, chúng ta phải làm cho nó có thể nhận các giá trị để nó có thể được sử dụng nhiều lần bên trong (các) tập lệnh của bạn, nhưng nếu bạn không chắc chắn về số lượng đối số mà bạn sẽ cần truyền cho hàm của mình thì sao? Hãy xem một ví dụ nhỏ ________số 8đầu ra Traceback (most recent call last): File "main.py", line 5, in Khi chạy mã ở trên, bạn sẽ gặp lỗi nói rằng “cập nhật () nhận 1 đối số vị trí nhưng 2 đối số đã được đưa ra” Điều này xảy ra vì trình thông dịch Python dự kiến chỉ có một đối số (danh sách) chứ không phải nhiều đối số (danh sách) * lập luậnĐây là sức mạnh của tham số *args. Hãy sửa đoạn mã trên và xem kết quả mới 0đầu ra 1Bây giờ hàm có thể nhận nhiều danh sách và biến và sử dụng chúng mà không gặp bất kỳ lỗi nào Một điều khác *args có thể thực hiện là truy cập một mục cụ thể bên trong một chuỗi 2đầu ra 3Mã có thể truy cập bất kỳ mục cụ thể nào bên trong bộ đối tượng đã cho. Có, *args lưu trữ các chuỗi giá trị trong một đối tượng tuple Một điều khác tôi muốn đề cập trước khi bắt đầu sử dụng và lợi ích của **kwargs là các hàm cũng có thể chấp nhận các đối số với cú pháp key=value Hãy xem một ví dụ 4đầu ra 5**kwargsVì chúng ta đã tạo một hàm có thể chấp nhận ba tham số nên mọi thứ sẽ hoạt động tốt khi gọi hàm có ba đối số Nhưng, nếu bạn không biết chúng ta cần bao nhiêu đối số cho hàm thì sao? Đây là sức mạnh của **kwargs 6đầu ra 7**kwargs làm cho chức năng của bạn có thể chấp nhận nhiều từ khóa mà không chỉ định số lượng đối số Trước khi tiếp tục, hãy tóm tắt nhanh về các tham số và đối số Từ khóa bên trong dấu ngoặc đơn của định nghĩa hàm được gọi là tham số. Bạn có thể đặt tên bất cứ thứ gì bạn muốn, mặc dù cách tốt nhất là đặt tên mô tả loại dữ liệu sẽ được chuyển đến hàm dưới dạng đối số sau khi hàm được gọi Tài liệu (Docstrings)Để nhắc lại từ trước đó, một chuỗi tài liệu hoàn toàn là tùy chọn, nhưng được khuyên dùng cho các chức năng do người dùng xác định, đặc biệt nếu bạn đang làm việc theo nhóm với các lập trình viên khác Ngay bên dưới tiêu đề chức năng là nơi bạn đặt tài liệu của mình; Rất hữu ích khi truy cập tài liệu về hàm do người dùng xác định bên trong Bảng điều khiển Python bằng cách in tên hàm của bạn bằng. __doc__ lệnh/thuộc tính hoặc chuyển tên hàm của bạn sang hàm help() tích hợp bên dưới 8đầu ra 9Tuyên bố trở lạiCho đến nay, chúng tôi chỉ sử dụng các câu lệnh in trong các chức năng của mình. Đôi khi, chúng tôi có thể không muốn in một giá trị vào Bảng điều khiển Python Thay vào đó, chúng tôi có thể muốn sử dụng một giá trị được tính bởi một hàm cho mục đích hoặc phép tính khác trong tập lệnh của chúng tôi. chúng ta làm gì sau đó? Hãy xem một ví dụ để hiểu thêm 0đầu ra 1Khi bạn chạy mã, bạn sẽ không nhận được gì trên màn hình của mình Điều này xảy ra bởi vì chúng tôi đã thực hiện phép tính nhưng chúng tôi đã không yêu cầu hàm trả lại bất kỳ (các) giá trị nào cho chúng tôi. vì vậy lần này hãy sử dụng câu lệnh return 2đầu ra 3Bây giờ bạn có thể thấy hàm trả về số 8 hiển nhiên khi nhân 4 hai lần Lưu ý rằng chúng ta vẫn phải chuyển hàm tính toán của mình cho hàm in khi chúng ta gọi nó trong trường hợp chúng ta muốn thấy giá trị trả về là 8 được in ra Bảng điều khiển Python Hàm tính toán của chúng tôi cũng có thể được lưu vào một biến trong khi nó đang được gọi, sau đó được sử dụng như bất kỳ giá trị, đối tượng hoặc biểu thức nào khác có thể được lưu vào một biến, xem bên dưới 4đầu ra 3Lưu ý rằng không có gì trong định nghĩa hàm có thể được thực thi ngoài câu lệnh return bên trong hàm. Vì vậy, trong hầu hết các trường hợp, câu lệnh return sẽ là dòng cuối cùng trong thân hàm của bạn Quá trình kết thúc chức năng của bạn bằng từ khóa trả về được gọi là rút ngắn chức năng Khẳng định điều kiện tiên quyếtKhẳng định là một từ khóa trong Python được sử dụng trong một hàm hoặc bất kỳ đâu trong mã python của bạn để gắn cờ lỗi nếu có điều gì đó không hợp lý xảy ra mà bạn đã đặt trước đó. Khẳng định luôn giả định một điều kiện được chỉ định đánh giá là Đúng Hãy xem một ví dụ cho điều này để hiểu thêm 6đầu ra 7Đoạn mã trên rõ ràng sẽ hiển thị cho bạn một lỗi, giải thích “AssertionError. Độ tuổi không thể âm”. Từ khóa khẳng định sẽ hữu ích trong chức năng của bạn vì nó cho phép chương trình biết rằng có điều gì đó không ổn với một phần dữ liệu cụ thể Phạm vi địa phương và Phạm vi toàn cầuPhạm vi đề cập đến vị trí của một biến trong mã Python của bạn Phạm vi toàn cầu. Biến toàn cục là một biến được đặt/xác định trong tập lệnh/tệp Python chính của bạn. Một biến toàn cầu có thể được truy cập ở bất cứ đâu trong tập lệnh Python của bạn, gợi ý. toàn cầu hoặc có thể truy cập trên toàn cầu/không dành riêng cho chương trình của bạn Phạm vi địa phương. Biến cục bộ là một biến được đặt/xác định trong thân hàm, chỉ có thể được truy cập trong hàm đã nói. Vị trí của biến cục bộ đó nằm trong phạm vi cục bộ của hàm vì biến đó là cục bộ/chỉ dành riêng cho hàm 8đầu ra 9Trong khối mã ở trên, chúng ta có thể thấy rằng biến x cục bộ được in thay vì biến x toàn cục vì câu lệnh in được thực thi trên biến cục bộ, không phải biến toàn cục Ví dụ thực tế về lý do tại sao các chức năng do người dùng xác định lại quan trọngCác chương trình của chúng ta thường mô hình hóa các tình huống, sự kiện hoặc vấn đề trong thế giới thực, vì vậy, hãy áp dụng Hàm do người dùng xác định trong Python cho một vấn đề trong thế giới thực trong toán học Thí dụXác định hàm do người dùng xác định theo ký hiệu tổng Hello Biden0 đầu ra Hello Biden1 Sự kết luậnKhi các vấn đề kinh doanh công nghệ ngày nay buộc bạn phải tạo ra các giải pháp phần mềm rất lớn và phức tạp; Cú pháp của người dùng là gìCác hàm do người dùng xác định giúp bạn đóng gói và sử dụng lại chức năng trong chính sách của mình. Cú pháp khai báo hàm là từ khóa Hàm theo sau là tên của hàm và danh sách các tham số thời gian chạy được phân tách bằng dấu phẩy .
người dùng là gìVí dụ về hàm do người dùng xác định
. Trong hàm print(), chúng ta đang gọi hàm nhân hai số bằng cách chuyển n1 và n2 làm đối số. Ở đây, print() là một hàm Python có sẵn. The function can accept two numbers in the form of arguments as it has been defined with two parameters. Within the print() function, we are calling the function to multiply the two numbers by passing n1 and n2 as arguments. Here, print() is an in-built Python function.
người dùng là gìHàm là một khối mã thực hiện một tác vụ cụ thể . C cho phép bạn xác định các chức năng theo nhu cầu của bạn. Các hàm này được gọi là hàm do người dùng định nghĩa. Ví dụ. Giả sử, bạn cần tạo một hình tròn và tô màu nó tùy thuộc vào bán kính và màu sắc.
Def Myfunc() trong Python là gì?Như vậy chúng ta có thể chọn bất kỳ tên nào khi xác định biến mà không cần quan tâm đến các biến bên ngoài hàm . Ví dụ >>> x = 10. >>> def myfunc(). x = 5. Trong hàm trên, biến x được gán cho 10 bên ngoài hàm và được gán cho 5 bên trong hàm. |