在 Python 中,类是创建对象的模板。它定义了该类的对象将具有的属性和行为。方法是在类内部定义的函数,用于对该类对象的属性执行操作。
以下是可以在类中定义的不同方法的一些示例:
__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
方法是一个静态方法,它接受两个参数x
并y
返回它们的总和。该方法是在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,爬虫,零基础必,实战教程,数据,链接,数字字母 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。