Python爬虫特训第二周

继承

  • 定义一个class的时候,可以从某个现有的class继承,新的class称为子类(subclass)
  • 被继承的class称为基类,父类或超类(Base class, Super class)
class Animal(object):
    def run(self):
        print('Animal is running')

class Dog(Animal):
    def run(self):  # 重写
        # 调用父类的方法
        super().run()
        print('Dog is running')

    def eat(self):
        print('eat meat')

class Cat(Animal):
    pass

dog = Dog()
dog.run()
dog.eat()

运行结果如下
在这里插入图片描述

多态

"""
    多态
"""

b = Animal()    #b是Animal的类型
c = Dog()       #c是Dog的类型
# 如果某个实例是一个子类,那他的类型也可以看作父类类型,但反之不行
print(isinstance(b, Animal))
print(isinstance(c, Dog))
print(isinstance(c, Animal))
print(isinstance(b, Dog))

输出结果如下
在这里插入图片描述

类型判断

  • type()
  • isinstance()
  • dir() #获取一个对象的所有属性和方法
"""
    类型判断
"""
import types

def fn():
    pass

print(type(fn))
print(type(abs) == types.BuiltinFunctionType)

# getattr(), setattr(), hasattr()

class MyObject(object):
    def __init__(self):
        self.x = 9

    def power(self):
        return self.x * self.x

obj = MyObject()
# 判断obj是否有属性'x'
print(hasattr(obj, 'x'))
print(obj.x)

print(hasattr(obj, 'y'))

# 设置一个属性'y'
setattr(obj, 'y', 19)
print(hasattr(obj, 'y'))
print(getattr(obj, 'y'))
# dir
print(obj.__dir__())
print(dir(obj))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值