crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Python, вопрос о переменных
Litkevich Yuriy
  опции профиля:
сообщение 12.11.2010, 15:21
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


чем отличаются две переменные, к которым присваивание осуществляется так:
myvar = ...
self.myvar = ...

может быть первая локальная, а вторая член класса?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Novak
  опции профиля:
сообщение 12.11.2010, 23:26
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


Не обязательно с таким именем, но если ты попытаешься объявить вообще без параметров - вылетит исключение. Питон хочешь или не хочешь, объект передаёт, а там уже ты разбирайся :)
А исключение, что характерно, появится только при попытке использовать эту функцию
class A(object):
    def func():
        print "Oh, no"

object =A()
print 'I am alive'
object.func()

Результат:

I am alive
Traceback (most recent call last):
File "/Users/novak/git/py_koans/py_koans/python 2/koans/test.py", line 10, in <module>
object.func()
TypeError: func() takes no arguments (1 given)


При передаче лишнего параметра также вылезет исключение:
class A(object):
    def func(self):
        print "Oh, no"

object =A()
print 'I am alive'
object.func()
object.func(1)

Результат:

I am alive
Oh, no
Traceback (most recent call last):
File "/Users/novak/git/py_koans/py_koans/python 2/koans/test.py", line 11, in <module>
object.func(1)
TypeError: func() takes exactly 1 argument (2 given)

Сообщение отредактировал Novak - 12.11.2010, 23:24
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 19.4.2024, 16:16