【python-使具体类抽象,保留构造函数】教程文章相关的互联网学习教程文章

python – 类继承:构造函数应该兼容吗?多重继承的情况?

参见英文答案 > Should constructors comply with the Liskov Substitution Principle? [closed] 3个recommended principles of object-oriented programming中的一个是Liskov substitution principle:子类的行为应该与它的基类相同(警告:这实际上不是Liskov原理的正确描述:参见PS). 是否建议它也适用于构造函数?我主要考虑Python及其__init __()方法,但这个问题适用于任何具有继承的面向对...

如何将类构造函数传递给python函数【代码】

假设我有一个类Foo,我想定义一个接收类构造函数作为参数的函数:def bar(class_name):local_class = None# TODO: if I call bar(Foo()), I want to get local_class = Foo()我该如何实现这个功能?解决方法:以下条形函数将起作用.注意,第一个参数将是一个类本身而不是类的名称,因此“class_name”(暗示它是一个str)具有误导性. args将是一个用于初始化klass对象的args元组,在调用klass时使用* -unpacked.您在稍后的评论中说过,您想...

python:从字典中调用构造函数?【代码】

我不太清楚这里的术语所以请耐心等待…. 假设我有一个这样的构造函数调用:machineSpecificEnvironment = Environment(TI_C28_ROOT = 'C:/appl/ti/ccs/4.1.1/ccsv4/tools/compiler/c2000',JSDB = 'c:/bin/jsdb/jsdb.exe',PYTHON_PATH = 'c:/appl/python/2.6.4', )除了我想通过提供给我的字典上的操作来替换它:keys = {'TI_C28_ROOT': 'C:/appl/ti/ccs/4.1.1/ccsv4/tools/compiler/c2000','JSDB': 'c:/bin/jsdb/jsdb.exe','PYTHON_...

python – 为什么unittest.mock在生产类构造函数需要额外参数时失败?【代码】

我遇到了一个问题,我认为这可能是我正在使用的库的一个错误.但是,我对python,unittest和unittest.mock库相当新,所以这可能只是我理解中的漏洞. 在为某些生产代码添加测试时遇到了错误,我生成了一个重现问题的最小样本:import unittest import mockclass noCtorArg:def __init__(self):passdef okFunc(self):raise NotImplementedclass withCtorArg:def __init__(self,obj):passdef notOkFunc(self):raise NotImplementeddef okWit...

Python中的替代构造函数【代码】

我正在玩图形并编写一个mixin模块来创建图形.我想在其中有一些替代构造函数.这就是我所拥有的:class Graph(GraphDegree, GraphDegreePlot, GraphGeneration, object):def __init__(self):self.nodes = set([])self.edges = {}def get_nodes(self):"""get nodes in graph"""return self.nodesdef get_number_of_nodes(self):"""get number of nodes in the graph"""return len(self.nodes)def get_edges(self):"""get edges in gra...

当特定字符串呈现给父类的构造函数时,Pythonic方法将子类的实例分配给变量【代码】

我希望能够创建父类X的实例,并使用字符串“Q”作为额外参数.该字符串是一个名称,是父类X的子类Q的标识符.我希望父类的实例成为(或替换为)子类的实例. 我知道这可能是一个经典问题(错误?).经过一番搜索后,我找不到合适的解决方案.我自己想出了以下解决方案;我添加了一个可能的标识符字典作为其基类实例的键到父类的init方法.然后将相应子类的class-attribute分配给当前实例class-attribute.我要求init-method的参数不是默认值以防止...

Python笔记_第三篇_面向对象_2.构造函数和析构函数(含self说明)【代码】

1. 构造函数:为什么要有构造函数?打一个比方:类的创建就是好比你创建了好了一种格式的房间,你租给上一个住户的后,里面会对方很多“垃圾”和不规则的物品摆放。构造函数就是下一个住户再使用的时候进行物品的初始化摆放,防止下一个用户再使用的时候会出现没有初始化物品错放的错误等。构造函数的格式:__init__( ):注意:在使用创建对象的时候会自动调用,构造函数用于初始化类实例的状态。如果不显式的创建构造函数,默认会...

(一)Python入门-6面向对象编程:02类的定义-类和对象的关系-构造函数-实例属性-实例方法【代码】【图】

一:类的定义如果把对象比作一个“饼干”,类就是制造这个饼干的“模具”。我们通过类定义数据类型的属性(数据)和方法(行为),也就是说,“类将行为和状态打 包在一起”。对象是类的具体实体,一般称为“类的实例”。类看做“饼干模具”,对象就是根据这个“模 具”制造出的“饼干”。从一个类创建对象时,每个对象会共享这个类的行为(类中定义的方法),但会有自己的属 性值(不共享状态)。更具体一点:“方法代码是共享的,...

构造函数 - 相关标签