import collections import random import time # # クラスで実装。 # class EClass: def __init__(self, x, y): self.x = x self.y = y def test_class(n): l = [] t1 = time.time() for _ in range(n): x = random.random() y = random.random() e = EClass(x, y) l.append(e) t2 = time.time() for e in l: x = e.x y = e.y z = x + y t3 = time.time() return (t1, t2, t3) # # クラス(スロットあり)で実装。 # class EClassSlot: __slots__ = ["x"
![Pythonのクラスは遅い - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/512129b851d1a63b5459ae41105baeac9fd52c82/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526mark%253Dhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252F~text%25253Fixlib%25253Drb-4.0.0%252526w%25253D916%252526txt64%25253DUHl0aG9u44Gu44Kv44Op44K544Gv6YGF44GE%252526txt-color%25253D%25252523212121%252526txt-font%25253DHiragino%25252520Sans%25252520W6%252526txt-size%25253D56%252526txt-clip%25253Dellipsis%252526txt-align%25253Dleft%2525252Ctop%252526s%25253D5af39046225ceecd9e4d5cb902611887%2526mark-x%253D142%2526mark-y%253D112%2526s%253D38125db1cc0298ce2505bbeb8b10866c%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark%3Dhttps%253A%252F%252Fqiita-user-contents.imgix.net%252F~text%253Fixlib%253Drb-4.0.0%2526w%253D616%2526txt64%253DQG51YmF0YQ%2526txt-color%253D%252523212121%2526txt-font%253DHiragino%252520Sans%252520W6%2526txt-size%253D36%2526txt-align%253Dleft%25252Ctop%2526s%253D86144cdd63e94aac6cf6c552e80155a0%26mark-x%3D142%26mark-y%3D491%26s%3D80ba27a0bd7816ee746416b2785df320)