<div dir="ltr"><div>Thank you! You guys helped me out alot. <br><br></div>@Alan your website is great! <span id="result_box" class="" lang="en"><span class="">Really</span> <span class="">clearly written</span><span>.</span> <span class="">Especially the</span> <span class="">"T</span><span class="">hings</span> <span class="">to</span> <span class="">remember</span><span class="">"</span> <span class="">part</span><span class="">.<br>
</span></span><br><span id="result_box" class="" lang="en"><span class=""><span id="result_box" class="" lang="en"><span class="">If you</span> <span class="">have</span> <span class="">exercises</span> <span class="">for me</span><span> or have a Website with exercises,</span> <span class="">bring it on</span><span>.</span> <span class="">I think this is</span> <span class="">the best way</span> <span class="">to learn.</span> </span><br>
<br></span></span></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/10/22 Dave Angel <span dir="ltr"><<a href="mailto:davea@davea.name" target="_blank">davea@davea.name</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 22/10/2013 10:25, Sven Hennig wrote:<br>
<br>
>  Hello, I would like to learn a programming language and have decided to use<br>
> Python. I have some programming experience and doing well in Python. What<br>
> really causes me problems is OOP.<br>
> I'm just dont get it... I'm missing a really Practical example. In every<br>
> book I've read are the examples of such Class Dog and the function is bark. Has<br>
> anyone an OOP example for me as it is really used in real code, so I can<br>
> better understand the concept? I do not know why this is so hard for me.<br>
><br>
<br>
</div></div>What you may not realize is you're already doing OOP, just by using the<br>
standard library.  When you open a file (or many other things that can<br>
produce a stream of bytes), you get an instance of class file.  When you<br>
use that instance, you're calling methods of that instance.  So when you<br>
say:<br>
<br>
infile = open("myfile.txt,"r")<br>
data = infile.readline()<br>
<br>
you're doing object oriented programming.  You don't have to know what<br>
kind of thing "infile" is, you just have to know it has methods read(),<br>
readline(), close(), etc.<br>
<br>
When you want to write your own classes, or when you want to make a new<br>
class that's related but different from one of the thousands that are<br>
standard, that's when it gets interesting.  As Alan says, GUI is one<br>
place where you'll be wrting your own classes, usually by deriving from<br>
one of the GUI library classes.<br>
<br>
At its most fundamental, a class is a description of how to create and<br>
how to manipulate instances.  An instance has methods (functions), and<br>
attributes (data).  When one class is derived from another, it can share<br>
some or most of the attributes and behavior of the parent class, but<br>
make changes.  This helps avoid duplicating code when two things are<br>
similar.<br>
<br>
You're familiar with list and tuple.  Those are built-in<br>
collection classes, supported explicitly by the language. But if you<br>
want your own collection, you may want to make a class for it.  The Dog<br>
bark() example may seem silly, but a Dog has lots of other methods<br>
besides that one, and has lots of attributes (color, breed, health<br>
state, owner, etc.).  In a sense those attributes are like a list within<br>
the Dog, but you want them to have nice names, instead of remembering<br>
that the 3rd one is owner.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
DaveA<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
_______________________________________________<br>
Tutor maillist  -  <a href="mailto:Tutor@python.org">Tutor@python.org</a><br>
To unsubscribe or change subscription options:<br>
<a href="https://mail.python.org/mailman/listinfo/tutor" target="_blank">https://mail.python.org/mailman/listinfo/tutor</a><br>
</div></div></blockquote></div><br></div>