Hướng dẫn why would you use keyword arguments in python functions? - tại sao bạn lại sử dụng các đối số từ khóa trong các hàm python?

Trong Python, các thuật ngữ parameterargument được sử dụng thay thế cho nhau. Tuy nhiên, có một sự khác biệt nhỏ giữa hai thuật ngữ này. Các tham số là các biến đầu vào giới hạn bởi dấu ngoặc đơn khi xác định hàm, trong khi các đối số là các giá trị được gán cho các tham số này khi được chuyển vào hàm (hoặc phương thức) trong lệnh gọi hàm.Parameters are the input variables bounded by parentheses when defining a function, whereas arguments are the values assigned to these parameters when passed into a function (or method) during a function call.

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

Trong ví dụ trên, các đối số hàm là FemCode

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

0, trong khi

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

1 và

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

2 là các tham số hàm.

Các loại đối số

Có hai loại đối số: đối số vị trí và đối số từ khóa.

Lập luận vị trí

Các đối số vị trí là các giá trị được truyền vào một hàm dựa trên thứ tự các tham số được liệt kê trong định nghĩa hàm. Ở đây, thứ tự đặc biệt quan trọng vì các giá trị được truyền vào các hàm này được gán cho các tham số tương ứng dựa trên vị trí của chúng.

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

Trong các ví dụ này, chúng tôi thấy rằng khi các vị trí của các đối số được thay đổi, đầu ra sẽ tạo ra các kết quả khác nhau. Mặc dù mã trong ví dụ B không sai, nhưng các giá trị đã được chuyển vào hàm theo thứ tự sai; Do đó, tạo ra một kết quả không phù hợp với đầu ra mong muốn của chúng tôi. Edpresso là tên của dự án đang được nhóm làm việc, FEMCODE, không phải là cách khác.

Bây giờ sự hiểu biết đã rõ ràng, hãy để Lừa chuyển sang các đối số từ khóa.

Từ khóa đối số

Đối số từ khóa (hoặc đối số được đặt tên) là các giá trị, khi được chuyển vào một hàm, được xác định bằng tên tham số cụ thể. Một đối số từ khóa được đi trước bởi một tham số và toán tử gán,

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

3.

Đối số từ khóa có thể được ví như từ điển ở chỗ chúng ánh xạ một giá trị thành một từ khóa.

def team(name, project):

print(name, "is working on an", project)

team(project = "Edpresso", name = 'FemCode')

Như bạn có thể thấy, chúng tôi có cùng một đầu ra từ cả hai mã mặc dù, khi gọi hàm, các đối số trong mỗi mã có các vị trí khác nhau.

Với các đối số từ khóa, miễn là bạn gán một giá trị cho tham số, các vị trí của các đối số không quan trọng.

Tuy nhiên, họ phải đến sau các đối số vị trí và trước các đối số mặc định/tùy chọn trong một cuộc gọi chức năng.

Đối số mặc định là các đối số từ khóa có giá trị được gán tại thời điểm định nghĩa hàm. Các đối số tùy chọn là các đối số mặc định, dựa trên các giá trị được gán cho chúng (ví dụ: không có hoặc 0), có thể bị coi thường.

def team(name, project, members=None):

team.name= name

team.project= project

team.members= members

print(name, "is working on an", project)

team(name = "FemCode", "Edpresso")

Mã ‘sai ở trên đã tạo ra một lỗi cú pháp. Trong Python, một lỗi cú pháp về cơ bản là một lỗi đi ngược lại một quy tắc trong Python. Về mặt lỗi trên, Python đã không chấp thuận thứ tự mà các đối số được thông qua.

Xem xét ví dụ này:

def team(name, project):

print(number, name,"are working on an", project)

team("The two members of", "FemCode", "Edpresso")

Mã trên ném một kiểu mẫu thu hút sự chú ý của bạn đến số lượng đối số đầu vào được phép.

Có cách nào xung quanh điều này đến nỗi chúng ta có thể vượt qua nhiều đối số hơn là được phép không? Hãy cùng tìm hiểu!

Đã sửa lỗi đối số so với các đối số tùy ý

Cho đến thời điểm này, chúng tôi đã xử lý các đối số chức năng cố định. Điều này đơn giản có nghĩa là số lượng đối số mà trước đây chúng tôi đã chuyển vào các chức năng luôn bị giới hạn ở một số lượng cụ thể vì chúng tôi biết số lượng đối số cần thiết trước. Đôi khi, chúng tôi không biết số lượng đối số cần thiết trước; Do đó, chúng ta cần nhập nhiều đối số hơn được đề cập trước đây trong định nghĩa hàm. Làm thế nào để chúng ta đi về điều này?

Python cho phép chúng tôi thực hiện điều này thông qua các cú pháp đặc biệt nhất định được gọi chung là các đối số tùy ý (hoặc các đối số có độ dài thay đổi). Ở đây, không giống như với các đối số cố định, các tham số không được chỉ định bởi các tên riêng lẻ khác nhau, mà là một thuật ngữ chung để gói gọn hơn thuộc tính chung của loại đối số được chuyển vào hàm. Các cú pháp này là của các hình thức:

  • def team(name, project):

    print(name, "is working on an", project)

    team("FemCode", "Edpresso")

    4: Đối với các đối số không theo dõi/vị trí
  • def team(name, project):

    print(name, "is working on an", project)

    team("FemCode", "Edpresso")

    5: Đối với các đối số khóa.

Các nhãn này,

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

4 và

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

5, đại diện cho các vòng lặp sẽ được truy cập trong một cuộc gọi chức năng.

Một dấu hoa thị biểu thị các yếu tố của một tuple, trong khi dấu hoa thị có biểu thị các yếu tố của một từ điển.

def team(*members):

for member in members:

print(member)

team("Abena", "Marilyn")

Vui lòng chỉnh sửa mã nếu bạn muốn thêm nhiều đối số hơn. Bạn sẽ thấy rằng việc thực thi mã sẽ không gây ra lỗi thời gian chạy. Điều này là do không có giới hạn đối với số lượng đối số có thể được chuyển vào hàm.

LƯU Ý: Các từ,

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

8 và

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

9, được sử dụng trong trường hợp này chỉ đơn giản là người giữ chỗ để thể hiện rõ hơn một tên tập thể chung cho từng loại đối số tùy ý được nêu trong một định nghĩa chức năng. Điều này đã được thực hiện một cách có chủ đích để hướng dẫn bạn trong sự lựa chọn của bạn về số lượng dấu sao để sử dụng khi đề cập đến các tham số của bạn. Khi viết mã của bạn, bạn sẽ chỉ định một thuật ngữ chung sẽ nắm bắt tốt hơn thuộc tính được chia sẻ của tất cả các yếu tố trong ITEBELBER của bạn.
the words,

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

8 and

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

9, used in this case are simply placeholders to better demonstrate a general collective name for each type of arbitrary argument stated during a function definition. This was done purposely to guide you in your choice of the number of asterisks to use when mentioning your parameters. When writing your code, you would specify a general term that would better capture the shared attribute of all elements in your iterable.

Dưới đây là việc thực hiện sự kết hợp của

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

4 và

def team(name, project):

print(name, "is working on an", project)

team("FemCode", "Edpresso")

5

def team(*members, **features):

for member in members:

print(member)

for key,value in features.items():

print("{}: {}".format(key,value))

team("Abena", "Marilyn", Name = "FemCode", Project = "Edpresso", Number = "Two Members")

Trong cùng một vấn đề này, chúng ta có thể chuyển một danh sách và/hoặc từ điển thành các chức năng với các đối số tùy ý để cho phép Python lặp lại thông qua từng yếu tố của một số lượng mục không xác định trong đó có thể sử dụng được.

Hy vọng bạn thích bài học!

THẺ LIÊN QUAN

Python

tham số

tranh luận

cộng đồng

Bất kỳ

Việc sử dụng đối số từ khóa trong Python là gì?

Đối số từ khóa (hoặc đối số được đặt tên) là các giá trị, khi được chuyển vào một hàm, được xác định bằng tên tham số cụ thể. Một đối số từ khóa được đi trước bởi một tham số và toán tử gán, =. Đối số từ khóa có thể được ví như từ điển ở chỗ chúng ánh xạ một giá trị thành một từ khóa.values that, when passed into a function, are identifiable by specific parameter names. A keyword argument is preceded by a parameter and the assignment operator, = . Keyword arguments can be likened to dictionaries in that they map a value to a keyword.

Khi nào chúng ta nên sử dụng đối số từ khóa?

Bản tóm tắt.Sử dụng các đối số từ khóa Python để làm cho chức năng của bạn gọi dễ đọc và rõ ràng hơn, đặc biệt là đối với các chức năng chấp nhận nhiều đối số.Tất cả các đối số sau đối số từ khóa đầu tiên cũng phải là đối số từ khóa.to make your function call more readable and obvious, especially for functions that accept many arguments. All the arguments after the first keyword argument must also be keyword arguments too.

Mục đích của các đối số trong một chức năng là gì?

Định nghĩa đối số.Một đối số là một cách để bạn cung cấp thêm thông tin cho một chức năng.Hàm sau đó có thể sử dụng thông tin đó khi nó chạy, giống như một biến.Nói cách khác, khi bạn tạo một hàm, bạn có thể truyền dữ liệu dưới dạng đối số, còn được gọi là tham số.to provide more information to a function. The function can then use that information as it runs, like a variable. Said differently, when you create a function, you can pass in data in the form of an argument, also called a parameter.

Sự khác biệt giữa các đối số và đối số từ khóa trong Python là gì?

Các hàm Python có thể chứa hai loại đối số: đối số vị trí và đối số từ khóa.Các đối số vị trí phải được bao gồm trong đúng thứ tự.KEYWord Đối số được bao gồm bằng từ khóa và bằng dấu.Positional arguments must be included in the correct order. Keyword arguments are included with a keyword and equals sign.