Các hàm được đặt tên như thế nào trong Python?

Một trong những phong cách viết mã nổi bật nhất là tuân theo mô hình OOP. Đối với điều này, ngày nay, căng thẳng là viết mã với tính mô đun, tăng khả năng gỡ lỗi và tạo mã mạnh mẽ hơn, có thể tái sử dụng. Tất cả điều này khuyến khích việc sử dụng các chức năng khác nhau cho các nhiệm vụ khác nhau và do đó chúng ta nhất định phải biết một số thủ thuật nhất định của các chức năng. Bài viết này thảo luận về cách in tên của một chức năng. Hãy thảo luận về những cách nhất định để thực hiện điều này.  

Phương pháp 1. Lấy tên hàm trong Python bằng hàm. func_name

Bằng cách sử dụng một hàm thuộc tính hàm đơn giản, func_name, người ta có thể lấy tên của hàm và do đó có thể khá tiện dụng cho mục đích Kiểm tra và đôi khi cũng cho tài liệu. Hạn chế là cái này chỉ hoạt động với Python2.  

Python3




# initializing function

def GFG():

    return "You just called for success !!"

 

 

The name of function is : GFG
0

The name of function is : GFG
1

The name of function is : GFG
2
The name of function is : GFG
3
The name of function is : GFG
4
The name of function is : GFG
5
The name of function is : GFG
6

đầu ra

The name of function is : GFG

Phương pháp 2. Lấy tên hàm trong Python bằng hàm. __Tên__

Hàm này có thể được sử dụng thay thế cho hàm trên và đã được giới thiệu trong Python3 vì hàm được đề cập trong phương thức trên đã không được dùng nữa trong Python3.  

Python3




# initializing function

def GFG():

    return "You just called for success !!"

 

 

The name of function is : GFG
0

Geekforgeeks
Geekforgeeks.my_method
4

The name of function is : GFG
2
The name of function is : GFG
3_______0_______4
The name of function is : GFG
5
Geekforgeeks
Geekforgeeks.my_method
9

đầu ra

The name of function is : GFG

Phương pháp 3. Lấy tên hàm trong Python bằng thuộc tính __qualname__

__qualname__ cung cấp thông tin đầy đủ hơn __name__ và do đó có thể hữu ích hơn trong việc gỡ lỗi. Để trích xuất tên từ bất kỳ đối tượng hoặc lớp nào, bạn cũng có thể sử dụng thuộc tính __qualname__ của nó.  

Python3




def

The name of function is : get_function_name
1

    

The name of function is : get_function_name
3

 

The name of function is : get_function_name
4
The name of function is : get_function_name
5_______16_______6
The name of function is : get_function_name
7

    def # initializing function0# initializing function1# initializing function2

# initializing function3_______16_______3

 

# initializing function5

The name of function is : GFG
2# initializing function7

# initializing function8

The name of function is : GFG
2def0

đầu ra

Geekforgeeks
Geekforgeeks.my_method

Phương pháp 4. Nhận tên hàm trong Python bằng cách sử dụng mô-đun kiểm tra

Mã này nhập mô-đun kiểm tra và xác định hàm get_function_name() trả về tên của hàm. Chức năng sử dụng kiểm tra. currentframe() để lấy đối tượng khung của hàm hiện tại, sau đó trả về thuộc tính co_name của thuộc tính f_code của đối tượng khung, là tên của hàm

kiểm tra. Hàm currentframe() trả về một đối tượng khung cho khung của người gọi. Đối tượng khung là một thể hiện của lớp FrameInfo, lớp này có một số thuộc tính cung cấp thông tin về khung, chẳng hạn như thuộc tính f_code, là đối tượng mã cho hàm và thuộc tính co_name, là tên của hàm

Các đối số được chỉ định sau tên hàm, bên trong dấu ngoặc đơn. Bạn có thể thêm bao nhiêu đối số tùy thích, chỉ cần phân tách chúng bằng dấu phẩy

Ví dụ sau có một hàm với một đối số (fname). Khi hàm được gọi, chúng ta truyền vào tên đầu tiên, tên này được sử dụng bên trong hàm để in ra tên đầy đủ

Thí dụ

def my_function(fname)
in(fname + " Refsnes")

my_function("Emil")
my_function("Tobias")
my_function("Linus")

Tự mình thử »

Các đối số thường được rút ngắn thành args trong tài liệu Python


Học cách lọc dữ liệu bằng Python như một nhà phân tích dữ liệu

Các hàm được đặt tên như thế nào trong Python?

Thử tham gia các buổi đào tạo thực hành với hướng dẫn từng bước từ chuyên gia. Hãy thử dự án có hướng dẫn được thực hiện với sự cộng tác của Coursera ngay bây giờ

Get started


Tham số hoặc Đối số?

Tham số thuật ngữ và đối số có thể được sử dụng cho cùng một thứ. thông tin được truyền vào một chức năng

Từ quan điểm của một chức năng

Tham số là biến được liệt kê bên trong dấu ngoặc đơn trong định nghĩa hàm

Đối số là giá trị được gửi đến hàm khi nó được gọi


Số đối số

Theo mặc định, một hàm phải được gọi với số đối số chính xác. Có nghĩa là nếu hàm của bạn yêu cầu 2 đối số, bạn phải gọi hàm với 2 đối số, không nhiều hơn và không ít hơn

Thí dụ

Hàm này mong đợi 2 đối số và nhận 2 đối số

def my_function(fname, lname)
in (tên + " " + tên)

my_function("Emil", "Refsnes")

Tự mình thử »

Nếu bạn cố gọi hàm với 1 hoặc 3 đối số, bạn sẽ gặp lỗi

Thí dụ

Hàm này mong đợi 2 đối số, nhưng chỉ nhận được 1

def my_function(fname, lname)
in (tên + " " + tên)

my_function("Emil")

Tự mình thử »


Đối số tùy ý, *args

Nếu bạn không biết có bao nhiêu đối số sẽ được truyền vào hàm của mình, hãy thêm ____50_______ trước tên tham số trong định nghĩa hàm

Bằng cách này, hàm sẽ nhận được một bộ đối số và có thể truy cập các mục tương ứng

Thí dụ

Nếu số lượng đối số không xác định, hãy thêm ____50_______ trước tên tham số

def my_function(*kids)
print("Đứa trẻ nhỏ nhất là " + kids[2])

my_function("Emil", "Tobias", "Linus")

Tự mình thử »

Đối số tùy ý thường được rút ngắn thành *args trong tài liệu Python


Đối số từ khóa

Bạn cũng có thể gửi đối số bằng cú pháp key = value

Bằng cách này, thứ tự của các đối số không thành vấn đề

Thí dụ

def my_function(con3, con2, con1)
print("Con út là " + con3)

my_function(child1 = "Emil", child2 = "Tobias", child3 = "Linus")

Tự mình thử »

Cụm từ Đối số từ khóa thường được rút ngắn thành kwargs trong tài liệu Python


Đối số từ khóa tùy ý, **kwargs

Nếu bạn không biết có bao nhiêu đối số từ khóa sẽ được chuyển vào hàm của mình, hãy thêm hai dấu hoa thị. ** trước tên tham số trong định nghĩa hàm

Bằng cách này, hàm sẽ nhận được một từ điển các đối số và có thể truy cập các mục tương ứng

Thí dụ

Nếu số lượng đối số từ khóa không xác định, hãy thêm một dấu ngoặc kép ** trước tên tham số

def my_function(**kid)
print("Họ của anh ấy là " + kid["lname"])

my_function(fname = "Tobias", lname = "Refsnes")

Tự mình thử »

Đối số Kword tùy ý thường được rút ngắn thành **kwargs trong tài liệu Python


Giá trị tham số mặc định

Ví dụ sau đây cho thấy cách sử dụng giá trị tham số mặc định

Nếu chúng ta gọi hàm mà không có đối số, nó sẽ sử dụng giá trị mặc định

Thí dụ

def my_function(quốc gia = "Na Uy")
print("Tôi đến từ " + quốc gia)

my_function("Thụy Điển")
my_function("Ấn Độ")
my_function()
my_function("Braxin")

Tự mình thử »


Truyền Danh sách dưới dạng Đối số

Bạn có thể gửi bất kỳ loại dữ liệu nào của đối số tới một hàm (chuỗi, số, danh sách, từ điển, v.v. ) và nó sẽ được coi là cùng kiểu dữ liệu bên trong hàm

E. g. nếu bạn gửi Danh sách dưới dạng đối số, nó vẫn sẽ là Danh sách khi đến chức năng

Thí dụ

def my_function(thực phẩm)
cho x trong thực phẩm
in(x)

trái cây = ["táo", "chuối", "anh đào"]

my_function(trái cây)

Tự mình thử »


Giá trị trả về

Để một hàm trả về một giá trị, hãy sử dụng câu lệnh return

Thí dụ

def my_function(x)
trả lại 5 * x

in(my_function(3))
in(my_function(5))
in(my_function(9))

Tự mình thử »


Tuyên bố vượt qua

Định nghĩa function không thể để trống, nhưng nếu vì lý do nào đó bạn có định nghĩa function không có nội dung, hãy đặt câu lệnh pass để tránh mắc lỗi


đệ quy

Python cũng chấp nhận đệ quy hàm, có nghĩa là một hàm được xác định có thể gọi chính nó

Đệ quy là một khái niệm toán học và lập trình phổ biến. Nó có nghĩa là một chức năng gọi chính nó. Điều này có lợi là bạn có thể lặp qua dữ liệu để đạt được kết quả

Nhà phát triển nên rất cẩn thận với đệ quy vì có thể khá dễ dàng viết một hàm không bao giờ kết thúc hoặc một hàm sử dụng quá nhiều bộ nhớ hoặc sức mạnh của bộ xử lý. Tuy nhiên, khi được viết đúng, đệ quy có thể là một cách tiếp cận lập trình rất hiệu quả và thanh lịch về mặt toán học.

Trong ví dụ này, tri_recursion() là một hàm mà chúng ta đã xác định để gọi chính nó ("recurse"). Chúng tôi sử dụng biến k làm dữ liệu, giá trị này giảm (-1) mỗi khi chúng tôi lặp lại. Đệ quy kết thúc khi điều kiện không lớn hơn 0 (i. e. khi nó bằng 0)

Đối với một nhà phát triển mới, có thể mất một chút thời gian để tìm ra chính xác cách thức hoạt động của nó, cách tốt nhất để tìm hiểu là thử nghiệm và sửa đổi nó

Các chức năng nên được đặt tên như thế nào?

Khi đặt tên cho hàm, biến hoặc lớp, bạn nên ghi nhớ những điều sau. .
Chọn một từ có nghĩa (cung cấp một số ngữ cảnh)
Tránh tên chung chung (như tmp )
Đính kèm thông tin bổ sung vào tên (sử dụng hậu tố hoặc tiền tố)
Đừng đặt tên quá dài hoặc quá ngắn
Sử dụng định dạng nhất quán

Các phương thức nên được đặt tên Python như thế nào?

Tên phương thức trong Python .
Chỉ sử dụng chữ thường trong tên phương thức
Dấu gạch dưới nên phân tách các từ trong tên phương thức
Tên phương thức không công khai phải bắt đầu bằng một dấu gạch dưới
Sử dụng hai dấu gạch dưới liên tiếp ở đầu tên phương thức, nếu nó cần được đọc sai

Tên hàm hợp lệ trong Python là gì?

Tên hợp lệ bắt đầu bằng một chữ cái hoặc dấu gạch dưới nhưng có thể bao gồm số . Các từ được viết thường và được phân tách bằng dấu gạch dưới. Điều quan trọng cần biết là tên hàm không thể là từ khóa dành riêng cho Python.

func __ name __ trong Python là gì?

Biến __name__ (hai dấu gạch dưới trước và sau) là một biến Python đặc biệt . Nó nhận được giá trị của nó tùy thuộc vào cách chúng tôi thực thi tập lệnh chứa. Đôi khi bạn viết một tập lệnh với các chức năng cũng có thể hữu ích trong các tập lệnh khác. Trong Python, bạn có thể nhập tập lệnh đó dưới dạng mô-đun trong tập lệnh khác.