(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?