IMAP / POP3 /SMTP connections/sessions as objects are very useful, as
you can pass them from function to function.




On Thu, 2 Dec 2004 21:50:20 -0500, Jacob S. <[EMAIL PROTECTED]> wrote:
> > I am fairly new to programming and I have started to learn programming
> > then stopped out of frustration several times in the past.  I guess my
> > frustration stems from not being able to understand when to use certain
> > aspects of programming such as functions or classes.
> 
> Use functions when you will execute a certain code block many, many times
> during a script. Or if you want to make a code block simpler and more
> generic. For example...
> 
> def rfill(stri,length,sep=" "):  # stri is short for string, and sep
> (seperator) is defaulted to a space
>     stri = str(stri) # This is to help make sure that what the user gives us
> is a string
>     if stri < length:
>         stri = stri + sep*(length-len(stri)) # This fills the string to the
> length with seperators
>     return stri # This returns the string so we can assign it, print it etc.
> 
> Usage is as follows:
> 
> a = 'The'
> b = 'Many'
> c = 'Two'
> e = 'Forty'
> f = [a,b,c,e]
> for i in range(4):
>     print "%s%d" % (rfill(f[i],15),i)
> 
> yields
> 
> The            0
> Many           1
> Two            2
> Forty          3
> 
> This is just one example. You can use functions over and over from anywhere
> in your script.
> Classes are just like defining new types. You have the usual types like
> dictionary, list, tuple, integer, float, etc.  but with classes you can
> define your own. Methods are just attributes of classes, or so I understand.
> For example...
> 
> class MyClass:
>     def __init__(self,pos=[0,1,0]):
>         self.pos = pos
>     def printpos(self):
>         print self.pos
> 
> Which in turn can be used like this.
> 
> >>> a = MyClass()  ## pos defaults to [0,1,0] so I don't have to specify
> explicitly
> >>> print a.pos
> [1,0,1]
> >>> a.pos = [1,2,1]
> >>> a.printpos()
> [1,2,1]
> >>>
> 
> The most interesting use of classes that I have seen is the VPython package
> where they define new classes (again I think of them as types) as shapes
> with attributes (or methods - like L.append() which refers to appending to
> lists) like position, color, radius, axis, etc.
> But I digress.
> 
> HTH,
> Jacob Schmidt
> 
> 
> 
> > I have read enough
> > books and tutorials to know the syntax of python and I understand most
> > everything related to the concepts of programming, but I have never been
> > able to put it all together and learn how and when to use specific
> > features.  Can anyone suggest a method or some reading to help out with
> > this?  I also struggle with finding projects to work on does anyone know
> > of projects that a novice could contribute to?
> >
> >
> > _______________________________________________
> > Tutor maillist  -  [EMAIL PROTECTED]
> > http://mail.python.org/mailman/listinfo/tutor
> >
> 
> _______________________________________________
> Tutor maillist  -  [EMAIL PROTECTED]
> http://mail.python.org/mailman/listinfo/tutor
> 


-- 
'There is only one basic human right, and that is to do as you damn well please.
And with it comes the only basic human duty, to take the consequences.
_______________________________________________
Tutor maillist  -  [EMAIL PROTECTED]
http://mail.python.org/mailman/listinfo/tutor

Reply via email to