AFAIK, Python은 선언 시간에 한 번만 함수의 기본값을 평가합니다. 그래서 같은 수를 인수없이 호출 할 때마다 인쇄합니다 다음과 같은 기능을 printRandom
함수 호출시 기본 재평가를 강제 실행합니다.
import random
def printRandom(randomNumber = random.randint(0, 10)):
print randomNumber
를 호출. 수동으로하지 않고 각 함수 호출시 기본값 randomNumber
을 강제로 다시 계산할 수 있습니까?
import random
def printRandom(randomNumber):
if not randomNumber:
randomNumber = random.randint(0, 10)
print randomNumber
감사! 'random_number == None'과'random_number is None'의 차이점은 무엇입니까? – Randomblue
그는 이미 그의 답변에서 이렇게 말했다 :'is'는 object _identity_에 대한 테스트이고'=='는 _equality_에 대해 두 개의 오브젝트를 검사합니다. '1.0은 1 == False'이고'(1.0 == 1) == True'입니다. – Gandaro
그건 [일반적인 질문] (http://stackoverflow.com/questions/132988/is-there-a-difference-between-and-is-in-python) : p. 간단히 말해서,'=='는 객체가 같은 의미인지 (즉 같은 데이터를 보유하고 있는지)를 테스트하고, 객체가 같은지 여부를 테스트합니다. 'None'과 비교할 때'is'를 사용해야합니다. 이것은 당신이 그렇게해야하는 몇 안되는 경우 중 하나입니다 : p. – katrielalex