面向对象Python中一切皆对象
对象:数据与功能的结合体
类:多个对象相同数据与功能的结合体
PS:在程序中需要先定义类,之后才能产生对象
定义类
class Student: # 相同的数据 school = ‘清华大学‘ # 相同的功能 def choose_course(self): print(‘选课‘)
定义类的语法结构
PS:在类中定义的函数我们称之为>>>:方法
产生对象:类名加括号(实例化)
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‘) obj1.choose_course() obj2.choose_course() obj3.choose_course()
对象在调用类里面定义的方法的时候会自动将对象本身当成第一个位置参数传入,所以调用的时候形参self不需要传值
形参self指代的就是一个个对象
print(obj1.name) obj1.name = ‘jasonNB‘ print(obj1.name) obj1.xxx = ‘ooo‘ print(obj1.xxx)
核心补充
异常捕获
异常的分类:
语法结构
try: 被检测的代码 except 错误类型 as 变量名: 分支代码(变量名指代的就是错误的具体信息) # 万能异常Exception/BaseException
注意事项
其他关键字
else try被检测的代码没有异常的情况下会走 finally 无论是否有异常最终都会执行
原文:https://www.cnblogs.com/hzh1678053026/p/15212999.html