- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
class NumFactory:
def __init__(self, n):
self.val = n
def timesTwo(self):
self.val *= 2
def plusTwo(self):
self.val += 2
f = NumFactory(2)
for m in dir(f):
mthd = getattr(f,m)
if callable(mthd):
mthd()
print f.val
orion 25.05.2015 19:39 # 0
http://www.mypythonquiz.com
bormand 25.05.2015 19:46 # +1
Я, как сишник, сказал бы, что UB. Разве dir гарантирует какой-то определённый порядок?
Ну и вообще самая идея вызывать всё подряд какая-то упоротая... Этот код же и __init__ вызовет (и все методы object'а, если они там есть?), а там параметров не хватит.
P.S. Про object я нагнал, ибо по print f.val это явно второй питон и олд-стайл класс унаследованный от нихуя.
3_14dar 26.05.2015 16:13 # 0
bormand 26.05.2015 20:05 # 0
https://github.com/python/cpython/blob/master/Objects/object.c#L1335
3_14dar 26.05.2015 20:52 # 0
bormand 27.05.2015 06:19 # +2
kegdan 27.05.2015 07:58 # 0
3_14dar 27.05.2015 16:03 # 0
kegdan 27.05.2015 07:57 # −1
Stallman 27.05.2015 08:32 # 0
1024-- 27.05.2015 09:06 # 0
kegdan 27.05.2015 09:29 # 0
Stallman 27.05.2015 11:02 # 0
1024-- 27.05.2015 11:42 # 0
1. Есть реализация питона (назовём её X), на которую могут опираться те, кто создают свою.
1.1. Если в X есть странные моменты, не описанные в стандарте питона, то их требуется реализовать у себя (например, сортировку того, что по стандарту не должно быть отсортировано).
2. X создана лишь для того, чтобы показать возможности программиста.
2.1. Если в X есть некоторая фича Y, которую программист считает сложнореализуемой или предполагает её нереализуемость, то программист, смотря на реализацию Y, понимает, что Y вполне реализуема.
Автор комментария надеялся пополнить свою коллекцию фактов о питоне, получив комментарии насчёт правдивости этих утверждений.
3_14dar 27.05.2015 16:04 # 0