본문 바로가기
Data Science/Python Introduction

[1일차] 파이썬이랑 친구하기로 함.. (Pycharm 초기 오류, 파이썬 데이터 기초)

by 루크 Luke 2021. 10. 7.
반응형

1일차 강의 수강 계획표 (쉬워보이지만, 나는 너무 많이 도움됐음)

 

[PyCharm]

- 오프라인 강의는 주피터노트북만 사용했는데, PyCharm에 대한 것을 알려줘서 흥미로웠다.

- 개발 환경이 여러가지가 있는 것은 다 장단점이 있는거겠지? 다 써보고 좋은거 쓰면 좋지 뭐.

오 파이참 당신,, 뭔가 멋있는데..?

- 처음에 셋팅할 때 문제가 많았다.

 1) 원래 코딩을 입력하고 Ctrl + Shift + F10을 누르면 Run이 되는데, 나는 오류메시지가 계속 떴다.

 "Error running 'hello (1)': @NotNull method com/intellij/execution/configurations/GeneralCommandLine.getExePath must not return null"

  -> 그래서 구글링을 통해서 해당 상황을 해결했음

  -> File - Setting - Project - Python Interpreter - 창 오른쪽 설정 버튼 - Virtualenv Environment 지정, 확인 - 자동 설치됨

 

 2) 이제 되겠지 싶었는데, 또 오류메시지가 떴다.

"run context configuration is not available during indexing"

   -> 이건 File - Invalidate Caches - Invalidate and Restart 눌러서 파이참 자동 재시작하니까 해결됐다.

 

Pycharm 살짝 멋있는데? 주피터노트북만 보다가 이거 보니까 그런거 같기도..

 

- 복사 붙여넣기를 복제로 바꿔서 진행하니까 너무 편하다. "Ctrl + D"

- 변수 = 데이터가 저장되어 있는 메모리 공간

프린트만 겁나 쳐봤음. 재밌음!

 

[변수]

- 데이터가 저장되어 있는 메모리 공간

- 변수에 접근하기 위해서 메모리 주소가 아니라 '변수명'을 사용하는 것이라고 이해함

변수 이름은 개발자가 정하고(선언), 그 변수에 데이터를 할당함(메모리에 저장) 

- 수학에서의 등호를 코딩에서는 '=='으로 쓴다.

- 변수를 정의할 때 반드시 '초기화'를 해야 함. 초기화를 하지 않으면 아래와 같은 에러 메시지가 나온다.

NameError: name 'num' is not defined

- 변수 사용하는 이유 : 데이터를 재사용하기 위한 목적으로, 프로그램을 효율적으로 관리하기 위해서

- ex) 아무리 코드가 길어도 변수는 짧게 지정해서 효율성 추구 가능

이름이 반복되는데, 이름을 변수로 놓고 name으로 계속 코드 작성하면 편하다.

- 변수 작명법 (권장)

 1) 영문 사용

 2) 첫번째 글자는 소문자로

 3) 가급적 데이터의 의미를 파악할 수 있는 명사 사용

 4) 카멜 표기법(단어 첫머리마다 대분자) 또는 스네이크 표기법(띄어쓰기마다 언더바) 사용

 5) 예약어(파이썬에서 이미 예약된 단어) 사용 금지   ex) import, True, print 등

 6) 특수문자 사용 금지 - 언더바(_)는 사용 가능, 특수문자 사용하면 아래와 같은 에러 뜸

SyntaxError: invalid syntax

 7) 공백문자 사용 금지

 8) 숫자는 사용해도 되지만, 첫 번째 사용 금지 - 처음에 사용하면 아래와 같은 에러 뜸

SyntaxError: invalid syntax

 

[자료형; Data Type]

- 효율적인 메모리 사용을 위해서 데이터를 정수형, 실수형, 문자(열)형, 논리형으로 구분함

- 데이터 타입에 따른 메모리 크기 결정

- 정수 : int
- 실수 : float
- 문자(열) : str
   *문자(열)형은 작은따옴표 또는 큰따옴표를 사용하며, 혼용해서 사용할 수 없다.
- 논리형 : bool (True, False)

- 정수는 메모리가 허용되는 한 무한 사용 가능함

- 실수는 대략 소수점 이하 17~18번째에서 데이터 손실이 일어남

- 숫자를 따옴표('~' , "~")로 묶으면 문자(열)형이 됨

문자(열)형은 더하면 문자 자체가 붙는다

- type()은 이 자료가 어떤 자료형인지 알려주는 함수

- 파이썬은 다른 언어들보다 훨씬 간단한 자료형을 갖추고 있다. (좋다 좋다)

 

[자료형 변환; Type Casting]

- 데이터 타입을 변환하는 것으로, 파이썬에서 제공하는 함수를 이용한다.

- 함수를 외워야 하는구나..

1) 문자(열)형 변환 str()

- 정수(int) → 문자(열) : str()

- 실수(float) → 문자(열) : str()

- 논리(bool) → 문자(열) : str()

 

cf) 다중(행) 주석 처리

- 보통은 #을 앞에 붙여서 주석(Comment) 처리를 한다.

- 여러 줄을 주석처리 하려면 '''~''' 을 활용한다.

다중 주석 처리는 '''~''' 으로 한다.

2) 숫자(정수, 실수)형 변환 int(), float()

- 문자(열) → 정수 : int()

- 문자(열) → 실수 : float()

- 논리 → 정수 : int()

   * True = 1, False = 0

 

3) 그 외 자료형 변환 bool()

- 빈 문자 '' : 빈 문자는 아예 데이터 자체가 없음(= 빈 문자열), str

- 공백문자 ' ' : 공백은 데이터가 있음, str

- 빈 문자 → 논리 : bool(), False

- 공백 문자 → 논리 : bool(), True

- 문자(열) → 논리 : bool()

- print(True + True)는  2로 출력된다.

True+True는 2로 출력되고, int형이 된다..! 신기해.

 

[데이터 입력; input()]

- input() 함수를 이용해서 데이터 입력을 받는다.

- 2가지 형태로 쓸 수 있음

 1) 나눠서 쓰는 방식 

print('키보드를 통해서 데이터를 입력하세요.')
userInputData = input()
print(userInputData)

 2) input() 안에 같이 쓰는 방식

userInputData_2 = input('키보드를 통해서 데이터를 입력하세요.')
print(userInputData_2)

- Input()으로 입력받은 모든 데이터는 문자(열) 자료형이다. (이거 되게 앞으로 중요할 것 같은 느낌이다.)

- 입력 받아서 계산하고자 하면, int, float형으로 바꿔서 처리해줘야한다.

- True, False를 입력 받으려면 bool()으로 변환되도록 , bool(input()) 형태로 코딩.

- 가로, 세로 길이를 입력하면 넓이를 계산해주는 코딩

 

[데이터 출력; print()]

- print(홍길동)

- 콤마(,)를 이용한 데이터 연속 출력 : 콤마로 여러 개를 연결하여 한번에 출력할 수 있음

기본 출력과 콤마(,)로 연결한 출력 화면

- print() 함수는 출력되면 자동으로 개행(다음 줄로 넘어감)이 됨

- 개행되지 않고 한 줄에 표현하고 싶으면, end=" " 를 쓰면 된다.

- 포맷 문자열을 이용한 데이터 출력 : 출력하고자 하는 것 맨 앞에 f를 붙이고, 변수를 {}로 감싼다.

print(f'User name : {userName}')

- 특수문자 : \t(탭), \n(개행)이 가장 잘 쓰인다.

print(f'User name : {userName} \nUser age : {userAge}')

 

[Format() 함수]

- 포맷 문자열(f 활용)을 이용해서 출력하는 것이 아니라, 포맷 함수로 진행

- {}으로 비워두고, .format(변수) 형식을 뒤에 붙임

- 예시

변수 2개면 2개 비워두고 포맷 함수 안에 변수 순서대로 적어주면 된다.

- 순서를 바꾸고 싶다면, {1}, {0} 식으로 지정하면, 앞에 변수가 0번으로 들어가고, 뒤에 변수가 1번으로 들어감 -> 자료구조에 또 나옴

- 이런 식으로 인덱스 식으로 표현할 수 있다.

 

[형식 문자]

- %s : 문자(열)

- %d : 정수

- %f : 실수

- 해당 자료형에 맞는 형식 문자를 변수 자리에 넣어두고, 뒷부분에 변수 언급하는 방식으로 출력

이름(문자열)은 %s, 나이(정수)는 %d로 표현한다.

- 3.14 등 실수인데 %d로 넣으면 3으로 출력됨

- 실수의 소숫점 : % .nf로 표현하며, 소숫점 n째자리까지 구한다고 생각하면 될 듯.

반지름, 원주율 입력 받아서 다양한 방법으로 표현하는 실습을 했다.

- 다시 한번 중요한 것은 input()으로 받은 것은 무조건 문자(열)형이기 때문에, 꼭 변환해야 한다.

 


온라인 강의 1일차 후기

아는 내용이라고 생각하고 복습한다는 생각으로 봤는데,생각보다 잊고 살던 것들이 많아서 도움이 많이 되었다.정말, 인간은 망각의 동물이다.

안다고 생각하는 것도 다시 한번 보는 습관을 들이자.

 

 

- 네카라쿠배 데이터사이언스 오프라인 1기 수강 中

https://zero-base.co.kr/

 

제로베이스 - 밑바닥부터 끝까지 듣는 온라인 강의

무조건 간다! 개발자 스쿨 '네카라쿠배', 끝까지 공부하는 '온라인 완주반', 전문가가 베스트셀러를 해석해 주는 '한달한권' 등 교육 서비스로 삶의 전환점을 제공하는 제로베이스입니다.

zero-base.co.kr

 

반응형

댓글