제로베이스 데이터 스쿨 OT 이후 첫 강의 수업이다.
오늘은 7월 4일과 5일 공부한 내용을 정리해보려 한다.
파이썬 설치부터 데이터 타입, 입출력, 연산, 조건식 등등에 대해 공부했는데 이미 알고있는 내용을 다시 정리하기보단, 강의를 들으면서 내가 잊고 있었던 부분/이건 꼭 기억해야겠다는 부분을 위주로 정리했다:)
제로베이스 데이터 스쿨에서는 먼저 PyCharm 을 설치하여 학습을 진행하고 있다.
어떤 분이 슬랙에 질문을 해주셔서 알게 된 사실인데,
파이썬 기초 문법과 프로그래밍 관점의 파이썬을 배우기 위한 1개월 차 때는 하나의 완성된 프로그램을 만드는 데 목적을 두고자 PyCharm을 사용하고
본격적으로 데이터 분석과 AI 개발을 배우는 2개월 차부터 종강 시까지는 Jupyter notebook을 쓴다고 한다!!
프로그래밍에서 변수란 <데이터가 저장되어있는 메모리 공간>이다.
Age = 10
라고 한다면 컴퓨터 내의 메모리에 10을 저장하고 우리는 그것을 Age라고 부르기로 한 것이다.
정수형(int), 실수형(float), 문자(열)형(str), 논리형(bool)이 있다.
데이터 타입에 따른 메모리의 크기를 결정하기 위해 자료형을 구분짓고 있다.
정수는 메모리가 허용되는 한 제한이 없지만, 실수는 소수점 17-18번째 자리에서 짤려버린다.
원하는 자료형으로 만들어 주기 위해 자료형을 변환할 때가 있는데 파이썬 함수를 사용해주면 쉽게 변환할 수 있다.
str(변수명)
int(변수명)
, float(변수명)
bool(변수명)
input()
을 이용해 사용자에게 데이터를 입력받고,
print()
를 통해 데이터를 출력한다.
input()
을 이용해 입력한 데이터는 항상 문자(열) 자료형이다. 따라서 필요에 따라 자료형 변환 함수를 통해 변수를 생성해주어야 한다!
userInputData = int(input("나이를 입력하세요. : ")) #숫자형으로 입력 받음
데이터를 출력하는 방법에는 총 4가지가 있다.
print(’User name : ‘, userName, ‘ , User age : ‘, userAge)
이때 print()를 연속해서 사용하면 자동으로 다음줄(\n)에 결과가 나타나는데 그냥 바로 옆에 이어서 나타나게 하고 싶다면 아래와 같이 end = ''
를 사용하면 된다.
입력
print(’3 * 5 = ‘, end = ‘’)
print( 3 * 5)
출력
3 * 5 = 15
print(f’User name : {userName} , User age : {userAge}’)
print할 문장 앞에 f를 붙이고 변수명은 {}로 감싸주면 된다.
print(’User name : {}, User age : {}’.format(userName, userAge))
입력할 문장을 쓰고 마지막에 .format()
을 붙여 들어갈 변수명들을 적어준다.
이때,
print(’User name : {0}, User age : {1}’.format(userName, userAge))
같이 인덱스가 붙여져있고 해당 인덱스에 따라 변수들이 순차적으로 들어가는 것이다.
따라서 {} 안에 인덱스를 직접 적어주어 자유롭게 변수명을 출력할 수도 있다.
%s
문자열, %d
정수, %f
실수
print(’User name : %s, User age : %d’ % (userName, userAge))
입력할 문장을 쓰고 마지막에 % ()
을 붙여 들어갈 변수명들을 적어준다. 이때 변수에 맞는 형식 문자를 적어주지 않으면 에러가 뜬다.
※ 소수점 자리수 정하기
%.2f
, %.3f
과 같이 f 앞에 숫자를 적어 실수가 출력될 때의 소수점 자리수를 정해줄 수 있다.
-산술 연산자 : +, -, *, /(나눗셈), %(나머지), //(몫), **(거듭제곱)
-할당 연산자 : =, +=, -=, *=, /=, %=, //=
-비교 연산자 : >, >= , < , <=, ==, !=
-논리 연산자 : and, or , not
import operator
를 사용해서도 산술, 비교, 논리 연산자를 사용할 수 있다.
result = divmod(num1, num2) #튜플 형태
print(’result : {}’.format(result))
print(’몫 : {}’.format(result[0]))
print(’나머지 : {}’.format(result[1]))
import math
를 통해 사용할 수 있다. math.sqrt(2)
는 2의 2제곱근이며, sqrt()
는 항상 2제곱근만 구할 수 있어 다른 3, 4 제곱근을 구하기 위해선 2 ** (1/3)
을 기억하고 있어야 한다.math.pow(2,3)
2의 3 제곱.연산의 결과는 bool 형태이다. 문자열도 아스키 코드를 이용하여 비교 연산을 할 수 있다.
문자를 숫자로 변환하고자 한다면 ord('A')
, 숫자를 문자로 변환하고자 한다면 chr(65)
를 하면 된다.
문자열 또한 비교할 수 있는데, 한 글자라도 틀리면 False가 나오며 ==, != 연산자만 가능하다.
연산의 결과는 bool 형태이다.
A if 조건식 else B
조건식의 결과가 True이면 A, False이면 B를 실행한다.
if문, if ~ else문, if ~ elif문 이 있다.
※ 모든 조건식은 if~ else문으로 변경할 수 있지만, 모든 if~else문은 조건식으로 변경할 수 있는 것은 아니다
※
if ~ :
pass
else :
pass #나중에 코딩하겠다는 의미로 pass를 사용하기도 함.
A if 조건식 else B
조건식의 결과가 True이면 A, False이면 B를 실행한다.
result = A if 조건식 else B
조건식의 결과가 True이면 A, False이면 B 가 result에 할당
몇 주에 걸쳐서 배운 내용을 이렇게 단 시간에 리마인드해보니.. 처음 파이썬을 접했을 때 너무 힘들어했던 기억이 떠올랐어요ㅎㅎ.. '아 이 길은 내 길이 아닌가'라는 생각이 들며 절망한 적도 있지만, 계에속 실습해보고 반복해보니 프로그램이 성공적으로 작동되었을 때의 그 ⚡짜릿함⚡을 느낄 수도 있게 되었었죠. 저도 앞으로 제 꿈을 위해서 될 때까지 노력할테니 같이 으쌰!! 했으면 좋겠습니다:)
혹시 오타나 제가 잘못 알고 있는 내용이 적혀있다면 댓글로 남겨주시면 감사하겠습니다!! 🙇🏻♀️🙇🏻♀️