[Tutor] Learning Python

Emile van Sebille emile at fenx.com
Sun Dec 13 18:08:53 CET 2009

On 12/13/2009 4:36 AM Grigor Kolev said...

Your __init__ looks OK.  All the other methods return either self.list 
or (with sort and append) return None because you've reassigned 
self.list to the return value of self.list.sort() and 
self.list.append()(both sort and append methods change the object in 
place and return None -- which you've then assigned to self.list)

I've added comment lines below that describe what I would expect each 
method to do.  You'll need to write python code to perform each 
description.  I've completed one to get you started.

I'd advise you to revisit the tutorial and refresh your working 
knowledge of core python.  Magic methods might a bit advanced.


> My answer is:
> class MyList ():
> 	def __init__(self, value=[]):
> 		self.list=[]
> 		for i in value:
> 			self.list.append(i)
> 	def __add__(self , other):
# add other to self.list
# return self.list += other
> 		return self.list
> 	def __mul__(self , other):
# return the result of multiplying self.list by other
> 		return self .list
> 	def __delitem__(self , other):
# delete item other from self.list
> 		return self .list
> 	def __geritem__(self , other):	
# return self.list's other item
> 		return self.list 	
> 	def __repeat__(self , other):
# ?? maybe repr?
> 		return self.list 
> 	def sort(self  ):
# sort self.list in place
> 		self.list = self.list.sort()
> 		return self.list 
> 	def append(self , other):
# append item other to self.list
> 		self.list=self.list.append(other)
> 		return self.list 

More information about the Tutor mailing list