@ru_python

Страница 6497 из 9768
?
13.09.2018
06:59:26
Как быстро проверить, является ли переменная, классом

Не type, а чет еще было

Eldar
13.09.2018
06:59:57
?
13.09.2018
07:00:09
спасибо

Google
Eldar
13.09.2018
07:00:18
Или без нижнего подчеркивания?

?
13.09.2018
07:00:31
без нижнего

там isinstance(Переменная, class)

Так вроде

Aleksandr
13.09.2018
07:10:48
Можно ли создать свой крутой проект используя встроенные библиотеки или надо свои писать?

Tishka17
13.09.2018
07:10:49
там isinstance(Переменная, class)
class ключевое слово

?
13.09.2018
07:11:10
Нет

isinstance(member, discord.members.Member)

Так например

Tishka17
13.09.2018
07:11:45
Оо

Так классом или объектом класса?

Олег
13.09.2018
07:18:33
Так классом или объектом класса?
вопрос неправильно поставлен)

Да обектом класса видимо)

Google
Олег
13.09.2018
07:18:44
Переменная не может быть классом О_0

Доброе утро ребята)

Всех программистов с праздником)

Василий
13.09.2018
07:20:35
Переменная не может быть классом О_0
В питоне может. так как экземпляр класса тоже является классом. и наследует магические методы. например сложение

Tishka17
13.09.2018
07:20:35
Переменная не может быть классом О_0
>>> class X: pass ... >>> y=X >>> print(y) <class '__main__.X'>

когда создаешь класс ты по сути объявляешь переменную

Aragaer
13.09.2018
07:21:21
экземпляр класса не является классом

Tishka17
13.09.2018
07:21:37
и записываешь в нее класс (инстанс класса type)

Aragaer
13.09.2018
07:21:55
объект класса является экземпляром класса class

это да

но оно не только в птоне - в жаве так же

Tishka17
13.09.2018
07:22:57
в жаве пришлось бы писать X.class

Василий
13.09.2018
07:22:57
экземпляр класса не является классом
вот я пишу a = 4 b = 5 c = a + b это значит что у a есть метод __add__ который говорит что ей сделать с b. как этот метод реализован если a не класс?

Tishka17
13.09.2018
07:23:38
вот я пишу a = 4 b = 5 c = a + b это значит что у a есть метод __add__ который говорит что ей сделать с b. как этот метод реализован если a не класс?
>>> a=4 >>> type(a) <class 'int'> >>> dir(a) ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__init_subclass__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']

Aragaer
13.09.2018
07:23:46
а является экземпляром класса int

но она не является сама классом

ну или не int

не суть

Tishka17
13.09.2018
07:24:22
int

Google
Василий
13.09.2018
07:24:45
но она не является сама классом
в языке есть задокументированная конструкция экземпляр класса?

или чем она тогда является?

Aragaer
13.09.2018
07:24:55
да

если у тебя есть класс Какой-тоКласс

тогда Какой-тоКласс() создает новый экземпляр этого класса

обрати внимание например на то, что Какой-тоКласс является callable

а созданный из него экземпляр не обязан быть callable

но сам по себе Какой-тоКласс является экземпляром класса class

Олег
13.09.2018
07:26:58
эх вас понесло:D

Василий
13.09.2018
07:27:08
эх вас понесло:D
Дык интересно же

Aragaer
13.09.2018
07:27:16
по-моему все очевидно

но я это все равно все рассматриваю с позиции си 8)

Tishka17
13.09.2018
07:27:44
все - объекты

никакой магии нет.

Aragaer
13.09.2018
07:28:41
но не все классы

Tishka17
13.09.2018
07:29:00
класс - объект, который может создавать другие объекты

Aragaer
13.09.2018
07:29:16
нет

Aragaer
13.09.2018
07:29:36
объект, который умеет создавать другие объекты, называется обычно Factory

Tishka17
13.09.2018
07:29:37
А чем type не угодил?
тем что он хотел не то, что спросил

Google
?
13.09.2018
07:29:38
Работает медленнее, как мне показалось

Aragaer
13.09.2018
07:29:41
но это не обязательно класс

например я могу написать функцию, которая создает другие объекты

Valery
13.09.2018
07:30:02
Два стула, на какой сесть?
разные по смыслу и уровню стулья. Один для введения, второй для просвящения

?
13.09.2018
07:30:08
Да и просто удобнее, чем писать == или !=

Mark
13.09.2018
07:31:03
Кстати, об int. Не так давно вычитал тему, что петоновский инт это производная от bool. Мол, на первый день был bool, а потом уже int. Отсюда такие "странности". Где прочитал не вспомню, пруфов не будет

Tishka17
13.09.2018
07:31:21
например я могу написать функцию, которая создает другие объекты
ну я ж грубо. Так-то да, класс - объект типа type, который является calleble и при вызове создает объекты, у которых в качестве типа указан он же.

Admin
ERROR: S client not available

Aragaer
13.09.2018
07:33:38
а это везде так, что бул происходит от инта

Василий
13.09.2018
07:33:56
Ну к слову сказать делать всякую фигню питон не дает. например a = 4 class B(a): pass не работает. А вот class B(a.___class___) pass работает

Valery
13.09.2018
07:34:30
Tishka17
13.09.2018
07:35:29
Василий
13.09.2018
07:36:08
java: public final class Boolean extends Object
Под капотом все равно все опираются на C. а там Bool определен через Int если я не ошибаюсь

Tishka17
13.09.2018
07:39:14
Под капотом все равно все опираются на C. а там Bool определен через Int если я не ошибаюсь
в C не только int есть, а ещё char и прочее. Тем не менее в джаве виртуальная машина, а не просто машинный код.

Tishka17
13.09.2018
07:40:06
а char в C это не int?)
нет. char - это 1 байт, а int - обычно 2-8

А в джаве ты не можешь 1 присвоить в Boolean. Будет ошибка компиляции

вот внутри джава-машины хз. Но это не джава уже

Google
Georgiy
13.09.2018
07:41:15
нет. char - это 1 байт, а int - обычно 2-8
ну вот "обычно" там понятие растяжимое и зависит от платформы. есть ощущение что int8_t это где-то примерно char

Andrey
13.09.2018
07:57:46
С праздником, уважаемые коллеги.

Nikolay
13.09.2018
07:58:50
?

Ilia
13.09.2018
07:59:01
А что за праздник-то? День сисадмина? Или тот, который официальный?

Да, всё-таки день сисадмина...

Но это не говорит о том, что нам, программистам, не нужно радоваться!

Pachvarsh
13.09.2018
08:03:35
Ребятки, а зачем вообще использовать _ как переменную? Какие серьезные бонусы это дает

Pachvarsh
13.09.2018
08:06:26
Без контекста вопрос не ясен.
если в интерпретатор питонячий передать нижний подчерк, тот вернет последнее значение

Это для работы в REPL
ну а какой смысл был вообще подобное вводить

какие-то предпосылки были к этому

Nikolay
13.09.2018
08:08:38
Ребятки, а зачем вообще использовать _ как переменную? Какие серьезные бонусы это дает
Это из фп пошло. Например., в функциях низших порядков заменяют то, что не используется, но функция высшего порядка это возвращает

Как и x вместо item/element

Ilia
13.09.2018
08:09:09
Блин, я же написал, ТОЛЬКО ДЛЯ РАБОТЫ В REPL. Ты в чистом REPL хоть когда-то работал, без IDE, просто в консоли (хорошо ещё, если с readline-ом)

Ilia
13.09.2018
08:09:47
Хотя может я неправ, может это у меня ложная память...

Страница 6497 из 9768