Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #76791 > unrolled thread

Re: Why can not initialize the class?

Started byLarry Martell <larry.martell@gmail.com>
First post2014-08-22 10:36 -0400
Last post2014-08-22 10:36 -0400
Articles 1 — 1 participant

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: Why can not initialize the class? Larry Martell <larry.martell@gmail.com> - 2014-08-22 10:36 -0400

#76791 — Re: Why can not initialize the class?

FromLarry Martell <larry.martell@gmail.com>
Date2014-08-22 10:36 -0400
SubjectRe: Why can not initialize the class?
Message-ID<mailman.13288.1408718166.18130.python-list@python.org>
On Fri, Aug 22, 2014 at 10:26 AM, luofeiyu <elearn2014@gmail.com> wrote:
> System:win7+python34.
>
>     class Contact(object):
>         def __init__(self, first_name=None, last_name=None,
>                      display_name=None, email=None):
>             self.first_name = first_name
>             self.last_name = last_name
>             self.display_name = display_name
>             self.email = email
>         def print_info(self):
>             print(self.display_name, "<" + self.email + ">"  )
>         def set_email(self, value):
>             if '@' not in value:
>                 raise Exception("This doesn't look like an email address.")
>             self._email = value
>         def get_email(self):
>             return self._email
>         email = property(get_email, set_email)
>
>     contact = Contact()
>
> The error message is :
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "<stdin>", line 7, in __init__
>   File "<stdin>", line 11, in set_email
> TypeError: argument of type 'NoneType' is not iterable
>
> What is wrong with the code?

The 'in' operator requires an iterable. When you do 'self.email =
email' set_email gets called and value is None.

[toc] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web