Hướng dẫn what are the features of functions in python? - các tính năng của các hàm trong python là gì?

Sửa đổi lần cuối ngày 25 tháng 10 năm 2022

Trong bài viết này, chúng tôi bao gồm các chức năng trong Python.

Định nghĩa chức năng Python

Hàm là ánh xạ bằng 0 hoặc nhiều tham số đầu vào về 0 hoặc nhiều tham số đầu ra.

Ưu điểm của việc sử dụng các chức năng là:

  • Giảm sự trùng lặp của mã
  • Phân hủy các vấn đề phức tạp thành các mảnh đơn giản hơn
  • Cải thiện sự rõ ràng của mã
  • Tái sử dụng mã
  • Ẩn thông tin

Các chức năng trong Python là những công dân hạng nhất. Nó có nghĩa là các chức năng có trạng thái bình đẳng với các đối tượng khác trong Python. Các chức năng có thể được gán cho các biến, được lưu trữ trong các bộ sưu tập hoặc được truyền dưới dạng đối số. Điều này mang lại sự linh hoạt bổ sung cho ngôn ngữ.

Các loại chức năng Python

Có hai loại chức năng cơ bản: các chức năng tích hợp và các chức năng do người dùng xác định. Các chức năng tích hợp là một phần của ngôn ngữ Python; Ví dụ

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
2,
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
3 hoặc
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
4. Các hàm do người dùng xác định là các hàm được tạo bằng từ khóa
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
5.

Python tạo ra các chức năng

Một hàm được tạo với từ khóa

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
5. Các câu lệnh trong khối của hàm phải được thụt vào.

def function():
    pass

Từ khóa

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
5 được theo sau bởi tên hàm với dấu ngoặc tròn và dấu hai chấm. Các câu lệnh thụt lên tạo thành một cơ thể của chức năng.

Chức năng sau đó được thực hiện khi cần thiết. Chúng tôi nói rằng chúng tôi gọi chức năng. Nếu chúng ta gọi một hàm, các câu lệnh bên trong cơ thể chức năng sẽ được thực thi. Chúng không được thực thi cho đến khi hàm được gọi.

myfunc()

Để gọi một hàm, chúng tôi chỉ định tên chức năng với dấu ngoặc tròn.

ret.py

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)

Chuỗi ở đầu tập lệnh được gọi là chuỗi tài liệu. Nó ghi lại kịch bản hiện tại. Tệp mà chúng tôi đặt mã Python được gọi là mô -đun.

Chúng tôi xác định hai chức năng. Hàm đầu tiên in chuỗi tài liệu mô -đun. Thứ hai trả về đường dẫn của mô -đun. Hàm có thể hoặc không thể trả về một giá trị. Nếu một funciton không trả về một giá trị, nó sẽ hoàn toàn trả về

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
8.
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
9 và
def f():
    print("f() function")
0 là các thuộc tính trạng thái đặc biệt. Lưu ý rằng có hai dấu gạch dưới ở cả hai phía của thuộc tính.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py

Định nghĩa về các chức năng phải đi trước việc sử dụng của chúng. Nếu không, thông dịch viên sẽ phàn nàn với

def f():
    print("f() function")
1.

func_prec.py

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")

Trong ví dụ trên, chúng tôi có hai định nghĩa về các hàm. Một dòng được bình luận. Một cuộc gọi chức năng không thể đi trước định nghĩa của nó.

#f2()


def f2():
    print("f2()")

Chúng ta chỉ có thể gọi

def f():
    print("f() function")
2 sau khi định nghĩa của nó. Không đưa ra dòng chúng ta nhận được
def f():
    print("f() function")
1.

Xác định các chức năng ở đâu

Các chức năng có thể được xác định bên trong một mô -đun, một lớp hoặc chức năng khác. Hàm được xác định bên trong một lớp được gọi là một phương thức.

defining.py

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()

Trong ví dụ này, chúng tôi xác định hàm

def f():
    print("f() function")
4 ở ba nơi khác nhau.

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")

Một phương pháp tĩnh được định nghĩa với một bộ trang trí trong một lớp

def f():
    print("f() function")
5.

def f():
    print("f() function")

Hàm được xác định trong một mô -đun.

def g():
    def f():
        print("f() inner function")
    f()

Ở đây hàm

def f():
    print("f() function")
4 được xác định bên trong một hàm
def f():
    print("f() function")
7 khác. Nó là một hàm bên trong.

myfunc()
0

Phương thức tĩnh được gọi bằng cách chỉ định tên lớp, toán tử chấm và tên hàm với dấu ngoặc vuông. Các chức năng khác được gọi là bằng cách sử dụng tên và dấu ngoặc vuông của chúng.

myfunc()
1

Chức năng Python là đối tượng

Các chức năng trong Python là đối tượng. Chúng có thể được thao túng như các đối tượng khác trong Python. Do đó, các chức năng được gọi là công dân hạng nhất. Điều này không đúng trong các ngôn ngữ OOP khác như Java hoặc C#.

fun_obj.py

myfunc()
2

Trong tập lệnh này, chúng tôi cho thấy rằng chức năng của chúng tôi cũng là một đối tượng.

myfunc()
3

Chúng tôi xác định hàm

def f():
    print("f() function")
4. Nó in một tin nhắn vào bảng điều khiển. Nó cũng có một chuỗi tài liệu.

myfunc()
4

Hàm

def f():
    print("f() function")
9 kiểm tra xem hàm
def f():
    print("f() function")
4 có phải là một thể hiện của
def g():
    def f():
        print("f() inner function")
    f()
1 hay không. Tất cả các đối tượng trong Python kế thừa từ thực thể cơ sở này.

myfunc()
5

Mỗi đối tượng trong Python có một ID duy nhất. Hàm

def g():
    def f():
        print("f() inner function")
    f()
2 trả về ID của đối tượng.

myfunc()
6

Đối tượng có thể có thuộc tính; Chúng tôi in hai thuộc tính của hàm:

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
9 và
def g():
    def f():
        print("f() inner function")
    f()
4.

myfunc()
7

Các chức năng có thể được lưu trữ trong các bộ sưu tập và được chuyển cho các chức năng khác.

fun_coll.py

myfunc()
8

Chúng tôi xác định ba chức năng. Chúng tôi đặt chúng trong một tuple và chuyển chúng vào một chức năng.

myfunc()
9

Chúng tôi đặt ba đối tượng chức năng trong một tuple và đi qua nó với một vòng lặp.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
0

Chúng tôi vượt qua các hàm

def f():
    print("f() function")
4 và
def f():
    print("f() function")
7 cho hàm
def g():
    def f():
        print("f() inner function")
    f()
7.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
1

Ba loại chức năng trong Python

Nhìn từ một quan điểm cụ thể, chúng ta có thể nhận ra ba loại chức năng. Các chức năng luôn có sẵn để sử dụng, các hàm được chứa trong các mô -đun bên ngoài, phải được nhập và các chức năng được xác định bởi một lập trình viên với từ khóa

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
5.

three_kinds.py

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
2

Ba loại chức năng có mặt trong mã trên.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
3

Hàm

def g():
    def f():
        print("f() inner function")
    f()
9 được nhập từ mô -đun toán học.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
4

Hàm Cube () là một hàm được xác định tùy chỉnh.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
5

Hàm

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
4 là một chức năng tích hợp dễ dàng truy cập. Nó là một phần của cốt lõi của ngôn ngữ.

Python trả về từ khóa

Một chức năng được tạo để thực hiện một nhiệm vụ cụ thể. Thường thì có một kết quả từ một nhiệm vụ như vậy. Từ khóa

myfunc()
01 được sử dụng để trả về các giá trị từ một hàm. Một hàm có thể hoặc không thể trả về một giá trị. Nếu một hàm không có từ khóa trả về, nó sẽ gửi
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
8.

returning.py

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
6

Chúng tôi có hai chức năng được xác định. Người ta sử dụng từ khóa

myfunc()
01, một từ khóa thì không.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
7

Hàm

myfunc()
04 không trả về một cách rõ ràng là một giá trị. Nó hiển thị một tin nhắn trên bảng điều khiển.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
4

Các hàm

myfunc()
05 tính toán một biểu thức và trả về kết quả của nó với từ khóa
myfunc()
01.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
9

Trong dòng này, chúng tôi gọi hàm

myfunc()
05. Kết quả tính toán của hàm
myfunc()
05 được trả về và gán cho biến
myfunc()
09. Nó giữ giá trị kết quả bây giờ.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
0

Chúng tôi gọi hàm

myfunc()
04 với thông báo là tham số. Thông điệp được in vào bảng điều khiển. Chúng tôi không mong đợi một giá trị từ chức năng này.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
1

Mã này tạo ra hai dòng. Một là một thông báo được in bởi hàm

myfunc()
04. Cái còn lại là giá trị
# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
8, được gửi hoàn toàn bởi các hàm mà không có câu lệnh
myfunc()
01.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
2

Chúng ta có thể gửi thêm một giá trị từ một hàm. Các đối tượng sau từ khóa

myfunc()
01 được phân tách bằng dấu phẩy.

returning2.py

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
3

Có một định nghĩa về hàm

myfunc()
15. Hàm này trả về bốn giá trị.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
4

Từ khóa

myfunc()
01 gửi lại bốn số. Các số được phân tách bằng một ký tự dấu phẩy. Trên thực tế, chúng tôi đã gửi một tuple chứa bốn giá trị này. Chúng tôi cũng có thể trả lại một danh sách thay vì một tuple.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
5

Các giá trị được trả về được gán cho các biến cục bộ.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
6

Hàm xác định lại chức năng Python

Python là năng động trong tự nhiên. Có thể xác định lại một hàm đã xác định.

redefinition.py

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
7

Chúng tôi xác định hàm

myfunc()
04. Sau đó, chúng tôi cung cấp một định nghĩa mới về cùng một chức năng.

$ ./ret.py

The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022

None C:/Users/Jano/PycharmProjects/Simple/simple.py
8

Từ mô -đun thời gian, chúng tôi nhập hai chức năng được sử dụng để tính thời gian hiện tại.

#!/usr/bin/python

"""
The ret.py script shows how to work with
functions in Python.
Author: Jan Bodnar
ZetCode, 2022
"""


def show_module_name():

    print(__doc__)


def get_module_file():

    return __file__


a = show_module_name()
b = get_module_file()

print(a, b)
7

Đây là định nghĩa đầu tiên của một hàm. Nó chỉ in một tin nhắn vào bảng điều khiển.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
0

Sau đó trong mã nguồn, chúng tôi thiết lập một định nghĩa mới về hàm

myfunc()
18. Thông điệp được đi trước với dấu thời gian.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
1

Đối số chức năng Python

Hầu hết các chức năng chấp nhận đối số. Đối số là các giá trị được gửi đến hàm. Các chức năng xử lý các giá trị và tùy chọn trả về một số giá trị trở lại.

fahrenheit.py

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
2

Trong ví dụ của chúng tôi, chúng tôi chuyển đổi nhiệt độ Celsius thành Fahrenheit. Hàm

myfunc()
19 chấp nhận một đối số C, đó là nhiệt độ Celsius.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
3

Các đối số trong các hàm Python có thể có các giá trị ngầm. Một giá trị ngầm được sử dụng nếu không có giá trị được cung cấp.

fun_implicit.py

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
4

Ở đây chúng tôi đã tạo ra một chức năng quyền lực. Hàm có một đối số với một giá trị ngầm. Chúng ta có thể gọi chức năng với một hoặc hai đối số.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
5

Các hàm Python có thể chỉ định các đối số của họ với một từ khóa. Điều này có nghĩa là khi gọi một hàm, chúng tôi chỉ định cả từ khóa và giá trị. Khi chúng ta có nhiều đối số và chúng được sử dụng mà không có từ khóa, thứ tự chúng ta vượt qua các đối số đó là rất quan trọng. Nếu chúng ta mong đợi một cái tên, tuổi tác hoặc tình dục trong một chức năng không có từ khóa, chúng ta không thể thay đổi thứ tự của họ. Nếu chúng ta sử dụng từ khóa, chúng ta có thể.

fun_keywords.py

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
6

Trong ví dụ này, thứ tự chúng tôi chỉ định các đối số là quan trọng. Nếu không, chúng tôi nhận được kết quả không chính xác.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
7

fun_keywords2.py

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
8

Bây giờ chúng tôi gọi các chức năng với từ khóa của họ. Thứ tự có thể được thay đổi, mặc dù không nên làm như vậy. Lưu ý rằng chúng tôi không thể sử dụng đối số không phải là KeyeDword sau đối số từ khóa. Điều này sẽ kết thúc trong một lỗi cú pháp.

#!/usr/bin/python

# func_prec.py


def f1():
    print("f1()")


f1()
#f2()


def f2():
    print("f2()")
9

Đây là một cấu trúc pháp lý. Một đối số không thay đổi có thể được theo sau bởi các đối số từ khóa.

#f2()


def f2():
    print("f2()")
0

Điều này sẽ kết thúc trong một lỗi cú pháp. Một đối số không thay đổi có thể không tuân theo các đối số từ khóa.

Các chức năng trong Python có thể chấp nhận số lượng đối số tùy ý.

arbitrary_args.py

#f2()


def f2():
    print("f2()")
1

Chúng tôi sử dụng toán tử

myfunc()
20 để chỉ ra rằng hàm chấp nhận số lượng đối số tùy ý. Hàm
myfunc()
21 trả về tổng của tất cả các đối số. Chuỗi đầu tiên trong phần thân hàm được gọi là Chuỗi tài liệu chức năng. Nó được sử dụng để ghi lại chức năng. Chuỗi phải được trích dẫn ba.

#f2()


def f2():
    print("f2()")
2

Chúng tôi cũng có thể sử dụng cấu trúc

myfunc()
22 trong các chức năng của chúng tôi. Trong trường hợp như vậy, chức năng sẽ chấp nhận một từ điển. Từ điển có độ dài tùy ý. Sau đó chúng ta có thể thông thường phân tích từ điển, như thường lệ.

details.py

#f2()


def f2():
    print("f2()")
3

Ví dụ này cho thấy một trường hợp như vậy. Chúng tôi có thể cung cấp số lượng đối số giá trị khóa tùy ý. Chức năng sẽ xử lý tất cả.

#f2()


def f2():
    print("f2()")
4

Python đi qua các tham số bằng cách tham khảo

Các tham số cho các chức năng được truyền qua tham chiếu. Một số ngôn ngữ chuyển các bản sao của các đối tượng cho các chức năng. Vượt qua các đối tượng bằng cách tham chiếu có hai kết luận quan trọng: a) Quá trình này nhanh hơn so với các bản sao của các đối tượng được thông qua; b) Các đối tượng có thể thay đổi được sửa đổi trong các chức năng được thay đổi vĩnh viễn.

passing_by_reference.py

#f2()


def f2():
    print("f2()")
5

Trong ví dụ của chúng tôi, chúng tôi chuyển một danh sách các số nguyên cho một hàm. Đối tượng được sửa đổi bên trong phần thân của chức năng. Sau khi gọi hàm, đối tượng ban đầu, danh sách các số nguyên được sửa đổi.

#f2()


def f2():
    print("f2()")
6

Trong phần thân của chức năng, chúng ta làm việc với đối tượng ban đầu. Không phải với một bản sao của đối tượng. Trong nhiều ngôn ngữ lập trình, chúng tôi sẽ nhận được một bản sao của một đối tượng theo mặc định.

#f2()


def f2():
    print("f2()")
7

Khi danh sách đã được sửa đổi, nó đã được sửa đổi cho tốt.

Python Global và Local Biến

Tiếp theo chúng ta nói về cách các biến được sử dụng trong các hàm Python.

local_variable.py

#f2()


def f2():
    print("f2()")
8

Một biến được xác định trong một cơ thể chức năng có phạm vi cục bộ. Nó chỉ có giá trị trong cơ thể của chức năng.

#f2()


def f2():
    print("f2()")
9

global_variable.py

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
0

Theo mặc định, chúng ta có thể có được nội dung của một biến toàn cầu bên trong phần thân của một hàm.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
1

Nhưng nếu chúng ta muốn thay đổi một biến toàn cầu trong một hàm, chúng ta phải sử dụng từ khóa

myfunc()
23.

global_variable2.py

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
2

Bây giờ, chúng tôi thay đổi nội dung của một biến tên toàn cầu bên trong một hàm.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
3

Sử dụng từ khóa

myfunc()
23, chúng tôi tham chiếu biến được xác định bên ngoài phần thân của hàm. Biến được cung cấp một giá trị mới.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
4

Chức năng ẩn danh Python

Có thể tạo các chức năng ẩn danh trong Python. Các chức năng ẩn danh không có tên. Với từ khóa

myfunc()
25, các hàm ẩn danh nhỏ có thể được tạo. Các chức năng ẩn danh cũng được gọi là các chức năng Lambda của các lập trình viên Python. Chúng là một phần của mô hình chức năng được kết hợp trong Python.

Các hàm Lambda bị giới hạn trong một biểu thức duy nhất. Chúng có thể được sử dụng bất cứ nơi nào các chức năng bình thường có thể được sử dụng. Có một hướng dẫn chức năng Python Lambda trên ZetCode.

lambda_fun.py

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
5

Đây là một ví dụ nhỏ về chức năng Lambda.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
6

Từ khóa

myfunc()
25 tạo ra một hàm ẩn danh.
myfunc()
09 là một tham số được truyền đến hàm Lambda. Các tham số được theo sau bởi một ký tự đại tràng. Mã bên cạnh đại tràng là biểu thức được thực thi, khi hàm Lambda được gọi. Hàm LambDA được gán cho biến
myfunc()
28.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
7

Hàm Lambda được thực thi. Số 8 được chuyển đến hàm ẩn danh và nó trả về 48 do kết quả. Lưu ý rằng

myfunc()
28 không phải là tên cho chức năng này. Nó chỉ là một biến mà hàm ẩn danh được gán.

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
8

Hàm Lambda có thể được sử dụng thanh lịch với các phần chức năng khác của ngôn ngữ Python, như các hàm

myfunc()
30 hoặc
myfunc()
31.

lambda_fun2.py

#!/usr/bin/python

# defining.py


class Some():

    @staticmethod
    def f():
        print("f() method")


def f():
    print("f() function")


def g():
    def f():
        print("f() inner function")
    f()


Some.f()
f()
g()
9

Trong ví dụ, chúng tôi có một danh sách nhiệt độ Celsius. Chúng tôi tạo ra một danh sách mới chứa nhiệt độ ở Fahrenheit.

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
0

Hàm

myfunc()
30 áp dụng hàm ẩn danh cho từng phần tử của danh sách
myfunc()
33. Nó trả lại một điều đáng tin cậy của nhiệt độ Fahrenheit được tính toán.

# defining.py

class Some():

    @staticmethod
    def f():
        print("f() method")
1

Trong bài viết này, chúng tôi đã đề cập đến các chức năng Python.

Liệt kê tất cả các hướng dẫn Python.

4 loại chức năng trong Python là gì?

Sau đây là các loại chức năng Python khác nhau:..
Chức năng tích hợp Python ..
Chức năng đệ quy Python ..
Chức năng Python Lambda ..
Các chức năng do người dùng Python xác định ..

3 chức năng trong Python là gì?

Có ba chức năng trong Python cung cấp tính thực tế và tính hữu dụng rộng lớn khi lập trình.Ba chức năng này, cung cấp kiểu lập trình chức năng trong ngôn ngữ Python hướng đối tượng, là các hàm map (), filter () và giảm ().map(), filter(), and reduce() functions.

Những lợi ích của các chức năng trong Python là gì?

Ưu điểm của các chức năng trong Python với sự trợ giúp của các chức năng, chúng ta có thể tránh viết lại cùng một logic hoặc mã nhiều lần trong một chương trình.Trong một chương trình duy nhất, chúng ta có thể gọi các chức năng Python ở bất cứ đâu và cũng gọi nhiều lần.Chúng ta có thể theo dõi một chương trình Python lớn một cách dễ dàng khi nó được chia thành nhiều chức năng.avoid rewriting the same logic or code again and again in a program. In a single Program, we can call Python functions anywhere and also call multiple times. We can track a large Python program easily when it is divided into multiple functions.

Các chức năng trong Python với ví dụ là gì?

Một hàm là một khối mã chỉ chạy khi nó được gọi.Bạn có thể truyền dữ liệu, được gọi là tham số, thành một hàm.Một chức năng có thể trả về dữ liệu như là kết quả.a block of code which only runs when it is called. You can pass data, known as parameters, into a function. A function can return data as a result.