powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: члены объекта-функции. Что это?
24 сообщений из 24, страница 1 из 1
Python: члены объекта-функции. Что это?
    #38298014
ilya.maserov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему этот код не падает? Почему последняя строчка имеет смысл и какой?

Код: python
1.
2.
3.
4.
5.
def index( x ):
    print ( str(x) + "..." )


index.sobaka = True
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38298578
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilya.maserovПочему этот код не падает?
а почему должен то?
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299528
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookilya.maserovПочему этот код не падает?
а почему должен то?
Нет, а что это за такое? Ладно функция - объект, но что за гибрид получается, когда я этому объекту какой-то мембер ещё меняю? Или функция - это просто объект класса, у которого есть operator() (в C++ - нотации, незнаю как это в Питоне называется).
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299541
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2FishHookпропущено...

а почему должен то?
Нет, а что это за такое? Ладно функция - объект, но что за гибрид получается, когда я этому объекту какой-то мембер ещё меняю? Или функция - это просто объект класса, у которого есть operator() (в C++ - нотации, незнаю как это в Питоне называется).
В питоне вообще всё объекты, даже классы.
Я тебя сейчас вообще шокирую
Код: python
1.
2.
3.
x = lambda _:_
x.foo="asda"
print x.foo
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299548
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
2.
3.
4.
x = type("New_class", (), {})
print x
x.foo="asdasd"
print x.foo
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299551
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2Или функция - это просто объект класса

Код: python
1.
2.
3.
def foo():pass

print dir(foo)
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299567
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что всё - объект - вроде помню, а что можно на любой объект навешать любых новых мемберов - это новость.

Фишхук, а как любой объект превратить в функцию? Ну то есть, чтобы всё его содержимое не поменялось, но чтобы ещё и вызывать его можно было?

И ещё один вопрос - назови несколько самых суровых тем питона, чтобы я о них почитал и возгордился сильно.
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299577
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Foo(object):
    def __call__(self):
        print "I`m calling"




foo = Foo()
foo()
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299581
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
class Foo(object):
    def __call__(self):
        print "I`m calling"




foo = Foo()
foo()



Ага, я посмотрел dir() из примера выше... Круто, как всё в питоне открыто.
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299583
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2И ещё один вопрос - назови несколько самых суровых тем питона, чтобы я о них почитал и возгордился сильно.
почитай про метапрограммирование
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299586
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2То, что всё - объект - вроде помню, а что можно на любой объект навешать любых новых мемберов - это новость.
можно запретить
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299589
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookThinkTwise2И ещё один вопрос - назови несколько самых суровых тем питона, чтобы я о них почитал и возгордился сильно.
почитай про метапрограммирование
Ну без экстрима...
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299596
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookThinkTwise2То, что всё - объект - вроде помню, а что можно на любой объект навешать любых новых мемберов - это новость.
можно запретить

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
import datetime

class Foo(object):
    def method(self):
        return datetime.date.today()

    def __setattr__(self, key, value):
        if not key in self.__dict__:
            print "fuck you"
            return
        super(Foo, self).__setattr__(key, value)




foo = Foo()
print foo.method()

foo.another = "gg"
print foo.another
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299599
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2FishHookпропущено...

почитай про метапрограммирование
Ну без экстрима...
дескрипторы, декораторы,
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299603
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookThinkTwise2пропущено...

Ну без экстрима...
дескрипторы, декораторы,
Дектораторы в пятницу изучил )
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299605
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2FishHookпропущено...

дескрипторы, декораторы,
Дектораторы в пятницу изучил )

читани
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299618
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот тебе задачка, чтобы голову поломать
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
def split_list(lst, n):
    return zip(*[iter(lst)] * n)



l = [1,2,3,4,5,6,7,8,9]

for i in range(1,9):
    print split_list(l,i)


как это работает :)
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299690
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в первом посте члены не причем, просто переопределяется значение переменной из функции в объект
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299696
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Герой дняв первом посте члены не причем, просто переопределяется значение переменной из функции в объект
Э-э-э, функция ведь тоже объект. Объект с методом __call__, нет разве?
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299773
Фотография Герой дня
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ThinkTwise2Герой дняв первом посте члены не причем, просто переопределяется значение переменной из функции в объект
Э-э-э, функция ведь тоже объект. Объект с методом __call__, нет разве?

подумал, может ты и прав
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299807
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, __call__() у функции вполне вызывается напрямую

Код: python
1.
2.
3.
4.
def foo():
    print "aa"

foo.__call__()
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38299897
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookкстати, __call__() у функции вполне вызывается напрямую

Код: python
1.
2.
3.
4.
def foo():
    print "aa"

foo.__call__()


Ага, я тут эксперименты, мать их, ставлю..

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
import sys, os

class FishHook(object):
    
    def __init__(self):
        self.val = 555
    
    def __get__(self, obj, objtype):
        print ("__get__, " + str(obj))
        return self.val
        
    def __set__(self, obj, value):
        print ("__set__, " + str(obj) + ", " + str(value))
        self.val = value
        
    def __repr__(self):
        return "F " + str(self.val)


class Foo(object):
    val = FishHook()
    
    def __init__(self):
        self.bz = 0
    
    def __call__(self):
        self.bz = self.bz + 1
        return self.bz
    

f = Foo()

print ( f.val )
print ( f() )
print ( f() )
print ( f(), f(), f() )
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38300471
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHook, я хочу поймать переменное число аргументов в Питоне. Оказывается их можно ловить 2 способами и каждый для разных видов блюд?


Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
# 1)
def func(**args):
    # работает, когда юзер пишет func( sobaka = 1, juno = 2 )
    pass

# 2)
def func( *args ):
    # args - ('t', 'u', 'p', 'l', 'e') - positional arguments
    # работает, когда юзер пишет func( 1,2,3,4 )
    pass



И оба этих способа несовместимы? Точнее, **args вызовет ошибку, если юзер попытается вызвать func ( 1, 2, 3, 4 ) ?
...
Рейтинг: 0 / 0
Python: члены объекта-функции. Что это?
    #38300498
ThinkTwise2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) positional arguments
2) keyword arguments

вроде дошло
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Python: члены объекта-функции. Что это?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]