实例方法
实例方法是从属于实例对象的方法,实例方法的定义格式如下:
def 方法名(self[,形参列表]):
函数体
方法调用格式如下:
对象.方法名([实参列表])
要点:
- 定义实例方法时,第一个参数必须为self。和前面一样,self指当前的实例对象。
- 调用实例方法时,不需要也不能给实例传参,self由解释器自动传参
-
函数和方法的区别
- 都是用来完成一个功能语句块,本质一样。
- 方法调用时,通过对象来调用,方法从属于特定的实例对象,普通函数没有这个特点
- 直观上看,方法定义需要传递self,而函数不需要
-
实例对象方法调用的本质
a.Student()
a.say_score(60) ------------------->(解释器翻译)Student.say_score(a,60
-
其他操作
- dir(obj)可以获得对象的所有属性,方法
- obj.__dict__对象的属性字典
- pass空语句
- isinstance(对象,类型)判断对象是不是指定类型
1 class Student: 2 3 def __init__(self,name,score): 4 self.name=name 5 self.score=score 6 7 def say_score(self): 8 print("{0}的分数是:{1}".format(self.name,self.score)) 9 10 11 s1 = Student("Xujie",18) 12 s1.say_score() 13 s1.age = 18 14 s1.salary = 15000 15 print(s1.salary) 16 17 s2 = Student("张三",6) 18 s2.say_score() 19 Student.say_score(s2) 20 21 22 print(dir(s2)) 23 print(s2.__dict__) 24 print(isinstance(s2,Student))