Python 类

简介: Python 类

一、属性和方法

举例:

class Person:
    def set_name(self,name):
        self.name=name
    def get_name(self):
        return self.name
    def greet(self):
        print("Hello,world!I am {}.".format(self.name))

不同实例的属性值互不影响

class MemberCounter:
    members=0
    def init(self):
        MemberCounter.members +=1

二、超类与子类

继承以及方法重写

class Filter:
    def init(self):
        self.blocked=[]
    #     过滤器
    def filter(self,sequence):
        # 迭代+判断
        return [x for x in sequence if x not in self.blocked]
class SPAMFilter(Filter): #SPAMFilter是Filter的子类
    def init(self):#重写init方法
        self.blocked=['SPAM']

内置函数

所有的类都继承object

前者是不是后者的实例

返回对象的类两种方法

三、多重继承

class Calculator:
    def calculator(self,expression):
        self.value=eval(expression)
class Talker:
    def talk(self):
        print('Hi , my value is',self.value)
class TalkingCalculator(Calculator,Talker):
    pass

四、抽象基类

from abc import ABC,abstractmethod
class Talker(ABC):
    @abstractmethod
    def talk(self):
        pass
class Knigget(Talker):
    def talk(self):
        print("Ni!")

虽然没有继承关系,但是方法一致,就可以通过register注册

没有继承的空类并不能直接使用其他类的方法

from abc import ABC,abstractmethod
class Talker(ABC):
    @abstractmethod
    def talk(self):
        pass
class Knigget(Talker):
    def talk(self):
        print("Ni!")
class Herring:
    def talk(self):
        print("Blub.")
class Clam:
    pass

相关文章
|
2月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
22 1
|
2月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
26 2
|
2月前
|
设计模式 开发者 Python
Python类里引用其他类
Python类里引用其他类
27 4
|
2月前
|
设计模式 开发者 Python
Python 类中引用其他类的实现详解
Python 类中引用其他类的实现详解
41 1
|
2月前
|
JSON 缓存 API
在 Python 中使用公共类处理接口请求的响应结果
在 Python 中使用公共类处理接口请求的响应结果
33 1
|
2月前
|
机器人 关系型数据库 Python
【Python篇】Python 类和对象:详细讲解(下篇)
【Python篇】Pyt hon 类和对象:详细讲解(下篇)
24 2
|
2月前
|
算法 Python
【Python篇】Python 类和对象:详细讲解(中篇)
【Python篇】Python 类和对象:详细讲解(中篇)
25 2
|
2月前
|
存储 C++ Python
【Python篇】Python 类和对象:详细讲解(上篇)
【Python篇】Python 类和对象:详细讲解(上篇)
34 2
|
3月前
|
前端开发 Python
Python编程的面向对象有哪些(二)
Python编程的面向对象(二)—类的多态
25 7
|
3月前
|
IDE Java 开发工具
Python类与面向对象
Python类与面向对象