对象的绑定方法与初始化

一:对象绑定方法与初始化
普通函数中:
	函数: 普通函数 def 定义的函数,有几个参数就要传几个参数
类中的函数:
    方法: 绑定给某个对象的,方法有特殊之处:绑定给谁,谁来调用
    对象调用就会把对象传过来,传给self

image

二:对象绑定方法 实战
class Student:
    def choose_course(self):  定义在类内部的函数,就是绑定给对象的方法
        print('%s中国人,选课' % self.name)  谁来调用,这个name就是谁
        
s1 = Student()
s1.name = 'lqz'  自己名称空间加了name属性
s1.choose_course()  绑定给对象的方法,对象来调用,自动把对象传进去

s2 =Student()
s1.name = 'lqz' 自己名称空间加了name    k:v
s1.choose_course()  绑定给对象的方法,对象来调用,自动把对象传进去



类可以调用方法吗? 
答:可以调用 类来调用 就是个普通的参数   chppse_course就是个普通的函数
s1 Student()
s1.name = '李四'
Student.choose_course(s1)
eg:类可以调用对象的绑定方法,但是需要手动把对象传进来,现在choose_course就是个普通的函数,有几个参数,就要传几个参数

image

三:对象初始化
初始化:初级版
class Student:
    def __init__(self):
        print('init')
    def choose_course(self):
        print('选课')
        
student1 = Student()  只要是类实例化得到对象,就会自动触发__init__的执行


初始化:中级版
class Student:
    def __innit__(self, name, age):
        self.name = name
        self.age = age
   	def choose_course(self):
        print('选课')
        
student = Student(name='lqz', age=19) 这种初始化方法会触发类的__init__的执行,并把参数传入
print(student.name)  输出结果:lqz
egon = Student(name='egon', age=20)  这种初始化方法会触发类的__init__的执行,并把参数传入
print(agon.name)  输出结果:agon
    
    
    
初始化:终极版
class Student:
       初始化    对象      赋值
    def __init__(self, name, age)
    	self.name = name
        self.age = age
       
   	def choose_course(self):
        print('选课')
        
只要是类序列化得到对象,就会自动触发__init__的执行,这种初始化的方式会触发类的__init__的执行就会自动将参数传入    
lqz = Student('lqz', 20)
print(lqz.name)
posted @ 2021-12-05 20:46  AlexEvans  阅读(61)  评论(0编辑  收藏  举报