python 双下划线开头的函数
Python是一种高级编程语言,它具有简单易学、可读性强、可扩展性强等特点,因此在各个领域都有广泛的应用。在Python中,双下划线开头的函数是一种特殊的函数,也称为魔术方法或特殊方法,它们用于实现Python中的一些特殊功能。
Python中的双下划线开头的函数有很多种,下面我们来介绍一些常用的双下划线开头的函数。
1. __init__函数
__init__函数是Python中最常用的双下划线开头的函数之一,它用于初始化对象。当我们创建一个类的实例时,__init__函数会被自动调用,用于初始化实例的属性。
例如,我们定义一个Person类,其中包含name和age两个属性,那么我们可以在__init__函数中初始化这两个属性:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
```
在上面的代码中,self代表类的实例,name和age是传入的参数。当我们创建一个Person实例时,可以这样调用:
```
p = Person('Tom', 18)
```
这样就创建了一个名为Tom,年龄为18的Person实例。
2. __str__函数
__str__函数用于将对象转换为字符串。当我们使用print函数打印一个对象时,实际上是调用了该对象的__str__函数。
例如,我们定义一个Person类,其中包含name和age两个属性,那么我们可以在__str__函数中将这两个属性转换为字符串:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return 'name: {}, age: {}'.format(self.name, self.age)
```
在上面的代码中,我们定义了一个__str__函数,它返回一个字符串,包含了Person实例的name和age属性。当我们使用print函数打印一个Person实例时,就会调用该实例的__str__函数:
```
p = Person('Tom', 18)
字符串函数strip的作用print(p)
```
这样就会输出name: Tom, age: 18。
3. __len__函数
__len__函数用于获取对象的长度。当我们使用len函数获取一个对象的长度时,实际上是调用了该对象的__len__函数。
例如,我们定义一个List类,其中包含一个列表属性,那么我们可以在__len__函数中返回该列表的长度:
```
class List:
def __init__(self, lst):
self.lst = lst
def __len__(self):
return len(self.lst)
```
在上面的代码中,我们定义了一个List类,其中包含一个lst属性,它是一个列表。我们在__len__函数中返回该列表的长度。当我们使用len函数获取一个List实例的长度时,就会调用该实例的__len__函数:
```
l = List([1, 2, 3])
print(len(l))
```
这样就会输出3。
4. __getitem__函数
__getitem__函数用于获取对象的某个元素。当我们使用[]操作符获取一个对象的某个元素时,实际上是调用了该对象的__getitem__函数。
例如,我们定义一个List类,其中包含一个列表属性,那么我们可以在__getitem__函数中获取该列表的某个元素:
```
class List:
def __init__(self, lst):
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论