%8.2f
or :8.2f
: 8칸을 비우고, 소수점 2자리까지 표현하는 float 값x is y
or x is not y
: x와 y의 메모리 주소가 같은지 비교Python에서는 "속도 개선"을 위해 자주 사용되는 값인 [-5 ~ 256]은 "정적 메모리"에 미리 담아놓음
→ 그 이외의 값은 선언될 때 메모리 공간 할당
a, b = 100, 100
c, d = 300, 300
print(a is b) # True
print(c is d) # False
and
, or
all()
, any()
sys.getsizeof()
: 객체의 메모리 사이즈를 byte 단위로 반환import sys
print(sys.getsizeof("a"), sys.getsizeof("ab"), sys.getsizeof("abc"))
>>> 50 51 52 # "a", "ab", "abc"의 각 메모리 사이즈 출력
a.capitalize()
: 첫 문자를 대문자로 변환
→ 1개 단어에 적용할 때
a.title()
: 제목 형태로 변환. 띄어쓰기 후 첫 글자만 대문자
→ 여러 개의 단어에 적용할 때
a.isdigit()
: 문자열이 숫자인지 여부 반환
raw string : 특수 기호인 escape 글자(\
)를 무시하고 그대로 출력
raw_string = r"안녕하세요. \n 부스트캠프"
print(raw_string)
>>> 안녕하세요. \n 부스트캠프
함수 호출 방식 : 함수에서 parameter를 전달하는 방식
1. 값에 의한 호출 (Call by Value
)
- 함수에 인자를 넘길 때 값만 넘김
- 함수 내에 인자 값 변경 시, 호출자에 영향 X
2. 참조에 의한 호출 (Call by Reference
)
- 함수에 인자를 넘길 때 메모리 주소를 넘김 (C 언어의 포인터 개념)
- 함수 내에 인자 값 변경 시, 호출자에 영향 O
3. 객체 참조에 의한 호출 (Call by Object Reference
)
- 파이썬의 함수 호출 방식
- 객체의 주소가 함수로 전달됨
- 전달된 객체를 참조하여 변경 시 호출자에 영향을 주지만, 새로운 객체를 만들 경우 호출자에 영향을 주지 않음
function type hints
- 처음 함수를 사용하는 사용자가 interface를 알기 어렵다는 단점을 보완하기 위해,
→ python 3.5 버전 이후로는 PEP484에 기반하여 type hints 기능 제공
함수 작성 가이드 라인
1. 함수는 가능하면 짧게 작성하여 줄 수를 줄일 것
→ 최소 단위의 업무를 수행하도록 함수는 짧게, 여러 개 만들기
2. 함수 이름 (V(동사) + O(목적어))
→ 함수의 역할, 의도가 명확히 드러날 것
3. 하나의 함수에는 유사한 역할을 하는 코드만 포함
4. 인자로 받은 값 자체를 바꾸지 말 것! (임시 변수 선언 or 복사)
→ Call by Object Reference
로 넘어오므로 원래 값이 변경될 수 있음!