Hướng dẫn how do you take keyword arguments in python? - làm cách nào để lấy các đối số từ khóa trong python?

Các đối số từ khóa là một trong những tính năng python thường có vẻ hơi kỳ lạ đối với những người chuyển sang Python từ nhiều ngôn ngữ lập trình khác. Nó không giúp mọi người học Python thường khám phá các tính năng khác nhau của các đối số từ khóa từ từ theo thời gian.

Khi dạy Python, tôi đã thường muốn tôi có một bản tóm tắt về các tính năng liên quan đến đối số từ khóa khác nhau mà tôi có thể liên kết người học. Tôi hy vọng rằng bài viết này sẽ hoàn thành nhiệm vụ đó.

Trong bài viết này, tôi sẽ giải thích các đối số từ khóa là gì và tại sao họ sử dụng. Sau đó, tôi sẽ xem xét một số cách sử dụng nâng cao hơn của họ mà ngay cả các lập trình viên Python lâu năm cũng có thể đã bỏ qua vì khá nhiều điều đã thay đổi trong các phiên bản gần đây của Python 3. Nếu bạn đã là một lập trình viên Python có kinh nghiệm, bạn có thể muốn Bỏ qua cuối cùng.

    Đối số từ khóa là gì?

    Chúng ta hãy xem xét các đối số từ khóa (còn được gọi là đối số có tên là).

    Đầu tiên, hãy để Lừa lấy chức năng Python này:

    1
    2
    3
    4
    5
    6
    
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    

    Khi chúng ta gọi chức năng này, chúng ta có thể vượt qua ba đối số của mình theo hai cách khác nhau.

    Chúng ta có thể thông qua các lập luận của mình như những đối số vị trí như thế này:

    1
    2
    
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    

    Hoặc chúng ta có thể chuyển các đối số của mình dưới dạng các đối số từ khóa như thế này:

    1
    2
    
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    

    Hoặc chúng ta có thể chuyển các đối số của mình dưới dạng các đối số từ khóa như thế này:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    >>> quadratic(62, 93, 31)
    (-0.5, -1.0)
    

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    1
    2
    
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    

    Hoặc chúng ta có thể chuyển các đối số của mình dưới dạng các đối số từ khóa như thế này:

    >>> quadratic(a=31, b=93, c=62) (-1.0, -2.0)

    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    >>> quadratic(62, 93, 31)
    (-0.5, -1.0)
    
    Nhưng nó không quan trọng khi họ được truyền qua tên của họ:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    

    Khi chúng ta sử dụng từ khóa/đối số được đặt tên, nó có tên quan trọng, không phải vị trí:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    >>> quadratic(62, 93, 31)
    (-0.5, -1.0)
    
    Nhưng nó không quan trọng khi họ được truyền qua tên của họ:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    

    Khi chúng ta sử dụng từ khóa/đối số được đặt tên, nó có tên quan trọng, không phải vị trí:

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    1

    Vì vậy, không giống như nhiều ngôn ngữ lập trình khác, Python biết tên của các đối số mà chức năng của chúng tôi chấp nhận.

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    >>> quadratic(62, 93, 31)
    (-0.5, -1.0)
    
    Nhưng nó không quan trọng khi họ được truyền qua tên của họ:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    

    Khi chúng ta sử dụng từ khóa/đối số được đặt tên, nó có tên quan trọng, không phải vị trí:

    1. from math import sqrt
      
      def quadratic(a, b, c):
          x1 = -b / (2*a)
          x2 = sqrt(b**2 - 4*a*c) / (2*a)
          return (x1 + x2), (x1 - x2)
      
      1
    2. Vì vậy, không giống như nhiều ngôn ngữ lập trình khác, Python biết tên của các đối số mà chức năng của chúng tôi chấp nhận.
    3. Nếu chúng tôi yêu cầu trợ giúp về chức năng của mình, Python sẽ cho chúng tôi biết ba đối số của chúng tôi theo tên:

    from math import sqrt def quadratic(a, b, c): x1 = -b / (2*a) x2 = sqrt(b**2 - 4*a*c) / (2*a) return (x1 + x2), (x1 - x2) 3

    Lưu ý rằng các chức năng có thể được gọi với sự kết hợp giữa các đối số vị trí và được đặt tên:

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    5

    Điều đó có thể có ích, nhưng với chức năng cụ thể, chúng tôi đã viết ở đây, nó rõ ràng nhất để sử dụng tất cả các đối số vị trí hoặc tất cả các đối số từ khóa.

    1
    2
    
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    

    Hoặc chúng ta có thể chuyển các đối số của mình dưới dạng các đối số từ khóa như thế này:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    >>> quadratic(62, 93, 31)
    (-0.5, -1.0)
    
    Nhưng nó không quan trọng khi họ được truyền qua tên của họ:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    

    Khi chúng ta sử dụng từ khóa/đối số được đặt tên, nó có tên quan trọng, không phải vị trí:

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    Thứ tự của những đối số này có vấn đề khi chúng được thông qua một vị trí:

    1
    2
    3
    4
    

    1
    2
    3
    4
    5
    6
    
    1
    2
    
    9

    Các đối số từ khóa xuất hiện khá nhiều trong các chức năng tích hợp của Python cũng như trong thư viện tiêu chuẩn và thư viện bên thứ ba.

    Yêu cầu các đối số của bạn được đặt tên

    Bạn có thể tạo một hàm chấp nhận bất kỳ số lượng đối số vị trí nào cũng như một số đối số chỉ từ khóa bằng cách sử dụng toán tử

    1
    2
    3
    4
    
    3 để nắm bắt tất cả các đối số vị trí và sau đó chỉ định các đối số chỉ từ khóa tùy chọn sau khi chụp
    1
    2
    3
    4
    
    3.

    Đây là một ví dụ:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    0
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    1

    Lưu ý: Nếu bạn đã thấy rằng cú pháp

    1
    2
    3
    4
    
    3 trước đó,
    1
    2
    3
    4
    
    6 nắm bắt tất cả các đối số vị trí được đưa ra cho hàm
    1
    2
    3
    4
    
    7 thành một tuple mà biến
    1
    2
    3
    4
    
    8 trỏ đến.
    : If you haven’t seen that
    1
    2
    3
    4
    
    3 syntax before,
    1
    2
    3
    4
    
    6 captures all positional arguments given to the
    1
    2
    3
    4
    
    7 function into a tuple which the
    1
    2
    3
    4
    
    8 variable points to.

    Đối số

    1
    2
    3
    4
    
    9 trong hàm trên phải được chỉ định là đối số từ khóa:

    1
    2
    3
    4
    5
    6
    
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    3

    Lưu ý rằng trong khi

    1
    2
    3
    4
    
    9 có giá trị mặc định, bạn cũng có thể chỉ định các đối số chỉ cần từ khóa bằng cách sử dụng cú pháp này:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    4
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    5

    Biến

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    1 đó không có giá trị mặc định, vì vậy nó phải được chỉ định:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    7

    Lưu ý rằng cú pháp này của việc đặt các đối số sau

    1
    2
    3
    4
    
    3 chỉ hoạt động trong Python 3. Không có cách nào trong Python 2 để yêu cầu một đối số được đặt tên.

    Đối số chỉ có từ khóa mà không có đối số vị trí

    Điều gì sẽ xảy ra nếu bạn muốn chấp nhận các đối số chỉ từ khóa mà không chấp nhận các đối số vị trí không giới hạn?

    Nếu bạn muốn chấp nhận các đối số chỉ từ khóa và bạn không sử dụng

    1
    2
    3
    4
    
    3 để chấp nhận bất kỳ số lượng đối số vị trí nào, bạn có thể sử dụng
    1
    2
    3
    4
    
    3 mà không cần bất cứ điều gì sau đó.

    Ví dụ, ở đây, một phiên bản sửa đổi của chức năng Django từ ____995:

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    9

    Không giống như việc triển khai

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 hiện tại của Django, phiên bản này không biết gọi
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 bằng cách chỉ định mọi đối số một cách vị trí. Các đối số
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    8,
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    9 và
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    00 phải được chỉ định bởi
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    01 của họ.

    1
    2
    3
    4
    5
    6
    
    1
    2
    
    1

    Giống như với các đối số vị trí không giới hạn, các đối số từ khóa này có thể được yêu cầu. Ở đây, một chức năng với bốn đối số chỉ cần từ khóa cần thiết:

    1
    2
    
    2
    1
    2
    
    3

    Hàm này yêu cầu tất cả các đối số của nó được chỉ định bằng tên của họ:

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    7

    Lưu ý rằng cú pháp này của việc đặt các đối số sau

    1
    2
    3
    4
    
    3 chỉ hoạt động trong Python 3. Không có cách nào trong Python 2 để yêu cầu một đối số được đặt tên.

    Đối số chỉ có từ khóa mà không có đối số vị trí

    Điều gì sẽ xảy ra nếu bạn muốn chấp nhận các đối số chỉ từ khóa mà không chấp nhận các đối số vị trí không giới hạn?Nếu bạn muốn chấp nhận các đối số chỉ từ khóa và bạn không sử dụng
    1
    2
    3
    4
    
    3 để chấp nhận bất kỳ số lượng đối số vị trí nào, bạn có thể sử dụng
    1
    2
    3
    4
    
    3 mà không cần bất cứ điều gì sau đó.

    Ví dụ, ở đây, một phiên bản sửa đổi của chức năng Django từ ____995:

    Điều gì sẽ xảy ra nếu bạn muốn chấp nhận các đối số chỉ từ khóa mà không chấp nhận các đối số vị trí không giới hạn?Nếu bạn muốn chấp nhận các đối số chỉ từ khóa và bạn không sử dụng
    1
    2
    3
    4
    
    3 để chấp nhận bất kỳ số lượng đối số vị trí nào, bạn có thể sử dụng
    1
    2
    3
    4
    
    3 mà không cần bất cứ điều gì sau đó.

    Ví dụ, ở đây, một phiên bản sửa đổi của chức năng Django từ ____995:

    from math import sqrt def quadratic(a, b, c): x1 = -b / (2*a) x2 = sqrt(b**2 - 4*a*c) / (2*a) return (x1 + x2), (x1 - x2) 6

    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    9

    Không giống như việc triển khai

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 hiện tại của Django, phiên bản này không biết gọi
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 bằng cách chỉ định mọi đối số một cách vị trí. Các đối số
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    8,
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    9 và
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    00 phải được chỉ định bởi
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    01 của họ.

    1
    2
    
    1
    Giống như với các đối số vị trí không giới hạn, các đối số từ khóa này có thể được yêu cầu. Ở đây, một chức năng với bốn đối số chỉ cần từ khóa cần thiết:

    1
    2
    
    2

    1
    2
    
    3

    1
    2
    3
    4
    5
    6
    
    Hàm này yêu cầu tất cả các đối số của nó được chỉ định bằng tên của họ:

    1
    2
    
    5

    Yêu cầu các đối số được đặt tên có thể thực hiện các cuộc gọi đến chức năng của chúng tôi rõ ràng hơn nhiều.

    1
    2
    
    1
    Giống như với các đối số vị trí không giới hạn, các đối số từ khóa này có thể được yêu cầu. Ở đây, một chức năng với bốn đối số chỉ cần từ khóa cần thiết:

    1
    2
    
    2

    1
    2
    
    3

    Hàm này yêu cầu tất cả các đối số của nó được chỉ định bằng tên của họ:

    1
    2
    
    5

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    9

    Không giống như việc triển khai

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 hiện tại của Django, phiên bản này không biết gọi
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 bằng cách chỉ định mọi đối số một cách vị trí. Các đối số
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    8,
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    9 và
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    00 phải được chỉ định bởi
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    01 của họ.

    1
    2
    
    1

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    9

    Không giống như việc triển khai

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 hiện tại của Django, phiên bản này không biết gọi
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 bằng cách chỉ định mọi đối số một cách vị trí. Các đối số
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    8,
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    9 và
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    00 phải được chỉ định bởi
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    01 của họ.

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    6
    >>> quadratic(31, 93, 62)
    (-1.0, -2.0)
    
    9

    Không giống như việc triển khai

    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 hiện tại của Django, phiên bản này không biết gọi
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    6 bằng cách chỉ định mọi đối số một cách vị trí. Các đối số
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    8,
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    >>> quadratic(c=62, b=93, a=31)
    (-1.0, -2.0)
    
    9 và
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    00 phải được chỉ định bởi
    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    01 của họ.
    : We’re also using the
    1
    2
    3
    4
    
    3 operator here for the same kind of capturing and unpacking of positional arguments.

    1
    2
    
    1

    Giống như với các đối số vị trí không giới hạn, các đối số từ khóa này có thể được yêu cầu. Ở đây, một chức năng với bốn đối số chỉ cần từ khóa cần thiết:

    1
    2
    
    2

    1
    2
    
    1
    2
    3
    4
    
    3

    Thay vào đó, với Python 3.6+, các đối số sẽ luôn duy trì thứ tự chúng được thông qua:

    1
    2
    
    >>> quadratic(a=31, b=93, c=62)
    (-1.0, -2.0)
    
    5

    Embrace từ khóa đối số trong Python

    Một vị trí đối số thường không truyền tải được nhiều ý nghĩa như tên của nó. Vì vậy, khi gọi các chức năng, hãy xem xét các đối số đặt tên mà bạn chuyển vào nếu nó có thể làm cho ý nghĩa của chúng rõ ràng hơn.

    Khi xác định một hàm mới, hãy dừng lại để suy nghĩ về những đối số nào phải luôn được chỉ định là đối số từ khóa khi gọi chức năng của bạn. Xem xét sử dụng toán tử

    1
    2
    3
    4
    
    3 để yêu cầu các đối số đó được chỉ định là đối số từ khóa.

    Và hãy nhớ rằng bạn có thể chấp nhận các đối số từ khóa tùy ý cho các hàm bạn xác định và chuyển các đối số từ khóa tùy ý cho các chức năng bạn gọi bằng cách sử dụng toán tử

    from math import sqrt
    
    def quadratic(a, b, c):
        x1 = -b / (2*a)
        x2 = sqrt(b**2 - 4*a*c) / (2*a)
        return (x1 + x2), (x1 - x2)
    
    02.

    Các đối tượng quan trọng xứng đáng với tên và bạn có thể sử dụng các đối số từ khóa để đặt cho các đối tượng của bạn những cái tên mà chúng xứng đáng!

    Thực hành Python mỗi tuần

    Nếu bạn muốn tăng cấp cho các kỹ năng Python của mình và thực hành bằng cách sử dụng các tính năng cụ thể của Python, như đối số từ khóa, hãy đăng ký cho Python Barsels bên dưới.level up your Python skills and get practice using Python-specific features, like keyword arguments, sign up for Python Morsels below.

    Tại sao bạn sẽ sử dụng các đối số từ khóa trong các hàm Python?

    Python cho phép các chức năng được gọi bằng cách sử dụng các đối số từ khóa.Khi chúng ta gọi các chức năng theo cách này, thứ tự (vị trí) của các đối số có thể được thay đổi.Các cuộc gọi sau đến chức năng trên đều hợp lệ và tạo ra cùng một kết quả.the order (position) of the arguments can be changed. Following calls to the above function are all valid and produce the same result.

    Làm thế nào để bạn vượt qua nhiều đối số từ khóa trong Python?

    Trong Python, bằng cách thêm * và ** (một hoặc hai dấu hoa thị) vào đầu tên tham số trong định nghĩa hàm, bạn có thể chỉ định số lượng đối số tùy ý (đối số có độ dài thay đổi) khi gọi hàm.by adding * and ** (one or two asterisks) to the head of parameter names in the function definition, you can specify an arbitrary number of arguments (variable-length arguments) when calling the function.