#python #anaconda #jupyter-notebook #visual-code #html #css #javascript #http

제목클래스 파트 관련 질문드립니다!2022-11-10 20:47
작성자
import random
class randNum:
    def __init__(self, num = random.randint(0,2)):
        self.num = num
       
    def fself):
        return self.num

a = randNum()
print(a.f())
b = randNum()
print(b.f())
c = randNum()
print(c.f())

위 코드는 객체를 생성할 때 마다 각각의 객체에 해당하는 숫자를 0~2의 숫자가 랜덤하게 할당되게 하기 위해
작성하였습니다. 그런데 왜 실행을 아무리 반복해도 a,b,c에 같은 숫자가 배정되는지 이해하지 못하겠습니다.
물론 우연한 확률로 세 객체에 같은 수가 할당될 수도 있겠지만, 객체가 생성될 때 마다 생성자에 의해 랜덤함수가
실행된다면 높은 확률로 서로 다른 숫자가 할당되어야 한다고 생각하는데, 결과가 예상과 다릅니다.
제가 개념을 잘못알고 있는 부분이 어디인가요?

 
댓글
이전[re]<class> __eq__ 질문2022-11-11
다음[re]클래스 파트 관련 질문드립니다!2022-11-11