[Tutor] Object/Class Beginner Questions
Ben Ganzfried
ben.ganzfried at gmail.com
Fri Jan 14 20:37:33 CET 2011
I actually just figured it out (since the tutorial talks about the
difference in indentation between a method and a function in a later
chapter). Basically, a method is within a class and therefore cannot be
called from the command prompt whereas a function that stands by itself in a
script can be called from the command prompt.
Although if this isn't quite right or there's more to it, I would still
definitely appreciate any advice you have.
Thanks again,
Ben
On Fri, Jan 14, 2011 at 1:53 PM, Ben Ganzfried <ben.ganzfried at gmail.com>wrote:
> Hey guys,
>
> I'm using a tutorial geared for a 2.x version of Python and I am currently
> using Python 3.1-- so it is possible that my confusion has to do with
> different notations between them. But in any case, here is what I have:
>
> >>> type(Time)
> <class 'type'>
> >>> t1 = Time()
> >>> type(t1)
> <class '__main__.Time'>
>
> where:
>
> class Time:
> def __init__(self, hours = 0, minutes = 0, seconds = 0):
> self.hours = hours
> self.minutes = minutes
> self.seconds = seconds
>
> def print_time(t1):
> print(t.hours, ":", t.minutes, ":", t.seconds)
>
> Now the book I am working with has the following example:
>
> >>> type(Point)
> <type 'classobj'>
> >>> p = Point()
> >>> type(p)
> <type 'instance'>
>
> My questions are the following:
> 1) Why is the type for my class Time : >>> type(Time)
> <class
> 'type'>
> when the type for their class Point is: <type 'classobj'>
> Also, what is the difference between "class" and "classobj" in this case?
> 2) Why does my t1 object give the following as its type: <class
> '__main__.Time'>
> And in their p object example the type is: <type 'instance'>?
> 3) What is happening such that when I try to call my print_time(t1)
> function I get the following error:
> >>> t1 = Time()
> >>> t1.hours = 3
> >>> t1.minutes = 30
> >>> t1.seconds = 45
> >>> print_time(t1)
> Traceback (most recent call last):
> File "<pyshell#77>", line 1, in <module>
> print_time(t1)
> NameError: name 'print_time' is not defined
>
>
> Thank you very much.
>
> Sincerely,
>
> Ben
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110114/df9739d9/attachment-0001.html>
More information about the Tutor
mailing list