jm_p_op

.py class와 dictionary 불러오는 방식 본문

py

.py class와 dictionary 불러오는 방식

jm_p_op 2023. 4. 3. 11:31
class Monster:
    def __init__(self, name):
        pass

    def print_object(self):
        print(self)


name = 1
dic1 = {1: Monster(name),
        2: Monster(name)}
dic2 = {3: Monster,
        4: Monster}
a1 = dic1[1]
a2 = dic1[1]
a3 = dic2[3](name)
a4 = dic2[3](name)
a1.print_object()
a2.print_object()
a3.print_object()
a4.print_object()

a1:<__main__.Monster object at 0x000001B9B2470F50>
a2:<__main__.Monster object at 0x000001B9B2470F50>
a3:<__main__.Monster object at 0x000001B9B24711D0>
a4:<__main__.Monster object at 0x000001B9B2471210>

 

dic1같은 경우 object 는 이미 불러져있는 상태이다.

따라서 a1과 a2는 동치

dic2는 불를때마다 다른값으로 저장된다.

따라서 a3과 a4는 다른 값이다