본문 바로가기

반응형

파이썬

note 3 >>> print(10, 20, 30) 10 20 30 >>> def print_numbers(a, b, c): print(a) print(b) print(c) >>> print_numbers(10, 20, 30) 10 20 30 위의 코드를 적은 이유는 함수 호출 시 '위치 인수(positional argument')'를 기록하기 위해서다. 함수 호출 시 인수(argument) 와 매개변수(parameter) 의 위치가 같아야 함수로부터 원하는 값을 얻을 수 있다. argument : 함수를 호출할 때 입력된 값 parameter : 함수가 열리 때 함수 호출 시 입력된 값을 받기 위한 변수 print(10,20,30) 대표적인 예시 코드로 10, 20, 30 순으로 넣었기 때문에 출력될 때도 10, .. 더보기
note 2 >>> False and True False >>> True and 'red' 'red' >>> True or False True >>> False or 'jh' 'jh' >>> 'python' and True True >>> 'python' and False False 위의 코드들을 적은 이유는 논리 연산에서 중요한 '단락 평가 (Short-circuit evaluation)'를 기록하기 위해서다. and 연산자 : 왼쪽, 오른쪽 피연산자 둘 다 True 이어야 True or 연산자 : 왼쪽, 오른쪽 피연산자 둘 중 하나라도 True 이면 True False and True 코드에서 왼쪽 피연산자가 False 이어서 가 성립되지 않기 때문에 오른쪽 피연산자를 평가하지 않고 왼쪽 피연산자( False ).. 더보기
note 1 >>> a = -5 >>> a is -5 True >>> id(a), id(-5) ex) 10000001, 10000001 >>> a = -6 >>> a is -6 False >>> id(a), id(-6) ex) 10000003, 10000109 두 가지 케이스가 다르게 나오는 이유 (파이썬 3.8.10) 파이썬은 기본적으로 동적 메모리 할당을 베이스로 RAM의 [파이썬 영역]의 [heap 영역]에서 관리한다. 하지만 예외적으로 정수 중 일부인 '작은 정수'(상수값)들은 정적 메모리 할당을 한다. 작은 정수들은 [파이썬 영역]의 [data 영역]에서 관리한다. 정적 메모리 할당은 파이썬 인터프리터가 RAM에 상주하게 되면 메모리 공간을 가지게 되어있다. 변수에 상수값을 대입할 경우 해당 값의 주소 자체.. 더보기

반응형