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='清华')