데이터 공부/PYTHON

파이썬 공부 - 패스트 캠퍼스 1일차

집게사장 2023. 11. 5. 00:19

프로그램 작성의 기본 5단계

 

1) 문제이해

: 제시된 문제를 정확히 이해하고 풀이를 미리 생각하는 게 중요. 데이터 분석 실무에서는 이 과정이 

분석을 통해서 해결하려는 '문제' 도출 과정이 됨! 

 

2) 변수고민

: 프로그램을 작성하기 전 어떤 변수를 사용해야 할지, 정리하고 시작해야 함. 준비한 변수를 사용하지 않는 경우는 괜찮지만, 변수가 부족해서 코드 작성 중간에 별도로 추가하는 일은 지양해야 함!

 

3) 구조 고민

: 미리 구조를 잡아놓고 프로그램 작성하는 것이 좋음. 아직 익숙치 않을 때는 순서도를 그려보고 시작하는 것도 권장!

 

4) 코딩

: 코드를 실제로 작성하는 단계. 코딩은 만져 보면서 하는 것보다 잘 정리된 내용을 옮기는 접근방법을 권장함.

 

5) 검증 

: 5단계의 과정 중 가장 중요한 단계. 구현하려 했던 내용이 잘 이뤄졌는지, 오류는 없는지 필히 검증해볼 것!

 

+) 5단계에 대한 나의 생각 

 1단계 같은 경우에는 이전에 배운 엑셀 강의에서도 강조되었던 내용입니다. 단순히 코드를 짜는 사람이 아니라, 왜? 코드를 짜는지, 무엇을 하고자 하는지가 명확해야 한다는 것. WHY를 강조하는 건 어떤 산업과 직무에서도 마찬가지이며, 저도 일할 때마다 느끼는 점입니다. 

 

본인의 일이 어떤 것인지 명확히 이해하는 사람과 그렇지 않은 사람의 결과물은 천양지차이니까요. 정확한 목표가 있어야 올바른 방향으로 에너지와 자원이 사용되니까요. 이것은 데이터 분석 뿐만 아니라 모든 직무의 공통점이라고 생각되네요. 

 

2, 3같은 경우에는 제 생각을 바꿔준 조언이었습니다. 전 무조건 손을 갖다 놓아야 문제가 해결된다고 생각하는 사람이라, 코딩을 배울 때도 일단 자판에 손을 놓는 경향이 있었습니다. 그런데 강사님께서는 먼저 구조를 정확히 그려놓는 게 중요하다고 하시더군요. 코딩을 건축에 비유하시던데, 제대로 된 설계도를 쥐고 실행하는 걸 강조하신다고 생각됩니다.

 

5단계 또한 어느 산업을 가도 중요한 것이죠. 한 번에 완벽한 결과물이 만들어진다면 그보다 좋을 수 없지만, 사람의 일은 그렇지 않으니까요. 헤밍웨이 또한 초고는 남에게 보여줄 수 없는 결과물이며, 좋은 글은 반드시 초고를 수정하면서 나온다고 했으니까요. 

 

 

1일차 함수 정리 

 

- print : 변수, 문자열, 숫자 등을 화면에 출력하는데 사용하는 가장 기본적 함수

ex) print("햄버거"*3) >>> 햄버거햄버거햄버거

 

- float : 정수(소수점 없는 숫자)를 실수(소수점이 있는 숫자)로 변경 가능 

ex) float(2) >>> 2.0

 

- int : 실수를 정수로 변경 가능

ex) int(1.89) >>> 1

 

- type : 데이터 타입을 확인할 수 있음

ex) type(153.329) >>> float(실수)

 

- divmod : 몫과 나머지를 한꺼번에 출력 가능

ex) divmod(100,3) >>> (33, 1)

 

- ord() / chr() : 아스키코드(ASCII) 변환 함수. ord는 아스키 코드에 따라 문자를 숫자로 출력하고, chr은 숫자를 문자로 출력한다.

ex) 아스키코드에서 120은 x

print(ord('x')) >>> 120

print(chr(120)) >>> x

 

- input : 입력메시지를 화면에 출력하고, 사용자가 입력하면 변수에 값을 저장. 단, input함수는 입력값을 문자열 형태로 저장하기 때문에 숫자로 처러하고 싶다면, int함수를 사용해야 함. 실수를 원할 경우 float함수.

ex)

 

- split : 문자열을 나눠서 리스트로 만들어주는 함수. 수업에서는 input함수에서 값을 입력할 때, 여러 수를 한번에 입력하는 방식으로 사용했다. 주의할 점은 split함수의 () 안에 넣는 기호를 기준으로 구분이 이뤄진다는 것. '/'을 넣으면 입력 시, /를 기준으로 나눠지고, '*'을 넣으면 *기준으로 나눠진다. 아무것도 넣지 않을 경우는 스페이스바를 누르면 된다.

 

- map : 하나의 함수를 여러 행에 적용할 때 쓸 수 있는 함수. input 을 정수형으로 바꾸고 싶을 때, int를 쓰면 되지만, 만일 split함수를 적용해서 여러 값을 입력한다면 에러가 발생한다. int가 하나의 값에만 적용되기 때문. 이때 map 함수를 사용하면 에러 없이 int의 기능을 모든 값에 적용할 수 있다. 

- sep : 함수에서 ,는 띄어쓰기로 입력되지만 sep로 , 입력값을 바꿀 수 있다. 추가로 '\n' 은 다음행으로 값을 옮겨준다

ex)

sep 미사용 시 >>> print(1, 2, 3) >>> 1 2 3

sep 사용

참고 - 자판에 따라 \이나 사진 속 기호로 모양이 입력됩니다.

- end : 행마다 print()함수를 입력하면 각각 다른 행으로 값이 출력되는 걸 볼 수 있다. 자동으로 '\n'이 입력된 걸로 처리하기 때문. end 함수는 그 값을 다른 걸로 바꿀 수 있다.