Skip to content

Instantly share code, notes, and snippets.

@anaved
anaved / qsort.py
Last active December 18, 2015 21:48
def qsort(data):
if data==[]:
return data
pivot=data[0]
less=qsort([x for x in data[1:] if x<pivot])
great=qsort([x for x in data[1:] if x>=pivot])
return less+[pivot]+great
def qsort2(data):
if data==[]:
return data
mid=len(data)/2
pivot=data.pop(mid)
less=qsort2(filter(lambda x:x<pivot,data))
great=qsort2(filter(lambda x:x>=pivot,data))
return less+[pivot]+great
class MyPropertyValidation(object):
def __init__(self):
self.__age = None
@property
def age(self):
if not self.__age:
raise ValueError("Age is None and needs to be set first.")
return self.__age
class MyPropertyValidation(object):
def __init__(self):
self.__age = None
@property
def age(self):
if not self.__age:
raise ValueError("Age is None and needs to be set first.")
return self.__age
@anaved
anaved / property_simple.py
Last active July 12, 2017 22:21
Example of how to get/set/delete a property.
class MyProperty(object):
def __init__(self, name):
self.__name = name
@property
def xname(self):
return self.__name
@xname.setter
def xname(self, val):
@anaved
anaved / property_abstract.py
Last active July 12, 2017 22:27
Abstract property example
class MyAbstractProperty(object):
__metaclass__ = abc.ABCMeta
@abc.abstractproperty
def xname(self): pass
class MyAbstractPropertySubclass(MyAbstractProperty):
@property
@anaved
anaved / property_final.py
Created July 12, 2017 22:34
Example of how to declare a constant using a property
class MyFinalProperty(object):
@property
def name(self):
return "John"
@anaved
anaved / property_test2.py
Created July 12, 2017 22:38
Declare without decorator.
class MyOtherProperty(object):
def __init__(self, name):
self.name = name
def getXName(self):
return self.name
def setXName(self, val):
self.name = val
@memoize
def add_values( a, b ):
return a+b
def decorator(func):
"""
:param func:
:return: func result after calling it with 1
"""
return func(1)
#Below statement is equal to decorator( decoratee )
@decorator
def decoratee(number):