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

相关文章
|
1天前
|
架构师 开发工具 C++
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
最新python--类与面向对象-1,一线互联网架构师360°全方面性能调优
|
1天前
|
Java 程序员 C语言
2024年Python最新【Python学习教程】Python类和对象_python中类和对象的讲解,Python最新面试题
2024年Python最新【Python学习教程】Python类和对象_python中类和对象的讲解,Python最新面试题
2024年Python最新【Python学习教程】Python类和对象_python中类和对象的讲解,Python最新面试题
|
1天前
|
SQL 分布式计算 算法
python-静态方法staticmethod、类方法classmethod、属性方法property_python staticmethod类内使用
python-静态方法staticmethod、类方法classmethod、属性方法property_python staticmethod类内使用
|
1天前
|
缓存 Java Python
python-静态方法staticmethod、类方法classmethod、属性方法property_python staticmethod类内使用(1)
python-静态方法staticmethod、类方法classmethod、属性方法property_python staticmethod类内使用(1)
|
6天前
|
Python
Python-类视图和蓝图
Python-类视图和蓝图
11 2
|
6天前
|
存储 Java 数据安全/隐私保护
Python----类对象和实例对象
Python----类对象和实例对象
9 2
|
6天前
|
C++ Python
Python中的类与对象
Python中的类与对象
8 1
|
6天前
|
Python
在Python中,类的属性可以分为公有属性和私有属性
【5月更文挑战第7天】Python类包含公有和私有属性。公有属性可直接外部访问,如`person.name`,而私有属性如`_name`需通过getter/setter方法访问,如`person.getName()`和`person.setName()`。私有属性用于封装数据、隐藏实现细节,增强代码可维护性和安全性。封装能灵活修改内部实现,不影响外部;安全性防止外部非法修改数据;一致性确保所有数据操作在类内完成,简化代码并减少错误。
28 10
|
6天前
|
Python
【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
【5月更文挑战第6天】【Python 基础】Python中的实例方法、静态方法和类方法有什么区别?
|
6天前
|
存储 程序员 Python
Python中自定义类实例化数组的艺术
Python中自定义类实例化数组的艺术
11 1