Trong hướng dẫn này, chúng tôi sẽ tìm hiểu về hàm python setattr [] với sự trợ giúp của các ví dụ.
Hàm setattr[]
đặt giá trị của thuộc tính của một đối tượng.
Thí dụ
class Student:
marks = 88
name = 'Sheeran'
person = Student[]
# set value of name to Adam
setattr[person, 'name', 'Adam']
print[person.name]
# set value of marks to 78
setattr[person, 'marks', 78]
print[person.marks]
# Output: Adam
# 78
Setattr [] Cú pháp
Cú pháp của hàm setattr[]
là:
setattr[object, name, value]
Nếu bạn muốn nhận thuộc tính của một đối tượng, hãy sử dụng getAttr [].
tham số setattr []
Hàm setattr[]
mất ba tham số:
- đối tượng - đối tượng có thuộc tính phải được đặt - object whose attribute has to be set
- Tên - Tên thuộc tính - attribute name
- Giá trị - Giá trị được đưa ra cho thuộc tính - value given to the attribute
setAttr [] giá trị trả về
Phương thức setattr[]
trả về
setattr[object, name, value]3.
Ví dụ 1: SetAttr [] hoạt động như thế nào trong Python?
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
Đầu ra
Before modification: Adam After modification: John
Ví dụ 2: Khi thuộc tính không được tìm thấy trong setAttr []
Nếu không tìm thấy thuộc tính, setattr[]
sẽ tạo một thuộc tính mới, một giá trị gán cho nó. Tuy nhiên, điều này chỉ có thể nếu đối tượng thực hiện phương thức
setattr[object, name, value]5.
Bạn có thể kiểm tra tất cả các thuộc tính của một đối tượng bằng cách sử dụng hàm Dir [].
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
Đầu ra
Name is: John Age is: 23
Truy cập các thuộc tính và phương thức của một lớp trong một lớp khác được thực hiện bằng cách chuyển đối tượng của một lớp sang một lớp khác. Giải thích bằng ví dụ được đưa ra dưới đây:
setattr[object, name, value]
6 setattr[object, name, value]
04
# setting name to 'John'
setattr[p, 'name', 'John'] # setting name to 'John'
setattr[p, 'name', 'John']setattr[object, name, value]
8
7 class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
setattr[object, name, value]
07
9class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
Before modification: Adam
After modification: John
0
Before modification: Adam After modification: John1
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]122
setattr[object, name, value]14
Before modification: Adam After modification: John1
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]17__
setattr[]
2Truy cập các thuộc tính và phương thức của một lớp trong một lớp khác được thực hiện bằng cách chuyển đối tượng của một lớp sang một lớp khác. Giải thích bằng ví dụ được đưa ra dưới đây:
setattr[object, name, value]
6 setattr[object, name, value]
04
# setting name to 'John'
setattr[p, 'name', 'John'] # setting name to 'John'
setattr[p, 'name', 'John']setattr[object, name, value]
8
7 class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
setattr[object, name, value]
07
9class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
Before modification: Adam
After modification: John
0
Before modification: Adam After modification: John1
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]122
setattr[object, name, value]14
Attributes of a class can also be accessed using the following built-in methods and functions :
Before modification: Adam After modification: John
1
9class Person: name = 'Adam' p = Person[] print['Before modification:', p.name]
# setting name to 'John' setattr[p, 'name', 'John']
print['After modification:', p.name]setattr[object, name, value]
17__setattr[]
2 This function is used to access the attribute of object.setattr[object, name, value]
8
7class Person: name = 'Adam' p = Person[] print['Before modification:', p.name]
# setting name to 'John' setattr[p, 'name', 'John']
print['After modification:', p.name]setattr[object, name, value]
222
9class Person: name = 'Adam' p = Person[] print['Before modification:', p.name]
# setting name to 'John' setattr[p, 'name', 'John']
print['After modification:', p.name]Before modification: Adam After modification: John
0 This function is used to check if an attribute exist or not.- Các This function is used to set an attribute. If the attribute does not exist, then it would be created.
- delattr [] - Hàm này được sử dụng để xóa một thuộc tính. Nếu bạn đang truy cập thuộc tính sau khi xóa, nó sẽ tăng lỗi, lớp không có thuộc tính nào. This function is used to delete an attribute. If you are accessing the attribute after deleting it raises error “class has no attribute”.
Các phương pháp sau được giải thích với ví dụ được đưa ra dưới đây:
setattr[object, name, value]6
setattr[object, name, value]7
setattr[object, name, value]8
setattr[object, name, value]9
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
1setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
3class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
5setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
8class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9Before modification: Adam After modification: John0
Before modification: Adam After modification: John1
Before modification: Adam After modification: John2
Before modification: Adam After modification: John3
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9Before modification: Adam After modification: John5
Before modification: Adam After modification: John1
Before modification: Adam After modification: John2
Before modification: Adam After modification: John3
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
0class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
1class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0 class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
3Before modification: Adam After modification: John2
Before modification: Adam After modification: John3
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
6class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
7class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
8class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
9Before modification: Adam After modification: John2
Before modification: Adam After modification: John3
Name is: John Age is: 232
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
7class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
8class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
9Name is: John Age is: 236
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
7Name is: John Age is: 238
Name is: John Age is: 239
Harsh True 1520
Harsh True 1521
Before modification: Adam After modification: John2
Before modification: Adam After modification: John3
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
6class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
7Name is: John Age is: 238
class Person:
name = 'Adam'
p = Person[]
# setting attribute name to John
setattr[p, 'name', 'John']
print['Name is:', p.name]
# setting an attribute not present in Person
setattr[p, 'age', 23]
print['Age is:', p.age]
9Harsh True 1528
Harsh True 1529
4 9 90
Harsh True 1521
Đầu ra:
Harsh True 152
Phương pháp tĩnh: Phương pháp tĩnh là một phương thức [hàm thành viên] không sử dụng đối số tự. Để khai báo một phương thức tĩnh, hãy tiến hành câu lệnh của câu lệnh @staticmethod.A static method is a method[member function] that don’t use argument self at all. To declare a static method, proceed it with the statement “@staticmethod”.
setattr[object, name, value]6
4 9 93
setattr[object, name, value]8
4 9 95
setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 4 9 98
Before modification: Adam After modification: John1
3 3 20
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0 3 3 22
3 3 23
3 3 24
3 3 25
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
03 3 27
3 3 28
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0 3 3 27
setattr[]
1setattr[]
2
Harsh True 1521
Before modification: Adam After modification: John2
setattr[]
5setattr[]
6setattr[]
7
Harsh True 1521
Before modification: Adam After modification: John2
setattr[object, name, value]00
Before modification: Adam After modification: John2
setattr[]
5Đầu ra:
4 9 9
Phương pháp tĩnh: Phương pháp tĩnh là một phương thức [hàm thành viên] không sử dụng đối số tự. Để khai báo một phương thức tĩnh, hãy tiến hành câu lệnh của câu lệnh @staticmethod.
setattr[object, name, value]6
4 9 93
Explained with the example given below :
setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 4 9 98
Before modification: Adam After modification: John1
3 3 20
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0 3 3 22
3 3 23
3 3 24
3 3 28
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
0 3 3 27
Before modification: Adam After modification: John2
setattr[]
5Before modification: Adam After modification: John2
setattr[object, name, value]00
Truy cập các thuộc tính và phương thức của một lớp trong một lớp khác
Truy cập các thuộc tính và phương thức của một lớp trong một lớp khác được thực hiện bằng cách chuyển đối tượng của một lớp sang một lớp khác. Giải thích bằng ví dụ được đưa ra dưới đây:
setattr[object, name, value]6
setattr[object, name, value]04
setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 setattr[object, name, value]07
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9Before modification: Adam After modification: John0
Before modification: Adam After modification: John1
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]122
setattr[object, name, value]14
Before modification: Adam After modification: John1
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]17__
setattr[]
2setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 setattr[object, name, value]222
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9Before modification: Adam After modification: John0
Các
Before modification: Adam After modification: John1
setattr[object, name, value]35
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]37
setattr[object, name, value]6
setattr[object, name, value]39
Before modification: Adam After modification: John2
setattr[object, name, value]67
setattr[object, name, value]8
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
7 setattr[object, name, value]07
class Person:
name = 'Adam'
p = Person[]
print['Before modification:', p.name]
# setting name to 'John'
setattr[p, 'name', 'John']
print['After modification:', p.name]
9setattr[object, name, value]44
Đầu ra:
3 3 2