一、概述
类中的方法实际上就是执行某种数据处理功能的函数。
使用def 关键字。
类中的方法分为两类:普通方法和内置方法。
类的实例对象根据方法名调用;
• 内置方法是在特定情况下由系统自动执行。
普通方法的定义和调用
第一个参数需要对应调用方法时所使用的实例对象(一般命名为self,但也可以改为其他名字)。
当使用一个实例对象调用类的普通方法时,其语法格式为:
实例对象名.方法名(实参列表)
不需要传入self参数的值,self会自动对应调用该方法时所使用的对象。
二、类中普通方法定义及调用示例
1 class Student: #定义Student类
2 name='Unknown' #定义Student类中有一个name属性
3 def SetName(self, newname): #定义类的普通方法SetName
4 self.name=newname #将self对应实例对象中的name属性值赋为newname
5 def PrintName(self): #定义类的普通方法PrintName
6 print('姓名:%s'%self.name) #输出self对应实例对象中的name属性值
7 if __name__=='__main__':
8 stu1=Student() #定义Student类对象stu1
9 stu2=Student() #定义Student类对象stu2
10 stu1.SetName('李晓明') #通过stu1对象调用SetName方法
11 stu2.SetName('马红') #通过stu1对象调用SetName方法
12 stu1.PrintName() #通过stu1对象调用PrintName方法
13 stu2.PrintName() #通过stu2对象调用PrintName方法
提示:类的普通方法必须通过实例对象调用,而不能通过类名直接调用。
例如,如果运行 Student.SetName('未知')
Student.PrintName()
系统会分别给出如下报错信息:TypeError: SetName() missing 1 required positional argument: 'newname'
TypeError: PrintName() missing 1 required positional argument: 'self '
(即都缺少了一个位置参数)这是因为通过实例对象调用时会自动将该实例对象传给self,而通过类调用时则不会有这个隐含的参数传递。