📜  Python对象()方法(1)

📅  最后修改于: 2023-12-03 15:34:29.012000             🧑  作者: Mango

Python对象()方法

在Python中,所有的数据都可以被视为对象,而这些对象是通过使用类来创建的。Python对象具有各种各样的方法来操作和管理数据。

创建Python对象

创建Python对象的最简单方法是使用类的构造函数。例如,如果想要创建一个整数对象,可以将整数值传递给 int() 构造函数:

a = int(10)

同样地,如果要创建一个字符串,可以将字符串值传递给 str() 构造函数:

b = str("Hello, world!")
Python对象方法

Python对象有几个内置的方法,可以用于操作和管理它们。以下是一些常见的Python对象方法:

1. __str__()

__str__() 方法是一个特殊的方法,被称为“魔术方法”,用于定义对象的字符串表示形式。如果尝试打印对象,Python将调用 __str__() 方法并返回该方法返回的值。例如:

class MyClass:
  def __init__(self, name):
    self.name = name

  def __str__(self):
    return f"My name is {self.name}"

obj = MyClass("Alice")
print(obj) # 输出: My name is Alice
2. __add__()

__add__() 方法是用于对象添加的特殊方法。当使用加号 + 对两个对象进行操作时,Python将调用 __add__() 方法,并返回该方法返回的值。

class MyClass:
  def __init__(self, val):
    self.val = val

  def __add__(self, other):
    return self.val + other.val

obj1 = MyClass(10)
obj2 = MyClass(20)
print(obj1 + obj2) # 输出: 30
3. __len__()

__len__() 方法返回对象的长度。例如,对于一个列表,它返回列表中元素的数量。

class MyClass:
  def __init__(self, items):
    self.items = items

  def __len__(self):
    return len(self.items)

obj = MyClass([1, 2, 3, 4])
print(len(obj)) # 输出: 4 
4. __getitem__()

__getitem__() 方法用于获取对象中的项。它接受一个参数,该参数表示要获取的项的索引。例如,对于一个列表,可以使用索引值来获取列表中的元素。

class MyClass:
  def __init__(self, items):
    self.items = items

  def __getitem__(self, index):
    return self.items[index]

obj = MyClass([1, 2, 3, 4])
print(obj[2]) # 输出: 3
5. __setitem__()

__setitem__() 方法用于设置对象中的项。它接受两个参数:一个表示要设置的项的索引,另一个表示要设置的值。

class MyClass:
  def __init__(self, items):
    self.items = items

  def __setitem__(self, index, value):
    self.items[index] = value

obj = MyClass([1, 2, 3, 4])
obj[2] = 5
print(obj.items) # 输出: [1, 2, 5, 4]
6. __delitem__()

__delitem__() 方法用于从对象中删除项。它接受一个参数,该参数表示要删除的项的索引。

class MyClass:
  def __init__(self, items):
    self.items = items

  def __delitem__(self, index):
    del self.items[index]

obj = MyClass([1, 2, 3, 4])
del obj[2]
print(obj.items) # 输出: [1, 2, 4]
结论

Python对象有多个内置的方法,可以用于操作和管理它们。了解这些方法可以让您更加有效地编写Python代码,使用这些方法可以更轻松地完成常见的编程任务。