Inheritance of from_ in Python -
Edit: There was some confusion, but I want to ask a general question about object-oriented design in Python . P> Now consider sub-squared which allows you to create a histogram from a list of data: What's the best way What is I have "grown up" programming in C ++, and in this case I use one overloaded constructor in Python I have thought about doing this: In the second case (Which I believe is better), allow the If you have come across a similar problem, please share your expertise! To start with , if you think that you Also keep in mind that you can go through In this case, you do not need a
class datamap: pass
class histogram (datamap): def __init __ (auto, list_of_false): # 1. Suitable Super ...) Call it if necessary: Make a map of the values counted in self-pass. Now consider a class that creates a suspicious prospect table, which is the
histogram .
Class ProbabilityMaster (Datamap): Pass
Maybe
Histogram can be created from or list of values?
< Li> Constructor takes many arguments (all but none == none)
from_list method to use the shared code from
What is the best way to histogram? Constructor? A
probability value table is similar to the table of almost
histograms , but it is extended so that the sum of all values is 1.0.
@ If you want staticmethod , you do not always do this function either, this function is not a part of the class, in which case it should be just a free function, or it is part of the class, but not tied to an example , And it should be a
@ classmethod . Your nominated producer is a good candidate for a
@ classmate .
a .__ init __ to
b
super More inheritance than you can cut off evil.
class A: def __init __ (self, data): self.values_to_counts = {} in the val data: if value self.values_to_counts: self.values_to_counts [val] + = 1 other: self .values_to_counts [val] = 1_to_ values_to_counts (CLS, values_to_counts): self = CLS ([]) self.values_to_counts = Values_to_counts Self class B (A): DF __int __ (self, data, parameter) returns: Super (b, self) .__ init __ (data) self.parameter = parameter def print_parameter (self): print self.parameter
B.from_values_to_counts , it inherits from
a and this is a form of
B Deer will come back , that's because it was called
b needs to do more complex initialization, you can,
When you use it with examples, a
classmethod is actually a
in the form of super () , which looks very similar to the way it will be. Examplemethod is not much more complex than , where
im_self attribute is assigned to the class itself.
class A: def __init __ (self, data): data for val in self.values_to_counts = {}: if in self.values_to_counts: self.values_to_counts [val] + = 1 Other: self.values_to_counts [VAL] = 1 @classmethod DEF from_values_to_counts (CLS, values_to_counts): self = cls ([]) self.values_to_counts = values_to_counts return self class B (A): def __init __ (self, data, parameters) : Super (b, self) .__ init __ (data) self.parameter = parameter def print_parameter (self): print self.parameter @classmethod DEF from_values_to_counts (CLS, values_to_counts): self = super (b, cls) .from_values_to_counts Values_to_counts) do_more_initialization Self)
Comments
Post a Comment