首页 > 编程语言 > 详细

python面对对象

时间:2021-09-02 08:19:51      阅读:11      评论:0      收藏:0      [点我收藏+]

面向对象Python中一切皆对象

对象:数据与功能的结合体

类:多个对象相同数据与功能的结合体

PS:在程序中需要先定义类,之后才能产生对象

定义类

class Student:
    # 相同的数据
    school = ‘清华大学‘
    # 相同的功能
    def choose_course(self):
        print(‘选课‘)

定义类的语法结构

  1. class是定义类的关键字
  2. Student是类的名字类名在python中推荐首字母大写
  3. 缩进代码块:对象相同的数据和功能

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)  

核心补充

  1. 父类:多个类相同的数据和功能的结合体技术分享图片
  2. 继承:一个类可以继承多个父类并拥有多个父类里面所有的东西技术分享图片
  3. 对象查找数据和方法的顺序:先从对象自身开始找,再去产生对象的类里面找,再去父类里面找

 异常捕获

异常的分类:

  1. 语法错误:不被允许的,出现了应该立刻修改
  2. 逻辑错误:可以允许发生的(bug)

语法结构

	try:
        被检测的代码
    except 错误类型 as 变量名:
        分支代码(变量名指代的就是错误的具体信息)
    # 万能异常Exception/BaseException

注意事项

  1. 异常在程序中尽量少用
  2. try检测的代码要尽可能的少

其他关键字

else
try被检测的代码没有异常的情况下会走
finally
无论是否有异常最终都会执行

 

python面对对象

原文:https://www.cnblogs.com/hzh1678053026/p/15212999.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!