其他分享
首页 > 其他分享> > 有关 Python 类方法的更多信息

有关 Python 类方法的更多信息

作者:互联网

在 Python 中,类是创建对象的模板。它定义了该类的对象将具有的属性和行为。方法是在类内部定义的函数,用于对该类对象的属性执行操作。

以下是可以在类中定义的不同方法的一些示例:

  1. __init__方法:这是 Python 中的一个特殊方法,在创建类的对象时调用。它用于初始化对象的属性。例如:
class  Person : 
  def  __init__ ( self, name, age ): 
    self.name = name 
    self.age = age 
    
# 定义一个人
person1 = Person( "John" , 30 ) 
# 输出:"John" 
print (person1.name)   
#输出:30
打印(person1.age)   

2.method __str__:该方法用于定义一个对象的字符串表示。当打印对象或将其转换为字符串时调用它。例如:

 Person : 
  def  __init__ ( self, name, age ): 
    self.name = name 
    self.age = age 
    
  def  __str__ ( self ): 
    return  f" {self.name}{self.age}岁。" 
    
person1 = Person( "John" , 30 ) 

# 输出:“John 30 岁。” 
打印(人 1)  

3. 实例方法:这些是对特定对象的属性进行操作的方法。可以在类的对象上调用它们。例如:

 Person : 
  def  __init__ ( self, name, age ): 
    self.name = name 
    self.age = age 
    
  def  introduce ( self ): 
    return  f"嗨,我叫{self.name},我是{self.age}岁。” 
    
person1 = Person( "John" , 30 ) 

# 输出:“嗨,我叫约翰,今年 30 岁。” 
打印(person1.introduce())  

4. 类方法:这些是绑定到类而不是类对象的方法。它们可以在类本身以及类的任何对象上调用。它们装饰有@classmethod例如:

class  Person : 
  # 类属性
  species = "Human"   
  
  def  __init__ ( self, name, age ): 
    self.name = name 
    self.age = age 
    
  @classmethod 
  def  get_species ( cls ): 
    return cls.species 
    
person1 = Person( "John" , 30 ) 

# 输出:“人类” 
print (person1.get_species())   

# 输出:“人类” 
print (Person.get_species())   

5.静态方法:这些是绑定到类而不是类对象的方法。它们不关心类的实例状态,也无权访问实例属性。它们装饰有@staticmethod下面是一个静态方法的例子:

 数学
  @staticmethod 
  def  add ( x, y ): 
    return x + y 

# Output: 5 
print (Math.add( 2 , 3 ))  

在此示例中,该add方法是一个静态方法,它接受两个参数xy返回它们的总和。该方法是在Math类本身上调用的,而不是在Math类的对象上调用的。

这是将温度从摄氏度转换为华氏度的静态方法的另一个示例:

 温度
  @staticmethod 
  def  celsius_to_fahrenheit ( celsius ): 
    return celsius * 9 / 5 + 32 

# Output: 68 
print (Temperature.celsius_to_fahrenheit( 20 ))  

在此示例中,该celsius_to_fahrenheit方法是一个静态方法,它以摄氏度为单位获取温度并返回以华氏度为单位的等效温度。

静态方法是使用@staticmethod装饰器定义的。它们是在类本身上调用的,而不是在类的对象上调用的。它们无权访问类的实例属性,通常用于不需要访问任何类特定状态的实用程序函数。

标签:Python,爬虫,零基础必,实战教程,数据,链接,数字字母
来源: