085 对象的绑定方法

类有两种属性:数据属性函数属性

  1. 类的数据属性是所有对象共享
  2. 类的函数属性是绑定给对象用

一、属性的查找顺序

属性的查找顺序: 先从对象自身找---> 类中找 ---> 报错

二、给对象添加属性的两种方式

方式一:直接通过对象添加属性

class Student:
    #变量表示属性
    school='xxx'
    def choose(self):
        print("选课....")
    def study(self):
        print('学习')
# 实例化对象      
stu1=Student()
stu1.name='xucheng'	# 添加属性

方式二:通过__init__方法添加属性

class Student:
    #变量表示属性
    school='xxx'
    def __init__(self,name):	# 实例化对象会默认执行
        self.name=name
    def choose(self):
        print("选课....")
    def study(self):
        print('%s学会了python'%self.name)
        
# 实例化对象是传递参数,通过init函数给对象添加属性    
stu1=Student('xucheng')
stu1.study()	# 添加属性

三、对象的绑定方法

对象的绑定方法就是定义在类内部的方法

  • 中定义的数据属性函数属性都是共享给所有对象用的
  • 对象名称空间中定义的只有数据属性,而且是对象所独有的数据属性

当对象实例化后,使用对象调用类中的任一方法,都会将该对象传递给函数形参的self表示当前对象。

init方法。初始化方法,和C++中的构造方法类似。当实例化对象时,进行传递参数,给当前对象添加属性。

对象的绑定方法都是对于本对象而言的类中的方法。当对象调回用类中方法时,忽略self

如果直接使用类来调用:就是一个普通函数,有几个参数就需要传几个参数

使用对象来调用:它叫对象的绑定方法,第一个参数不需要传,自动传递

# 直接使用类来调用
Student.choose(123)
print(Student.school)

# 对象来调用方法,第一个参数不用传
stu2=Student()
print(stu2.school)
原文地址:https://www.cnblogs.com/XuChengNotes/p/11413194.html