在Python中,特殊函数是指以双下划线"__"开头和结尾的函数
▥Python
𝄐 0
python特殊方法大全,python特殊运算符,python特殊代码,python特殊字符串,python特殊符号有哪些,python中的特殊符号
在Python中,特殊函数是指以双下划线"__"开头和结尾的函数。这些函数通常被称为魔法方法或魔术方法,因为它们可以在实例化、操作符重载、属性访问等方面提供特殊功能。
以下是一些常见的Python特殊函数及其用途:
1. __init__(self, ...):类的构造函数,用于初始化对象的属性。
python
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass('foo')
print(obj.name) # 'foo'
2. __str__(self):返回一个表示对象的字符串,可用于自定义对象的打印方式。
python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f'{self.name} is {self.age} years old'
p = Person('John', 30)
print(p) # John is 30 years old
3. __eq__(self, other):比较两个对象是否相等。
python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
return self.x == other.x and self.y == other.y
p1 = Point(0, 0)
p2 = Point(0, 0)
print(p1 == p2) # True
4. __add__(self, other):重载加号运算符。
python
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2
print(f'({v3.x}, {v3.y})') # (4, 6)
5. __len__(self):返回对象的长度。
python
class MyList:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
lst = MyList([1, 2, 3])
print(len(lst)) # 3
在Python中,特殊函数是指以双下划线"__"开头和结尾的函数。这些函数通常被称为魔法方法或魔术方法,因为它们可以在实例化、操作符重载、属性访问等方面提供特殊功能。
以下是一些常见的Python特殊函数及其用途:
1. __init__(self, ...):类的构造函数,用于初始化对象的属性。
python
class MyClass:
def __init__(self, name):
self.name = name
obj = MyClass('foo')
print(obj.name) # 'foo'
2. __str__(self):返回一个表示对象的字符串,可用于自定义对象的打印方式。
python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f'{self.name} is {self.age} years old'
p = Person('John', 30)
print(p) # John is 30 years old
3. __eq__(self, other):比较两个对象是否相等。
python
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def __eq__(self, other):
return self.x == other.x and self.y == other.y
p1 = Point(0, 0)
p2 = Point(0, 0)
print(p1 == p2) # True
4. __add__(self, other):重载加号运算符。
python
class Vector:
def __init__(self, x, y):
self.x = x
self.y = y
def __add__(self, other):
return Vector(self.x + other.x, self.y + other.y)
v1 = Vector(1, 2)
v2 = Vector(3, 4)
v3 = v1 + v2
print(f'({v3.x}, {v3.y})') # (4, 6)
5. __len__(self):返回对象的长度。
python
class MyList:
def __init__(self, data):
self.data = data
def __len__(self):
return len(self.data)
lst = MyList([1, 2, 3])
print(len(lst)) # 3
本文地址:
/show-275622.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。