python基础之面向对象
python基础收尾
面对对象:一切皆对象
对象:
数据与功能的结合体
类:
多个对象相同数据与功能的结合体
在程序中需要先定义类 之后才能产生对象
定义类:
class Student:
# 相同的数据
school = '清华大学'
# 相同的功能
def choose_course(self):
print('选课')
定义类的语法结构:
""" 1.class是定义类的关键字 2.Student是类的名字 类名在python中推荐首字母大写 3.缩进代码块 对象相同的数据和功能 强调:在类中定义的函数我们称之为>>>:方法 """
产生对象:类名加括号(实例化)
# 每次都会产生一个新的对象
obj1 = Student()
obj2 = Student()
obj3 = Student()
print(id(obj1), id(obj2), id(obj3))
访问数据和功能
查看内部具有的属性和方法
print(Student.__dict__)
print(obj1.__dict__)
print(obj2.__dict__)
print(obj3.__dict__)
调用属性和方法(句点符)
print(obj1.school)
print(obj2.school)
print(obj3.school)
print(obj1.choose_course())
print(obj2.choose_course())
print(obj3.choose_course())
独有的数据
定义类
class Student:
school = '男德学院'
# 让对象具有独有的数据
def __init__(self, name, age, gender):
self.name = name
self.age = age
self.gender = gender
# 绑定给对象的方法(绑定方法):对象来调用自动将对象当作参数传入
def choose_course(self):
print('%s正在选课' % self.name)
产生对象:类名加括号(实例化):
obj1 = Student('jason', 18, 'male') # 每次都会产生一个新的对象
obj2 = Student('kevin', 28, 'male')
obj3 = Student('tony', 38, 'female')
1.为什么调用的时候形参self不需要传值 2.形参self到底是谁
"""
对象在调用类里面定义的方法的时候
会自动将对象本身当成第一个位置参数传入
形参self指代的就是一个个对象
"""
# obj1.choose_course()
# obj2.choose_course()
# obj3.choose_course()
print(obj1.name)
obj1.name = 'jasonNB'
print(obj1.name)
obj1.xxx = 'ooo'
print(obj1.xxx)

1.父类:多个类相同的数据和功能的结合体
2.继承:一个类可以继承多个父类并拥有多个父类里面所有的东西
3.对象查找数据和方法的顺序
先从对象自身开始找 再去产生对象的类里面找 再去父类里面找
异常捕获
异常的分类:
1.语法错误 不被允许的 出现了应该立刻修改 2.逻辑错误 可以允许发生的(bug)
语法结构:
try:
被检测的代码
except 错误类型 as 变量名:
分支代码(变量名指代的就是错误的具体信息)
# 万能异常Exception/BaseException
1.异常在程序中尽量少用
2.try检测的代码要尽量的少
其他关键字:
else
try被检测的代码没有异常的情况下会走
finally
无论是否有异常最后都会执行




浙公网安备 33010602011771号