Python——类与对象

面向对象编程介绍

  • 面向过程变成的核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么
  • 面向对象编程的核心是对象二字,对象是特征与技能的结合体。

类与对象

# class 类名:
#     pass

# 对象=类名()

##########

# 定义一个学生类(学习属性,选课技能),实例化得到一个学生对象
class Student:  # 类名尽量用驼峰
    school='oldboy'
    def choose_course(self):  # 方法,特殊函数,定义在类内部,并且有一个参数self
        print('选课技能')
        
student=Student() # 类的实例化,得到对象

# 通过Student取到school
print(Student.school)  # oldboy
print(Student.choose_course)

### __dict__ 是类的名称空间
### print(Student.__dict__)  # 以__开头的先不用关注,写在类中的属性和方法,都在Student中

定制对象独有特征

s1=Student()
s1.name='xxx' # 给对象s1定制独有特征姓名

对象属性

​ 对象自己有属性,优先用自己的,没有才用类的

​ 对象属性的查找顺序:对象自己--》类中---》报错

对象方法

​ 定义在类内部的函数,就是对象的绑定方法,对象来调用,会自动把对象传入(self)

​ 方法是绑定给对象的,由对象来调用,特殊之处是会把对象自身传入

​ 哪个对象来调用方法,self就是哪个对象

​ 对象方法的查找顺序:所有对象都用类的方法---》方法有self参数,通过self参数区分是哪个对象调用的

​ 所以类中的属性应该写对象共有的属性,如果是对象自己的,需要放到对象自己名称空间

'__ init __'的使用

'''
初始化方法,类加括号实例化得到对象时,会触发它的执行
可以在初始化方法中,给对象赋初值
'''

class Student:
    def __init__(self, name, age, school='北大'):  # 如果不写,它就不执行
        self.name = name
        self.age = age
        self.school = school
        
s1= Student('xxx', 19,school='清华')
posted @ 2020-12-24 09:35  最冷不过冬夜  阅读(83)  评论(0编辑  收藏  举报