@ru_python

Страница 2600 из 9768
Artem
31.03.2017
10:16:46
меня угнетает такой подход) в чате никто не ответил правильно за порядочное время - значит, надо будет спросить на собеседовании! наверняка от знания этого момента зависит, хороший ли человек питонист

Google
Nikolay
31.03.2017
10:19:05
Ему видимо вкайф караться в гавне

Artem
31.03.2017
10:19:16
вот собеседуя на сишника/крестовика, имеет смысл спрашивать разное неочевидное говно

Nikolay
31.03.2017
10:19:27
Да

Artem
31.03.2017
10:19:30
потому что легаси си(++) код им полон всегда

а с питоном все иначе)

Lulz
31.03.2017
10:20:07
у меня знакомый с фамилии такой же(Борзилов) подобное кидал в чатик

всякие задачки

!

Artem
31.03.2017
10:20:57
занимательный факт

Lulz
31.03.2017
10:21:15
для чатика по питону

Artem
31.03.2017
10:21:18
его тоже можно приберечь для вопроса на собеседовании

Lulz
31.03.2017
10:21:40
кого? Леху или легаси си?

Artem
31.03.2017
10:21:54
обоих

Google
Lulz
31.03.2017
10:22:14
Леха == легаси си

Spacehug
31.03.2017
10:23:02
Леха = Леха » легаси си

(Не знаю Леху, есичо)

Lulz
31.03.2017
10:23:23
он тебя знает

Spacehug
31.03.2017
10:23:29
А хурма та будет равна 1: 2, 2:1, 4:4

Vasiliy
31.03.2017
10:31:16
вот собеседуя на сишника/крестовика, имеет смысл спрашивать разное неочевидное говно
Отвечай на это всегда "неопределенное поведение", 2 раза из 3 угадаешь

А если скажут "нет, определенное", говори "смотря по какому стандарту"

Это уже 3 из 4 будет

Centrino
31.03.2017
10:35:01
спасибо за лайфхак

Lulz
31.03.2017
10:39:48
+

Aragaer
31.03.2017
10:40:50
есть разница между undefined behavior и implementation defined

первое - неопределенное поведение. Второе - зависит от компилятора и библиотек, но если какое-то поведение есть, то оно точно останется таким

пример implementation defined - передача нуля, отрицательного числа или очень большого числа в системный вызов listen

Vasiliy
31.03.2017
10:43:01
Есть ещё unspecified behavior, кроме этого

Если уж совсем точным быть

Aragaer
31.03.2017
10:45:02
а еще можно делать загадочные вопросы вида - "вот эта загадочная конструкция что сделает? неправильно, вполне конкретную штуку"

типа float x = 0.1; *(char *) &x = 2; printf("%f\n", x);

Rocket
31.03.2017
10:46:08
Vasiliy
31.03.2017
10:46:17
Ну если ты не компиляторщика берёшь и не профессионального легаси-ассенизатора, это бессмысленные вопросы

Aragaer
31.03.2017
10:46:41
угу

Google
Aragaer
31.03.2017
10:47:08
но человек должен сказать "ой, я не знаю точно внутренний формат флоата", а не "все навернется, так делать нельзя"

Vasiliy
31.03.2017
10:47:59
Легаси-ассенизатор - археолог?
Археолог в конкретной субстанции)

Centrino
31.03.2017
10:48:14
-почему вы пришли в нашу компанию? -я Легаси-ассенизатор - археолог

Aragaer
31.03.2017
10:49:38
эмбеддед программист тоже вполне должен сообразить

если О_о, то человек видимо не очень понимает, что происходит внутри компьютера

Vasiliy
31.03.2017
10:50:09
Или геймдев старой закалки

Aragaer
31.03.2017
10:50:21
мы говорим про С и С++

в которых указатели и байтики это суровая правда жизни

я не говорю, что такой код писать надо. Но как минимум надо понимать, что такой код совершенно легален и его результат вполне корректно определен

Vasiliy
31.03.2017
10:51:56
Полагаться на определённый формат флоата в большинстве случаев это всё-таки о_О

Vasiliy
31.03.2017
10:52:16
Не в смысле не понимаю, а в смысле но зачем

Близко к железу, да, бывает

Aragaer
31.03.2017
10:53:01
эм

я не говорю о формате флоата

правильный ответ - "мы поменяем один байт во флоате, но это все равно останется каким-то флоатом, просто я не знаю каким"

я сам формат флоата узнал от силы месяц назад - раньше как-то без этого жил.

Artem
31.03.2017
10:54:37
Еще задачка для ценителей def func(): return [4] a=1 a=a[0]=func() b = eval(str(a))простой вопрос: чему равно а? вопрос сложнее: чему равно b?

второй вопрос только для 3 питона

Google
Aragaer
31.03.2017
10:55:39
мне почему-то кажется, что a=4, а b="4"

или b=4

Spacehug
31.03.2017
10:56:10
a=a[0]=func() Да ну тебя нафиг а )))

Aragaer
31.03.2017
10:56:12
хотя не, очень странно выглядит

Artem
31.03.2017
10:56:31
Если без запуска, то респект

Если с запуском, то непонятно, зачем.

Aragaer
31.03.2017
10:57:32
ок, я не понимаю, что тут происходит

Admin
ERROR: S client not available

Aragaer
31.03.2017
10:57:53
b=a[0]=func() не пашет

a=a[0]=[4] пашет

a=a[0]=[1,1]

тоже пашет

Andrew
31.03.2017
11:00:08
Если без запуска, то респект
на самом деле я сначала даже засомневался писать и думал напишу и удалю чтоб не позориться

Artem
31.03.2017
11:01:20
ок, я не понимаю, что тут происходит
то, что питон - не си и a=b=c это не несколько присваиваний, а одна цепочка, и работает она слева направо

Vasiliy
31.03.2017
11:07:17
а, еще про заковыристые вопросы про c++. хорошо знать разницу между sequence points (c++<11) и sequencing (c++11 и дальше). Почти совершенно бесполезно, но впечатляет.

Artem
31.03.2017
11:08:28
Разница в названии

Разве нет?

Andrey
31.03.2017
11:08:44
а разгадка проста >>> def foo(): ... a = 1 ... a = a[0] = f() ... ... >>> import dis >>> >>> >>> dis.dis(foo) 3 0 LOAD_CONST 1 (1) 3 STORE_FAST 0 (a) 4 6 LOAD_GLOBAL 0 (f) 9 CALL_FUNCTION 0 12 DUP_TOP 13 STORE_FAST 0 (a) 16 LOAD_FAST 0 (a) 19 LOAD_CONST 2 (0) 22 STORE_SUBSCR 23 LOAD_CONST 0 (None) 26 RETURN_VALUE

Artem
31.03.2017
11:09:09
Чуваки сказали, что тип сиквенс поинт это неочевидно звучит, поэтому давайте запутаем вас переименованием терминов

Google
Lulz
31.03.2017
11:09:11
ээээ ну круто

Vasiliy
31.03.2017
11:09:54
Разве нет?
не совсем

Artem
31.03.2017
11:10:57
А где почитать? С ходу не гуглится, по стандарту искать долго

Сергей
31.03.2017
11:11:08
/help

Vasiliy
31.03.2017
11:11:47
http://stackoverflow.com/questions/4176328/undefined-behavior-and-sequence-points/4183735#4183735

если совсем грубо, стандарт раньше говорил про точки, в которых комплитор должен остановить и закончить все эффекты и сайд эффекты, а сейчас стандарт описывает порядок выполнения (в общем случае неоднозначно), а компилятор должен такие вещи сам понимать исходя из правил

Artem
31.03.2017
11:16:15
Ага, я понял

Andrew
31.03.2017
11:28:21
раз тут сегодня задают каверзные вопросики) у меня тоже парочка есть) x = [1,2,3,4] x.append(x) что тут будет? x = {} y = {} x['y']=y y['x']=x и тут? x = 7 7 == x > 4 что вернет?

Centrino
31.03.2017
11:30:11
1)[[...]] 2)[[Ellipsis]]
как? как это работает?

Сергей
31.03.2017
11:30:25
в 1 будет адок)

3 - тру

2 хз

тоже какая-то бнопня

Скрудж
31.03.2017
11:31:23
Во 2 и там, и тут будут пустые словари

Нет?

Centrino
31.03.2017
11:31:43
нет

Сергей
31.03.2017
11:31:50
2 там будет аналогично первому

только не со списком, а со словарем

Centrino
31.03.2017
11:32:07
я никогда не задумывался что кто-то будет класть список сам в себя

Сергей
31.03.2017
11:33:06
ну а так как там всего лишь ссылка на список, то будет там странная штука

Centrino
31.03.2017
11:33:09
def func(): return [4] a=1 a=a[0]=func() Как вот это работает? не понимаю по dis что происходит

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