가장 쉬운 부분이 가장 설명하기가 어렵다. 자주 사용하다 보면 익숙해지고 언제부터인가 원래 알았던 것처럼 느껴지게 된다. 그래서 어느 정도 숙련된 사람은 기초에 해당하는 내용을 다른 사람에게 잘 설명하지 못한다고 한다. 필자에게는 변수와 함수가 그랬다. 사용할 때는 잘 자각하지 못하고 사용하지만 다른 사람에게는 뭐라고 설명해야 할 지 난감한 것이다.
오늘은 파이썬 기초 개념, 변수와 함수에 대해서 알아보도록 하겠다.
변수는 값을 담아두는 곳이고, 함수는 기능의 단위이다.
값은 여러가지로 분류할 수 있다. 가장 상위로 값이 하나만 있는 경우와 여러 개의 값을 모아놓은 파이썬 기본 자료형으로 나눌 수 있다. 값이 하나만 있는 경우는 숫자형, 문자형, 불리언(참, 거짓)으로 나눌 수 있다. 자료형에는 튜플, 딕셔너리, 리스트, 세트가 있다.
다음으로 그 외 클래스의 객체가 있다. 파이썬에서는 모든 게 클래스로 이루어져 있다. 튜플이나 딕셔너리, 리스트, 세트도 클래스이지만 개념상 설명하기 위해 분리하였다. 클래스에 대해서는 다음에 기회가 되면 다뤄보도록 하겠다.
참고로 다른 프로그래밍 언어 중에는 숫자형에 float과 double이 있는 경우가 있는데 파이썬에는 float밖에 없다. 파이썬의 자료형에 대해서도 다음 포스팅에서 다뤄보도록 하겠다.
Recommendation 포스팅
값을 저장하는 곳이 아닌 담아두는 곳이라고 정의한 것은 이유가 있다. 일부 객체의 경우에는 값의 주소를 저장하는 경우가 있기 때문이다. 실제 값이 아니라 그 값이 있는 주소를 가리키고 있기 때문에, 다른 곳에서 값을 변경하면 같이 변경된다. 가장 자주 접하게 되는 사례는 판다스의 데이터 프레임이다.
a = pd.DataFrame({"value": [1,2, 3, 4, 5, 6, 7, 8 ,9 ,10 ]})
b = a
_ = a.replace(10, 100, inplace=True)
a.sum()
b.sum()
[출력]
OUt[1]: 145
OUt[2]: 145
a의 값을 바꿨음에도 불구하고 b의 값도 변경되었다. 값의 주소를 참조하고 있기 때문이다. 그런데 코드를 작성하면서 이런 경우를 자각하기는 쉽지 않다. 데이터 프레임이 변경되면 보통 새로운 값의 주소로 변경되기 때문이다. 위의 예에서 _ = a.replace(10, 100, inplace = True)를 a = a.replace(10, 100) 이라고 작성하면 145, 55가 결과로 나온다.
데이터프레임의 값을 새로 복사해서 사용하고 싶다면 copy함수를 사용하면 된다. b = a.copy()라고 입력하면 값을 새로 복사하고 그 곳의 주소를 참조하게 된다.
함수는 특정 기능을 하는 부분을 코드로 구현했다고 생각하면 이해하기 편리하다. 함수의 종류와 사용법에 대해서 다음에 다뤄보도록 하겠다.
오늘은 이렇게 파이썬 기초 개념인 변수와 함수에 대해서 알아보았다. 익숙해지면 어렵지 않지만 처음에는 모든 것이 생소하기 마련이다. 하지만, 깊이 있게 알지 않더라도 어느 정도 개념만 알고 있다면 코딩을 하는데는 어렵지 않다.
'파이썬 > 파이썬 기초' 카테고리의 다른 글
파이썬 컴프리헨션 문법, for문과 if문 한 줄로 리스트 코딩하기 (0) | 2022.01.12 |
---|---|
파이썬 패키지 설치 오류, 깃허브(Github)를 이용해서 해결하기! (0) | 2022.01.12 |
파이썬 람다(lambda) 익명함수란? 사용하는 방법은?! (0) | 2022.01.11 |
파이썬 함수의 종류와 정의, 사용법 알아보기! (0) | 2022.01.11 |
파이썬 pickle 피클 사용법, 저장 걱정을 날려보자! (0) | 2021.12.24 |
파이썬 반복문에 enumerate 사용하는 방법 알아보기! (0) | 2021.12.22 |
웹크롤링 필수 라이브러리 beautifulsoup 사용 방법과 유용한 팁! (0) | 2021.12.21 |
파이썬 입력마라미터 받는 법 - sys, argparse (0) | 2021.12.19 |