实例属性和实例方法

实例属性

实例属性是从属于实例对象的属性,也称为"实例变量"。他的使用有如下几个要点:
1、实例属性一般在__init__()方法中通过如下代码定义:
    self.实例属性名 = 初始值
2、在本类的其他实例方法中,也是通过 self 进行访问:
    self.实例属性名
3、创建实例对象后,通过实例对象访问:
    obj01 = 类名()           #创建对象,调用__init__()初始化属性
    obj01.实例属性名 = 值    #可以给已有属性赋值,也可以新加属性
实例属性_内存分析.png

实例方法

实例方法是从属于实例对象的方法。实例方法的定义格式如下:
def 方法名(self [, 形参列表]):
    函数体
    
方法的调用格式如下:
对象.方法名([实参列表])


要点:
1、定义实例方法时,第一个参数必须为 self。和前面一样,self 指当前的实例对象。
2、调用实例方法时,不需要也不能给 self 传参。self 由解释器自动传参。




函数和方法的区别
1、都是用来完成一个功能的语句块,本质一样。
2、方法调用时,通过对象来调用。方法从属于特定实例对象,普通函数没有这个特点。
3、直观上看,方法定义时需要传递 self,函数不需要。



 其他操作:
1、dir(obj)可以获得对象的所有属性、方法
2、obj.__dict__ 对象的属性字典
3、pass 空语句
4、isinstance(对象,类型) 判断"对象"是不是"指定类型"

举例:
class Student:
    def __init__(self,name,score):     #构造方法第一个参数必须是self
        self.name=name                 #实例属性
        self.score=score
    def say_score(self):               #实例方法
        print("{0}的分数是:{1}".format(self.name,self.score))

s1=Student("Vince",80)                 #s1是实例对象,自动调用__init__()方法
s1.say_score()

print(s1.__dict__)
结果:{'name': 'Vince', 'score': 80}


class Man:
    pass
print(isinstance(s1,Man))
结果:False
实例方法.png

你可能感兴趣的:(实例属性和实例方法)