Hướng dẫn how do you pass an argument into a dictionary in python? - làm cách nào để chuyển đối số vào từ điển trong python?

Mã của tôi

Tệp đầu tiên:

data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'}
my_function(*data)

Tệp thứ 2:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name

Trong mã trên, chỉ các khóa từ điển "dữ liệu" được chuyển sang

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
6, nhưng tôi muốn các cặp giá trị khóa được truyền. Làm thế nào để sửa chữa cái này?

Tôi muốn

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
6 được sửa đổi như thế này

my_function(school='DAV', standard='7', name='abc', city='delhi')

Và đây là yêu cầu của tôi, đưa ra câu trả lời theo điều này

Chỉnh sửa: Lớp khóa từ điển được thay đổi thành tiêu chuẩn

Các loại đối số khác nhau

Đối với bất kỳ chức năng nào trong Python, chúng ta có thể có hai loại đối số tùy ý:

  • Đối số vị trí: Đây là các đối số chức năng cần được đưa vào hàm theo thứ tự cụ thể khi chúng được xác định.: These are function arguments that need to be fed to the function in the specific order as they were defined.

  • Đối số từ khóa: Đây là các đối số chức năng đã được đặt tên/từ khóa trong quá trình định nghĩa hàm. Bạn cần xác định từ khóa cụ thể khi chuyển đối số từ khóa (kwarg) cho một hàm.: These are function arguments that have been given a name/keyword during the function definition. You need to identify the specific keyword when passing a keyword argument (kwarg) to a function.

Từ khóa đối số

Đối số từ khóa có thể được cung cấp theo bất kỳ thứ tự nào, nhưng cần được chỉ định với từ khóa của chúng theo cách sau:

Ví dụ cú pháp ở trên cho thấy cách bạn có thể truyền nhiều đối số từ khóa trong một hàm yêu cầu chúng. Bạn cần chỉ định tên của đối số từ khóa theo sau là

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
8 và sau đó bằng tham số bạn muốn truyền. Nếu hàm chấp nhận nhiều kwarg, thì bạn có thể chỉ định các tham số của mình theo bất kỳ thứ tự nào. Hàm tự động khớp với từ khóa với các biến chức năng chính xác.

Giải nén kwargs và từ điển

Các chức năng với kwarg thậm chí có thể lấy toàn bộ từ điển làm tham số; Tất nhiên, trong trường hợp đó, các khóa của từ điển phải giống như các từ khóa được xác định trong hàm.

Bạn không thể trực tiếp gửi từ điển dưới dạng tham số đến một hàm chấp nhận kwargs. Từ điển phải được giải nén để hàm có thể sử dụng các yếu tố của nó. Điều này được thực hiện bằng cách giải nén từ điển, bằng cách đặt

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9 trước tên từ điển khi bạn chuyển nó vào hàm.

Sau đây là một chương trình cho thấy cách bạn có thể sử dụng từ điển thay vì nhập từng kwarg.

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

Đôi khi, chúng ta cần có một số lượng kwarg khác trong một hàm; Trong những trường hợp như vậy, hàm gói tất cả các đối số trong một từ điển duy nhất.

Sau đây là định nghĩa của một hàm như vậy:

Các chức năng với các định nghĩa tương tự có thể có một số lượng kwarg tùy ý và có thể lấy một từ điển có độ dài tùy ý. Trong trường hợp này (khác với trước đó), các khóa từ điển không cần phải là bất cứ điều gì cụ thể. Điều này có thể được coi là tương tự như gửi một danh sách đến một chức năng.

Ví dụ sau đây giúp chúng tôi hiểu làm thế nào một chức năng như vậy sẽ giải nén và sử dụng từ điển:

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

Bản quyền © 2022 Giáo dục, Inc. Tất cả quyền được bảo lưu

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về các tham số Python

my_function(school='DAV', standard='7', name='abc', city='delhi')
0.: in this tutorial, you’ll learn about the Python
my_function(school='DAV', standard='7', name='abc', city='delhi')
0 parameters.

Giới thiệu về các tham số Python ** Kwargs

Trong Python, một hàm có thể có một tham số trước hai sao (**). Ví dụ:

my_function(school='DAV', standard='7', name='abc', city='delhi')
1

my_function(school='DAV', standard='7', name='abc', city='delhi')
0 được gọi là tham số từ khóa.

Khi một hàm có tham số

my_function(school='DAV', standard='7', name='abc', city='delhi')
0, nó có thể chấp nhận một số lượng biến số từ khóa là từ điển.

Hai ngôi sao (

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9) rất quan trọng. Tuy nhiên, tên
my_function(school='DAV', standard='7', name='abc', city='delhi')
5 là theo quy ước. Do đó, bạn có thể sử dụng bất kỳ tên có ý nghĩa nào khác như
my_function(school='DAV', standard='7', name='abc', city='delhi')
6 và
my_function(school='DAV', standard='7', name='abc', city='delhi')
7.

Ví dụ sau đây xác định một hàm được gọi là

my_function(school='DAV', standard='7', name='abc', city='delhi')
8 chấp nhận tham số
my_function(school='DAV', standard='7', name='abc', city='delhi')
0:

def connect(**kwargs): print(type(kwargs)) print(kwargs)

Code language: Python (python)

Cuộc gọi chức năng sau đây hiển thị một từ điển trống lên màn hình:

connect()

Code language: Python (python)

Output:

<class 'dict'> {}

Code language: Python (python)

Trong ví dụ này, chúng tôi đã không chuyển bất kỳ đối số nào cho hàm

my_function(school='DAV', standard='7', name='abc', city='delhi')
8,
my_function(school='DAV', standard='7', name='abc', city='delhi')
5 là từ điển trống.

Sau đây gọi hàm

my_function(school='DAV', standard='7', name='abc', city='delhi')
8 và truyền một số đối số từ khóa vào đó:

connect(server='localhost', port=3306, user='root', password='Py1hon!Xt')

Code language: Python (python)

Nó hiển thị từ điển sau đến màn hình:

<class 'dict'> {'server': 'localhost', 'port': 3306, 'user': 'root', 'password': 'Py1hon!Xt'}

Code language: Python (python)

Bên trong hàm

my_function(school='DAV', standard='7', name='abc', city='delhi')
8, bạn có thể sử dụng đối số
my_function(school='DAV', standard='7', name='abc', city='delhi')
5 làm từ điển.

Nếu bạn muốn chuyển một từ điển cho chức năng, bạn cần thêm hai sao (

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
9) vào đối số như thế này:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
0

Nếu một hàm có tham số

my_function(school='DAV', standard='7', name='abc', city='delhi')
0 và các tham số khác, bạn cần đặt
my_function(school='DAV', standard='7', name='abc', city='delhi')
0 sau các tham số khác. Nếu không, bạn sẽ gặp lỗi.

Cú pháp của hàm

my_function(school='DAV', standard='7', name='abc', city='delhi')
8 sau đây là chính xác:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
1

Tuy nhiên, cú pháp của hàm này gây ra cú pháp:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
2

Sử dụng cả đối số *args và ** kwargs

Hàm sau có cả hai tham số *arg và ** kwargs:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
3

Hàm

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

9 có thể chấp nhận một số lượng biến số của các đối số vị trí. Python sẽ đóng gói chúng như một tuple và gán tuple cho đối số

def myfunc(**kwargs):

print("I work with the follwoing people: ")

for people in kwargs:

print (kwargs[people])

mydict = {'person1': "Faraz", 'person2': "Rukhshan", 'person3': "Muzammil"}

myfunc(**mydict)

0.

Hàm

def myfunc(name, gender, age):

print (name," is a ", gender, " of age ", age)

mydict = {'name': "Faraz", 'gender': "male", 'age': "20"}

myfunc(**mydict)

9 cũng chấp nhận một số lượng các đối số từ khóa. Python sẽ đóng gói chúng như một từ điển và gán từ điển cho đối số
my_function(school='DAV', standard='7', name='abc', city='delhi')
5.

Ví dụ:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
4

Output:

my_function(*data):
    schoolname  = school
    cityname = city
    standard = standard
    studentname = name
5

Bản tóm tắt

  • Sử dụng tham số Python
    my_function(school='DAV', standard='7', name='abc', city='delhi')
    
    0 để cho phép hàm chấp nhận một số lượng biến số của các đối số từ khóa.
  • Bên trong hàm, đối số
    my_function(school='DAV', standard='7', name='abc', city='delhi')
    
    5 là một từ điển chứa tất cả các đối số từ khóa là các cặp giá trị tên của nó.
  • Trước các ngôi sao kép (
    my_function(*data):
        schoolname  = school
        cityname = city
        standard = standard
        studentname = name
    
    9) đến một đối số từ điển để chuyển nó sang tham số
    my_function(school='DAV', standard='7', name='abc', city='delhi')
    
    0.
  • Luôn đặt tham số
    my_function(school='DAV', standard='7', name='abc', city='delhi')
    
    0 ở cuối danh sách tham số hoặc bạn sẽ gặp lỗi.

Bạn có thấy hướng dẫn này hữu ích không?

Làm thế nào để bạn nhập một giá trị vào một từ điển?

Để thêm đầu vào người dùng vào từ điển trong Python: khai báo một biến lưu trữ một từ điển trống.Sử dụng một phạm vi để lặp n lần.Trên mỗi lần lặp, nhắc người dùng cho đầu vào.Thêm cặp giá trị khóa vào từ điển.Declare a variable that stores an empty dictionary. Use a range to iterate N times. On each iteration, prompt the user for input. Add the key-value pair to the dictionary.

Bạn có thể vượt qua chức năng với các đối số trong Python không?

Một hàm có thể lấy nhiều đối số, các đối số này có thể là đối tượng, biến (có cùng loại dữ liệu hoặc khác nhau) và các hàm., these arguments can be objects, variables(of same or different data types) and functions.

Làm cách nào để thêm một mục vào từ điển trong Python?

Không có phương thức ADD (), append () hoặc chèn () bạn có thể sử dụng để thêm một mục vào từ điển trong Python.Thay vào đó, bạn thêm một mục vào từ điển bằng cách chèn khóa chỉ mục mới vào từ điển, sau đó gán cho nó một giá trị cụ thể.inserting a new index key into the dictionary, then assigning it a particular value.