面向对象基础概况

一:面向对象基础概况
1.类与对象
class 类名:
	pass



对象 = 类名()


2.对象的属性查找
对象,属性--》先从对象自己的名称空间中找--》类的名称空间找--》报错
类中定义属性,对象只能使用,不能修改
如果对象修改,改的是自己名称空间的属性
3.对象的绑定方法
定义在类内部的函数,就是对象绑定的方法,对象来调用,会自动把对象传入(self)
类 也可以来调用, 类来调用,就是普通的函数,有几个参数就要几个参数
5.什么是函数,什么叫方法?
普通函数:
    	函数: 普通函数 def 定义的函数,有几个参数就要传几个参数
类中的函数:
    方法: 绑定给某个对象的,由对象来调用,特殊之处是会把对象自身传入
        
class Student:
    def choose_course(self):
        print(self)

s = Student()
s.choose_course()  # choose_course就叫方法

Student.choose_course(1)  # 就是普通函数
6. 初始化的方法 _ _ init _ _的使用
初始化方法:
    类加括号实例化得到对象时,会触发它的执行
可以在在初始化方法中,给对象赋初值

class Student:
    def __init__(self, name, age, school='北大'):
        self.name = name
        self.age = age
        self.school = school

    def sleep(self):
        print('%s睡着了' % self.name)


s1 = Student('lqz', 19, school='清华')
s2 = Student('egon', 18)
s3 = Student('zhangsan', 22)

s3.sleep()  # zhangsan睡着了

s2.sleep()  # egon睡着了

初始化:终极版
class Student:   推荐使用大写(驼峰提)
    school = 'oldboy'   对象共有的属性, 不希望把这个属性放到每个对象中

    def __init__(self, name):
        self.name = name

    def sleep(self, hour):  # self就是s1
        print(self.name, '睡了', hour, '小时')

    def print_school(self):
        print('我的学校是:%s' % self.school)

    def test(self):  # s1
        # 在test中调用对象的睡觉方法
        self.sleep(18)
        # sleep()   # sleep没有定义

 初始化
 按位置,或者按关键字传参
s1 = Student('lqz')
s1.test()

最后总结 1.属性查找2.绑定方法3.实例化

class Student:   推荐使用大写(驼峰提)
    school = 'oldboy'   对象共有的属性, 不希望把这个属性放到每个对象中

    def sleep(self, hour):  # self就是s1
        print(self.name, '谁了', hour, '小时')

    def print_school(self):
        print('我的学校是:%s' % self.school)

    def test(self):  s1
         在test中调用对象的睡觉方法
        self.sleep(18)
         sleep()    sleep没有定义



1 类与对象
实例化得到对象

student = Student()
# 赋予对象name属性
student.name = 'lqz'
student.school
student.sleep(8)


属性的查找顺序
student.school = '清华'
student.print_school()

3 对象的绑定方法
在对象的绑定方法中, 可以调用对象的另一个绑定方法
需要借助self来调用
s1 = Student()
s1.name = 'lqz'
s1.test()    s1调用对象的绑定方法test,会自动把s1传入
posted @ 2021-12-05 20:50  AlexEvans  阅读(27)  评论(0编辑  收藏  举报