(Python 2-4강) String and advanced function concept
210802
String
문자열, 시퀀스 자료형으로 문자형 data를 메모리에 저장한다
영문자 한 글자는 1byte의 메모리공간을 사용한다.
문자열의 각 문자는 개별주소를 가지며 이 주소를 사용해 할당된 값을 가져오는 인덱싱이 가능하다
List와 같은 형태로 데이터를 처리한다
함수 호출 방식
값에 의한 호출
함수에 인자를 넘길 때 값만 넘김
함수 내에 인자 값 변경 시, 호출자에게 영향을 주지 않음
참조에 의한 호출
함수에 인자를 넘길때 메모리 주소를 넘김.
함수 내에 인자 값 변경 시, 호출자의 값도 변경됨
객체 참조에 의한 호출
파이썬은 객체의 주소가 함수로 전달되는 방식
전달된 객체를 참조하여 변경 시 호출자에게 영향을 주나, 새로운 객체를 만들 경우 호출자에게 영향을 주지 않음
변수의 범위
지역변수
함수내에서만 사용
전역변수
프로그램전체에서 사용
전역변수는 함수에서 인자전달 없이 사용가능하다.
그러나 동일한 이름의 변수를 선언하면 지역변수를 우선으로 사용한다
또한, 함수에서 전역변수를 수정할 수 없다.
수정할 시에는 반드시
global키워드를 사용해야 한다
Dynamic typing
처음 함수를 사용하는 사용자가 interface를 알기 쉽게 하기 위해서 type hints 기능을 제공한다
장점
사용자에게 인터페이스를 명확히 알려줄 수 있다.
함수의 문서화시 parameter에 대한 정보를 명확히 알 수 있다.
mypy 또는 IDE, linter 등을 통해 코드의 발생 가능한 오류를 사전에 확인
시스템 전체적인 안정성을 확보할 수 있다.
Last updated
Was this helpful?