Hướng dẫn does python support keyword argument in function? - python có hỗ trợ đối số từ khóa trong hàm không?

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ỳ

Python có hỗ trợ các đối số từ khóa không?

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.. When we call functions in this way, the order (position) of the arguments can be changed.

Đối số từ khóa trong hàm 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. MỘT.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. A.

Một đối số có thể là một chức năng trong Python?

Bởi vì các chức năng là các đối tượng, chúng ta có thể truyền chúng như các đối số cho các chức năng khác. Các chức năng có thể chấp nhận các chức năng khác vì các đối số còn được gọi là các hàm bậc cao hơn. Trong ví dụ dưới đây, một lời chào hàm được tạo có chức năng như một đối số.. Functions that can accept other functions as arguments are also called higher-order functions. In the example below, a function greet is created which takes a function as an argument.

4 loại đối số trong Python là gì?

Trong Python, chúng ta có 4 loại đối số chức năng sau ...
Đối số mặc định ..
Đối số từ khóa (đối số được đặt tên).
Đối số vị trí ..
Các đối số tùy ý (đối số có độ dài thay đổi *args và ** kwargs).

Là từ khóa đối số python tùy chọn?

Bạn có thể gán một đối số tùy chọn bằng toán tử gán theo định nghĩa hàm hoặc sử dụng câu lệnh Python ** Kwargs.Có hai loại đối số Một hàm Python có thể chấp nhận: vị trí và tùy chọn.Đối số tùy chọn là các giá trị không cần được chỉ định cho một hàm được gọi.Optional arguments are values that do not need to be specified for a function to be called.

3 loại đối số trong Python là gì?

Do đó, chúng tôi kết luận rằng các đối số chức năng Python và ba loại đối số của nó cho các chức năng.Đây là những đối số mặc định, từ khóa và tùy ý.default, keyword, and arbitrary arguments.