Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 25, 2010 00:07:45

svolard
От:
Зарегистрирован: 2010-11-24
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

предназначение self

Подскажите плз, какое предназначение выполняет self в классах?

Например:

1)class MyClass(object):

def my_func(self, name):
self.name = name
2)class MyClass(object):

def my_func(self, name):
name = name
3)class MyClass(object):

def my_func(name):
name = name
По возможности объясните доступным языком разницу между этими тремя примерами. Питон начал учит недавно, первый язык программирования для меня, никак не могу разобраться с этим.

Спасибо за помощь.



Отредактировано (Ноя. 25, 2010 00:53:49)

Офлайн

#2 Ноя. 25, 2010 02:33:32

ofigetitelno
От:
Зарегистрирован: 2006-08-01
Сообщения: 136
Репутация: +  0  -
Профиль   Отправить e-mail  

предназначение self

:)
на форуме есть раздел книги, скачайте что-нибудь и прочитайте…
или если очень быстро:
http://ru.diveintopython.org/fileinfo_class.html



Офлайн

#3 Ноя. 25, 2010 11:00:05

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

предназначение self

svolard
Подскажите плз, какое предназначение выполняет self в классах?
такое же как и во всех остальных языках - ссылка на экземпляр класса.

Офлайн

#4 Ноя. 25, 2010 11:18:56

python4ik
От:
Зарегистрирован: 2010-01-05
Сообщения: 251
Репутация: +  0  -
Профиль   Отправить e-mail  

предназначение self

self - это подразумевается создаваемый будующий обьект. Можно написать и просто не self а любые символы, допустим s, это просто соглашение прогеров, но должно стоять первым аргументом(правда не всегда!).

class MyClass(object):

def my_func(self, name): #здесь когда ты создаш экз-р этого класса, то с помощью этого self сможеш обращаться к этому методу
self.name = name
допустим создаёш экз-р класса MyClass : ek=MyClass(). Теперь вместо self вставляется ek и ты можеш вызывать этот метод, допустим ek.my_func(2)
И теперь тоже самое к self.name. Можеш обратиться как ek.name выведет 2



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version