python3 开发面试题(面向对象)6.6

本文深入探讨了Python面向对象编程的基本概念,包括封装、继承、多态等核心特性,并详细解释了继承的特点及其实现方式。此外,还介绍了Python中特殊成员的作用及区别,如__new__、__init__等,并对比了静态方法与类方法的不同。
"""
封装、继承、多态

1. 谈谈你对面向对象的理解?
2. Python面向对象中的继承有什么特点?
3. 面向对象深度优先和广度优先是什么?
4. 面向对象中super的作用?
5. 列举面向对象中特殊成员(带双下划线的特殊方法,如:__new__、__init__、__call__等)
6. 静态方法和类方法区别?
"""
#谈谈你对面向对象的理解?
#面向对象,首先我们要理解对象,什么是对象?对象是特征与技能的结合体。特征即变量,技能即函数,对象就是变量和函数的结合体,在python中既有面向对象编程,
也有面向过程编程,在所做项目中需要用到哪种更加便捷就用那种编程方式,学面向对象的人,正常最常听到的一句话就是“万物皆对象”,我们编程就是将现实中的事物,
抽象成程序中的对象,用特征和技能去表现出对象。 # Python面向对象中的继承有什么特点? # 减少代码重用,可以多继承,缺点就是把子类与父类强耦合到一起 # 面向对象深度优先和广度优先是什么? #深度优先主要体现在经典类在菱形继承的背景下,查找属性的方式 #广度优先主要体现在新式类在菱形继承的背景下,查找属性的方式, 经典类只在python2中,由于的python2不支持服务的倒计时,推荐用python3,python3中的所有类都是新式类。 # 面向对象中super的作用? super在子类派生出新的方法中重用父类的功能 注意:super()的返回值是一个特殊的随想,该对象专用用来调用父类的属性
class Person(object):
    def __init__(self, name, age):
        self.name = name
        self.age = age
    def __repr__(self):
        return "呵呵"

class Male(Person):
    def __init__(self, name, age):
        super().__init__(name, age)

# 列举面向对象中特殊成员(带双下划线的特殊方法,如:__new__、__init__、__call__等)
# __new__ 可以调用其他类的构造方法或者直接返回别的对象来作为本类的实例。
# __init__            负责将类的实例化
# __call__             对象后面加括号,触发执行       
# __str__             print打印一个对象时  __unicode__
# __repr__            和__str__
# __doc__             类的注释,改属性是无法继承的
# __getattr__         在使用调用属性(方式.属性)不存在的时候触发
# __setattr__          添加/修改属性会触发它的执行
#__delattr__           删除属性的时候会触发
# __delete__            采用del删除属性时,触发   
# 静态方法和类方法区别?
# 1. 静态方法: 相当于普通函数  staticmethod
# 2. 类方法: 通过类调用,第一个参数默认是类本身 classmethod

 面向过程和面向对象http://www.cnblogs.com/ManyQian/p/8797097.html

反射
通过字符串来操作类与对象的属性,这种操作称为反射
hasattr(obj,某种属性)
不知道有没有某种方法时,进行的判断
getattr(obj,某种属性,None)
查看某种属性,没有属性,可以设置为NONE,有就返回值
setattr(obj,某种属性,属性对应的值)
添加obj对象的某种属性,及其值
delattr(obj,某种属性,属性对应的值)
删除obj对象的某种属性,及其值

转载于:https://www.cnblogs.com/ManyQian/p/9146526.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值