* arg trong Python là gì?

Phương pháp lập trình chức năng giúp chúng ta dễ dàng lập trình DRY [không lặp lại chính mình]. Đó là lập trình khai báo trong đó các chương trình được tạo bằng các hàm tuần tự thay vì viết tất cả các câu lệnh. Chúng tôi có thể tái sử dụng chúng theo nhu cầu của chúng tôi. Hàm chúng ta tạo nhận một số đầu vào và trả về một số đầu ra hoặc thực hiện một số thao tác. Bây giờ, đầu vào có thể là đối số hoặc chỉ thị từ I/O. Hôm nay trong bài viết này, chúng ta sẽ thảo luận về một phương pháp cung cấp đầu vào cho chức năng như vậy, tôi. e. , Đối số từ khóa trong python. Vì vậy, chúng ta hãy đi

nội dung

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

Trong khi xác định một chức năng, chúng tôi thiết lập một số tham số bên trong nó. Chúng tôi chấp nhận dữ liệu trong các tham số này từ các lệnh gọi hàm. Bây giờ, python cung cấp tính năng chấp nhận các tham số theo nhiều cách, e. g. , đối số vị trí hoặc đối số từ khóa. Đối số từ khóa được sử dụng khi chúng ta sử dụng để gán giá trị cho tham số chức năng dưới dạng cặp khóa-giá trị. Nói một cách đơn giản, chúng tôi sử dụng các đối số từ khóa để gán giá trị cho một biến cụ thể

Tại sao chúng ta cần Đối số từ khóa?

Trong khi truyền đối số cho hàm, đôi khi chúng ta biết số lượng tham số; . Cả hai kịch bản được gọi là số lượng đối số cố định hoặc số lượng đối số tùy ý tương ứng. Đối số từ khóa cung cấp cho chúng tôi khả năng xử lý số lượng đối số tùy ý dưới dạng cặp khóa-giá trị. Các đối số từ khóa bắt đầu bằng ký hiệu “**” theo sau là tên biến. Hãy xem một số ví dụ để hiểu rõ hơn về chúng

ví dụ 1. Truyền đối số cho tham số Keyword

# Example on arguments and keyword arguments

def func[a,*args,**kwargs]:
  print[a]

  # Using arbitrary number of arguments as positional argument
  for arg in args:
    print[arg]
    
  # Using arbitrary number of arguments as keyword argument
  for key,value in kwargs.items[]:
    print['{} = {}'.format[key,value]]

func['Hii','I','am',name ='Python Pool', From ='Latracal Solution']

đầu ra

Hii
I
am
name = Python Pool
From = Latracal Solution

Giải trình

Vì vậy, trong ví dụ trên, chúng tôi đã tạo một hàm và sau đó sử dụng ba loại tham số để chấp nhận đối số. Đầu tiên là một tham số đã biết, thứ hai là chấp nhận một số đối số tùy ý và cuối cùng là chấp nhận số lượng đối số từ khóa. Sau đó, chúng ta sử dụng vòng lặp for để truy cập các phần tử trong biến args và kwargs

Phổ biến bây giờ

Hướng dẫn cơ bản về Python __all__

ví dụ 2. Truyền từ khóa dưới dạng Đối số

def func[arg1,arg2,arg3,arg4]:
  print[arg1]
  print[arg2]
  print[arg3]
  print[arg4]

a = ["This","is",'positional','argument']

b = {"arg1":'This','arg2':'is','arg3':'keyword','arg4':'argument'}

# Passing positional argument to the function
func[*a]
print["---------"]

# Passing keyword argument to the function
func[**b]

đầu ra

This
is
positional
argument
---------
This
is
keyword
argument

Giải trình

Chúng tôi đã tạo một bộ và một từ điển để chuyển chúng làm đối số trong ví dụ trên. Điều này chứng tỏ rằng cũng dễ dàng chuyển nhiều giá trị để hoạt động dưới dạng đối số. Chúng ta cần tạo các biến và sử dụng “*” và “**” để chỉ định các loại đối số.

ví dụ 3. Đối số từ khóa dưới dạng từ điển Python

Vậy, bạn đã bao giờ nghĩ về cách các đối số từ khóa này hoạt động chưa? . Tất cả điều này xảy ra bởi vì các đối số chúng tôi chuyển được chuyển dưới dạng từ điển. Nó giúp ánh xạ mượt mà tới mọi khóa cho các giá trị tương ứng mà không làm mất thực thể của nó. Hãy xem ví dụ. map to their values when passing as the arguments. All this happens because the arguments we pass are passed in the form of a dictionary. It helps smooth mapping to every key for corresponding values without losing its entity. Let’s see the example.

def kwargs_to_dict[**kwargs]:
  print[type[kwargs]]
  print[kwargs]
kwargs_to_dict[name ='Python Pool', From ='Latracal Solution']

đầu ra

{'name': 'Python Pool', 'From': 'Latracal Solution'}

Giải trình

Như vậy, trong ví dụ trên, chúng ta đã thấy kiểu dữ liệu của biến kwargs là gì và sau đó in ra để lấy nội dung của nó

Phổ biến bây giờ

Mọi thứ về Python SortedDict

Ví dụ 4. Đối số từ khóa sử dụng chức năng Lambda

Bên cạnh tất cả các tính năng của hàm lambda, nó còn tương thích với nhiều tham số trong khi làm việc. Bây giờ, các tham số này ở dạng đối số hoặc đối số từ khóa. Hãy xem ví dụ và tìm hiểu cách chúng ta có thể xử lý điều đó

x = [lambda **kwargs : sum[kwargs.values[]]/len[kwargs]]
x[one = 1, two = 2, three = 3]

đầu ra

2.0

Giải trình

Vì vậy, trong ví dụ trên, chúng ta có thể thấy rằng chúng ta đã tạo một hàm lambda x. Và chúng tôi đã sử dụng ba đối số từ khóa để gọi hàm và sau đó cố gắng tìm giá trị trung bình của nó. Để truy cập từng giá trị từ từ điển, chúng tôi đã sử dụng hàm values[] rồi tính giá trị trung bình của nó

Ví dụ 5. Đối số từ khóa Python Argparse

________số 8

Giải trình

Trong ví dụ trên, trước tiên chúng ta tạo một lớp kế thừa từ lớp agrparse nơi chúng ta viết một loại mã tương tự như được giải thích trong ví dụ 2 để thêm các phần tử vào từ điển. Sau đó, chúng tôi đã khởi tạo một đối tượng cho argparse. Argparse để giữ các giá trị của đối số từ CLI. Sau đó, chúng tôi đã thêm phần tử đó vào biến trình phân tích cú pháp, phân tích cú pháp các đối số và đưa nó vào biến args. Và sau đó in các giá trị của từ điển.

xu hướng

[Đã sửa] ModuleNotFoundError. Không có mô-đun nào có tên Pycocotools

Câu hỏi thường gặp về Đối số từ khóa trong Python

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

Đối số hoặc đối số Vị trí phải được chuyển không chính xác, trong khi đối số từ khóa phải được chuyển với từ khóa tương ứng với một số giá trị

Q2] Các đối số từ khóa có thể theo bất kỳ thứ tự nào không?

Có, nó được chuyển dưới dạng từ điển, vì vậy các đối số có sẵn dưới dạng các cặp khóa-giá trị. Do đó, thứ tự của nó không thành vấn đề

Câu 3] Từ khóa so với. đối số vị trí python?

Các đối số từ khóa được truyền dưới dạng đối số để thuận tiện cho việc nhận các giá trị tương ứng với một số khóa. Để so sánh, các đối số vị trí được thông qua dựa trên vị trí của chúng

Phần kết luận

Vì vậy, hôm nay trong bài viết này, chúng ta đã học đối số từ khóa trong python và cách chúng ta có thể sử dụng chúng để truyền đối số cho một hàm và chấp nhận chúng làm đối số. Tôi hy vọng bài viết này đã giúp bạn. Cảm ơn

* args có trả lại danh sách không?

Lưu câu hỏi này. Hiển thị hoạt động trên bài đăng này

Lợi thế của việc sử dụng * args là gì?

Python có *args cho phép chúng tôi chuyển số lượng đối số không phải từ khóa có thể thay đổi cho hàm . Trong hàm, chúng ta nên sử dụng dấu * trước tên tham số để truyền các đối số có độ dài thay đổi.

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

Trong Python, có 3 loại đối số khác nhau mà chúng ta có thể đưa ra cho một hàm. .
đối số vị trí. các đối số có thể được gọi theo vị trí của chúng trong định nghĩa hàm
Đối số từ khóa. đối số có thể được gọi bằng tên của họ
đối số mặc định. đối số được đưa ra giá trị mặc định

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

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

Chủ Đề