Skip to content

Instantly share code, notes, and snippets.

@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
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):
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
@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