Python特殊方法名称是以双下划线(__)开头和结尾的方法,用于定义类的行为
▥Python
𝄐 0
python中的特殊方法,python方法名命名规范,python特殊方法的意义,python特殊代码,python的特殊符号,python中特殊含义符号
Python特殊方法名称是以双下划线(__)开头和结尾的方法,用于定义类的行为。这些方法被称为魔法方法(magic methods),也称为Dunder方法(因为“dunder”是“double underscore”缩写)。它们允许我们自定义Python内置类型的行为,并使自己定义的类与Python标准库的其他部分更加兼容。
以下是一些常用的Python特殊方法及其说明:
1. __init__(self, ...):构造函数,用于初始化一个新对象。
python
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass("Alice")
print(obj.name) # 输出 "Alice"
2. __str__(self):字符串表示形式,用于打印对象时所显示的字符串。
python
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"
3. __len__(self):长度,用于返回对象的长度(通常是集合或序列类型的对象)。
python
class MyList:
def __init__(self, items):
self.items = items
def __len__(self):
return len(self.items)
lst = MyList([1, 2, 3])
print(len(lst)) # 输出 3
4. __getitem__(self, key):索引,用于通过索引获取对象中的元素。
python
class MyList:
def __init__(self, items):
self.items = items
def __getitem__(self, index):
return self.items[index]
lst = MyList([1, 2, 3])
print(lst[0]) # 输出 1
5. __setitem__(self, key, value):项赋值,用于通过索引设置对象中的元素。
python
class MyList:
def __init__(self, items):
self.items = items
def __setitem__(self, index, value):
self.items[index] = value
lst = MyList([1, 2, 3])
lst[0] = 4
print(lst.items) # 输出 [4, 2, 3]
6. __call__(self, ...):调用,使对象可以像函数一样被调用。
python
class MyFunc:
def __call__(self, x):
return x * 2
func = MyFunc()
print(func(3)) # 输出 6
Python特殊方法名称是以双下划线(__)开头和结尾的方法,用于定义类的行为。这些方法被称为魔法方法(magic methods),也称为Dunder方法(因为“dunder”是“double underscore”缩写)。它们允许我们自定义Python内置类型的行为,并使自己定义的类与Python标准库的其他部分更加兼容。
以下是一些常用的Python特殊方法及其说明:
1. __init__(self, ...):构造函数,用于初始化一个新对象。
python
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass("Alice")
print(obj.name) # 输出 "Alice"
2. __str__(self):字符串表示形式,用于打印对象时所显示的字符串。
python
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"
3. __len__(self):长度,用于返回对象的长度(通常是集合或序列类型的对象)。
python
class MyList:
def __init__(self, items):
self.items = items
def __len__(self):
return len(self.items)
lst = MyList([1, 2, 3])
print(len(lst)) # 输出 3
4. __getitem__(self, key):索引,用于通过索引获取对象中的元素。
python
class MyList:
def __init__(self, items):
self.items = items
def __getitem__(self, index):
return self.items[index]
lst = MyList([1, 2, 3])
print(lst[0]) # 输出 1
5. __setitem__(self, key, value):项赋值,用于通过索引设置对象中的元素。
python
class MyList:
def __init__(self, items):
self.items = items
def __setitem__(self, index, value):
self.items[index] = value
lst = MyList([1, 2, 3])
lst[0] = 4
print(lst.items) # 输出 [4, 2, 3]
6. __call__(self, ...):调用,使对象可以像函数一样被调用。
python
class MyFunc:
def __call__(self, x):
return x * 2
func = MyFunc()
print(func(3)) # 输出 6
本文地址:
/show-273931.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。