If you want an object that behaves like a regular standard object but with the odd exception, you can define your own class which inherits from the system type. For example, we have redefined a
dict as a
specialDict in an example
[here] where we've overridden just the
__str__ method so that when we print out the object, we get the key/value pairs in a column, sorted by the value.
special class definition:
class specialDict(dict):
def __str__(this):
rzt = ""
sdk = sorted(list(this.keys()),key=lambda x: this[x])
for name in sdk:
rzt += "{1:} - {0:}\n".format(name,this[name])
return rzt
and the only difference in use (so easy to port to existing code) is the need to call a different constructor:
counter = specialDict()
rather than
counter = dict()
or
counter = {}
(written 2016-11-02, updated 2016-11-01)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles
Y112 - Python - Objects - Intermediate [296] Using a Python dictionary as a holder of object attributes - (2005-04-30)
[383] Overloading of operators on standard objects in Python - (2005-07-19)
[477] Class, static and unbound variables - (2005-10-25)
[656] Think about your design even if you don't use full UML - (2006-03-24)
[831] Comparison of Object Oriented Philosophy - Python, Java, C++, Perl - (2006-08-13)
[903] Pieces of Python - (2006-10-23)
[964] Practical polymorphism in action - (2006-12-04)
[1146] __new__ v __init__ - python constructor alternatives? - (2007-04-14)
[1217] What are factory and singleton classes? - (2007-06-04)
[1517] Python - formatting objects - (2008-01-24)
[1644] Using a utility method to construct objects of different types - Python - (2008-05-17)
[1661] Equality, sameness and identity - Python - (2008-05-31)
[1819] Calling base class constructors - (2008-10-03)
[2368] Python - fresh examples of all the fundamentals - (2009-08-20)
[2409] TypeError: super() argument 1 must be type, not classobj (Python) - (2009-09-18)
[2485] How do I set up a constant in Python? - (2009-10-31)
[2693] Methods that run on classes (static methods) in Python - (2010-03-25)
[2717] The Multiple Inheritance Conundrum, interfaces and mixins - (2010-04-11)
[2720] Multiple inheritance in Python - complete working example - (2010-04-14)
[2722] Mixins example in Python - (2010-04-14)
[2764] Python decorators - your own, staticmethod and classmethod - (2010-05-14)
[2785] The Light bulb moment when people see how Object Orientation works in real use - (2010-05-28)
[2889] Should Python classes each be in their own file? - (2010-07-27)
[2905] Defining static methods in Python - (2010-08-05)
[2994] Python - some common questions answered in code examples - (2010-10-10)
[3002] A list of special method and attribute names in Python - (2010-10-17)
[3442] A demonstration of how many Python facilities work together - (2011-09-16)
[3472] Static variables in functions - and better ways using objects - (2011-10-10)
[3524] Metaclasses (Python) and Metatables (Lua) - (2011-11-17)
[3796] Backquote, backtic, str and repr in Python - conversion object to string - (2012-07-05)
[3887] Inheritance, Composition and Associated objects - when to use which - Python example - (2012-10-10)
[4028] Really Simple Class and Inheritance example in Python - (2013-03-04)
[4094] Python Properties - how and why - (2013-05-18)
[4344] Python base and inherited classes, test harness and unit testing - new examples - (2014-12-07)
[4356] Object factories in C++, Python, PHP and Perl - (2014-12-19)
[4366] Changing what operators do on objects - a comparison across different programming languages - (2014-12-26)
[4410] A good example of recursion - a real use in Python - (2015-02-01)
[4449] Spike solution, refactoring into encapsulated object methods - good design practise - (2015-03-05)
[4450] Deciding whether to use parameters, conditional statements or subclasses - (2015-03-05)
[4541] Setting up and tearing down with the Python with keyword - (2015-10-16)
[4649] Object and Static methods - what is the difference; example in Python 3 - (2016-02-17)
[4717] with in Python - examples of use, and of defining your own context - (2016-11-02)
[4719] Nesting decorators - (2016-11-02)
Y116 - Python - Applying OO design techniques and best practise [340] Code and code maintainance efficiency - (2005-06-08)
[668] Python - block insets help with documentation - (2006-04-04)
[836] Build on what you already have with OO - (2006-08-17)
[945] Code quality counts - (2006-11-26)
[1181] Good Programming practise - where to initialise variables - (2007-05-09)
[2363] Alpaca Case or Camel Case - (2009-08-16)
[2407] Testing code in Python - doctest, unittest and others - (2009-09-16)
[2523] Plan your application before you start - (2009-12-02)
[2604] Tips for writing a test program (Ruby / Python / Java) - (2010-01-29)
[4118] We not only teach PHP and Python - we teach good PHP and Python Practice! - (2013-06-18)
[4359] How to avoid too many recalculations within an object - (2014-12-21)
Some other Articles
Embedding more complex code into a named blockWhen to check an object type - Python isinstance exampleCelebrating our diversity rather than discriminating for itDefining an object that is a modified standard type in PythonProfiling your Python programWell House Manor - Still five out of five!The technical article feed continues - personal updates more proactive on Facebook now!Equality (in Python)