Python作為一門面向對象編程的語言,自然少不了類的概念。而在Python的類中,還內置了一些常見的方法,如__init__(),__str__()等。接下來,本文將為大家介紹Python類自帶的常見方法。
1. __init__()
class Person: def __init__(self, name, age): self.name = name self.age = age p = Person("張三",18)
__init__()是Python類的構造函數,它的作用是在對象被創建時初始化對象的屬性。在上面的例子中,我們創建了一個Person類,在實例化對象時傳入了兩個參數name和age,然后通過self.name和self.age來初始化對象的屬性。
2. __str__()
class Person: def __init__(self, name, age): self.name = name self.age = age def __str__(self): return f"name:{self.name},age:{self.age}" p = Person("張三",18) print(p)
__str__()方法是Python中用來處理對象的字符串表示的方法。我們可以在自己的類中提供__str__()方法,從而讓Python在需要使用我們的對象的字符串表示時調用該方法。例如上面的例子中,我們在Person類中提供了__str__()方法來自定義對象的字符串表示。
3. __iter__()和__next__()
class MyRange: def __init__(self, start, end): self.current = start self.end = end def __iter__(self): return self def __next__(self): if self.current< self.end: result = self.current self.current += 1 return result else: raise StopIteration range_obj = MyRange(1, 5) for i in range_obj: print(i)
__iter__()方法和__next__()方法是Python中定義迭代器的兩個方法。我們可以在自己的類中提供這兩個方法,從而讓Python能夠像使用其他迭代器一樣使用我們自定義的迭代器。例如上面的例子中,我們實現了一個MyRange類,使其可以像Python內置的range()函數一樣來產生整數序列。
總結:
Python類自帶的方法是Python編程中常用的一種編程模式,可以讓我們更方便地編寫類的模板代碼。本文介紹了Python類自帶的__init__(),__str__(),__iter__()和__next__()方法等。希望大家可以在實際編程中靈活運用這些方法。