본문 바로가기

(4)

Python - 기본적인 자료형과 연산자

앞에서는 변수와 콘솔 출력 함수에 대해 공부하였다. 이번 포스팅에서는 기본적인 자료형과 연산자에 대해 알아보도록 한다. 사람은 숫자와 문자를 자연스레 구분할 수 있지만, 컴퓨터는 그렇지 않다. 그 때문에 컴퓨터로 정보를 처리하려면 꼭 처리할 정보가 어떤 형식인지 명시해주어야 한다. 파이썬은 자료형을 자동으로 판별해주지만, 때에 따라 자료형을 명시해주어야 하는 경우도 발생한다. 자료형을 알고 코딩한다는 것은 내가 처리하려는 정보에 대해 자세히 파악하고 있다는 의미이며, 이는 프로그래머의 아주 중요한 자질 중 하나이다. 우리는 앞서 콘솔 출력 함수인 print 함수를 배웠다. 이제는 콘솔 입력 함수를 알아보자! 지금까지 코드에 연산할 숫자를 코드 안에 변수로 선언했지만, 콘솔 입력 함수를 사용하면 원하는 값..

Python - 변수와 콘솔 출력 함수

이번 공부의 목표는 화면에 원하는 문자를 출력한다 변수와 그 기본 용어에 대해 알고 사용할 수 있다. 콘솔 출력 먼저 콘솔 출력에 대해 배우겠다. '콘솔'은 컴퓨터와 소통하는 창이다. 어떤 기능을 구현했다 할지라도, 결과 화면이 없다면 연산 결괏값을 보여주지 못하여 이 계산기가 제대로 동작하는지 알 수 없다. 즉 기능이 제대로 작동함을 알기 위해 꼭 '콘솔 출력'을 해야 한다. 계산기처럼 필요한 기능을 구현한 뒤 입력값을 넣을 때 콘솔을 통해 확인할 수 있고, 기능에 따라 계산된 결괏값 또한 콘솔 창으로 확인한다. 이렇게 콘솔에 값을 입력, 출력할 수 있으며 이를 위해 콘솔 입출력 함수를 사용한다. 콘솔 출력문은 아래와 같다. print(10) print(10, 20) 결괏값은 1번 줄의 경우 '10',..

Python - 조건문

반복문에이어 파이썬의 조건문에 대해 알아보려고 한다. 예를 들어 영어로 남녀의 성별을 정확히 입력하면 한글 성별을 알려주고, 그 외에는 "알 수 없는 성별"이라고 알려주는 과정은 아래의 순서도로 나타낼 수 있다. 순서도를 해석해보면 예시에 적절한 순서 도임을 알 수 있고, 이를 파이썬 코드로 바꿔보겠다. printf("성별을 입력해주세요 male 혹은 female") gender = input() if(gender == "male"): print("남자입니다") elif(gneder == "female"): print("여자입니다") else: print("알 수 없는 성별입니다") 위 코드를 실행하면 "성별을 입력해주세요"라는 요청에 따라 male 혹은 female을 입력하면 남자인지, 여자인지를 판별..

파이썬(Python)이란?

요기요에서 주니어 백엔드 개발자 채용 공고를 보내주며 지원해보라는 선배의 추천이 있었다. https://boards.greenhouse.io/deliveryherokoreatech/jobs/4505551002#app Junior Backend Developer (Rookie Hero 3기) Seoul Office boards.greenhouse.io 백엔드 개발자인 것도 정말 좋고 원하는 인재상도 매우 관심이 갔지만(내가 그런 인재라고 자신있게 말할 수는 없지만) 사용언어가 파이썬이라는 것에서 매우 절망스러웠다. 12월 5일까지 접수 12월 7일에 코딩 테스트가 진행된다고 하는데... 그 안에 파이썬을 배우는건 둘째치고 코테를 칠만한 능숙한 실력이 될 수 있을지 모르겠다.... 지금이라도 (그동안 배워보..

프로그래밍 공부/Python

Python - 기본적인 자료형과 연산자

728x90

앞에서는 변수와 콘솔 출력 함수에 대해 공부하였다.
이번 포스팅에서는 기본적인 자료형과 연산자에 대해 알아보도록 한다.

사람은 숫자와 문자를 자연스레 구분할 수 있지만, 컴퓨터는 그렇지 않다. 그 때문에 컴퓨터로 정보를 처리하려면 꼭 처리할 정보가 어떤 형식인지 명시해주어야 한다. 파이썬은 자료형을 자동으로 판별해주지만, 때에 따라 자료형을 명시해주어야 하는 경우도 발생한다. 자료형을 알고 코딩한다는 것은 내가 처리하려는 정보에 대해 자세히 파악하고 있다는 의미이며, 이는 프로그래머의 아주 중요한 자질 중 하나이다.

우리는 앞서 콘솔 출력 함수인 print 함수를 배웠다. 이제는 콘솔 입력 함수를 알아보자! 

지금까지 코드에 연산할 숫자를 코드 안에 변수로 선언했지만, 콘솔 입력 함수를 사용하면 원하는 값을 콘솔 창에 직접 입력할 수 있다. input()은 가장 기초적인 콘솔 입력 함수이며, 사용자가 콘솔 창에 입력한 값을 변수에 저장한다.  input 함수의 소괄호() 안에는 입력받는 값에 대한 설명을 적는다

a = input("값을 입력하세요 :")
print(a)

위와 같이 코드를 작성할 경우 사용자가 입력한 값을 그대로 출력한다.

이번에는 콘솔 입력 함수를 사용 시 자료형에 대해 고려해야 할 부분을 알아보기로 하자, 먼저 두 값을 입력받은 뒤 그 값들을 더한 결괏값을 출력해보자

a = input("첫번째 숫자를 입력하세요 :")
b = input("두번째 숫자를 입력하세요 :")
print("두 수를 더한 결과는 :", a + b , "입니다.")

예를 들어 a에 10b에 20을 입력하였다면 결과는 "두 수를 더한 결과는 : 30입니다." 문자열이 나타날 것이라 예측하였을 것이다. 
하지만 결과는 "두 수를 더한 결과는 :1020입니다."라는 결과가 나온다. 

왜 이런 결과가 나왔을까? 

input()은 입력한 값을 '문자열'로 저장한다. 따라서 1과 3을 입력한 뒤 두 값을 + 연산하면, 문자열 두 개를 연결하여 13이 출력된다.
이 때문에 입력받은 값을 숫자 연산을 하고 싶다면 해당 값을 정수형(int) 혹은 실수형(float)으로 변환해야 한다.

a = int(input("정수를 입력하세요 :")
b = float(input("실수를 입력하세요 :")
print("두 수를 더한 결과는: ", a + b + "입니다.")
print(type(a+b))

위의 코드를 실행하였을 때 결괏값은 a 정수와 b 실수를 더한 값이 제대로 출력되고, a + b의 타입은 float 형으로 출력된다.

파이썬에서는 자료형이 자동으로 지정되는 경우가 다수이다. 이때, 변수의 자료형을 확인하고 싶다면 type() 함수로 알아낼 수 있다.

숫자형

숫자형이란 숫자 형태로 이루어진 자료형으로, 수학 시간에 배운 숫자의 구분과 비슷하다.

숫자형 코드예시
정수(int) 1, 2, 0, -10
실수(float) 3.15, -23.1
복소수(complex) j, 2j, 3+2j, 1+2j
16진수 0xDA
02진수 0b110101

정수형은 일반적인 정수이며, 프로그램에서 int형이라 저장된다.
실수형은 소수점이 포함된 숫자로, 프로그램에서 float형이라 저장된다.
복소수형은 허수를 포함한 수를 의미하고, 실수부는 "변수.real" 허수부는 "변수.imag"로, 켤레복소수는 "변수.conjugate()"로 반환한다.
16진수는 Hex의 x를 따와 0x1A 형태로, 2진수는 1과 0으로 표현한다. 이 모든 수는 따로 형변환 없이 연산 가능하며 10진수로 출력한다.

정수 + 실수 --> 실수 
정수 + 복소수 --> 복소수 

의 연산결과가 나타난다.

불(bool)형

참(True)과 거짓(False)을 다루는 'bool'형에 대해서도 알아보자. bool형은 간단한 자료형이지만 프로그램 실행 흐름을 제어할 때 사용하기 때문에 매우 신중히 사용해야 한다. bool형을 초기화하는 형식은 "변수 = True/False"이며, True나 False의 앞글자는 반드시 대문자로 입력해야 한다. 앞에서 간략하게 훑어봤던 '조건문'은 bool형과 바늘과 실의 관계이다.

a = True;

if (a):
	print("참")
else :
	print("거짓")

위 코드는 간단한 조건문 그리고 bool형의 조합이다. a가 'True' 면 '참'이 그 외에는(False 포함) '거짓'이라고 출력되는 코드이다.

자료형의 참/거짓

파이썬에서 True/False를 사용할 때 주의해야 할 것은 주어진 조건에 대한 참/거짓뿐만 아니라 값의 존재 여부에 따라서도 판별한다는 점이다. 다른 컴퓨터 언어에서는 0과 1을 참/거짓으로 많이 사용하지만, 파이썬은 좀 더 범위를 넓혀 값이 존재하면 참, 존재하지 않으면 거짓으로 판별한다. 

값에 대한 참/거짓 구분
"Goorm", "hello"등 어떤 문자열 True
"" False
[1,2,3] True
[], (), {} False
1 True
0, None False

 

  1. "" 안에 문자 혹은 문자열이 '존재'하므로 True를 뜻한다. 즉, 따옴표 안에 문자가 없다면 어떤 값도 존재하지 않음으로 False를 출력한다. 따옴표는 그저 문장의 시작과 끝을 알려주는 도구임을 다시 확인할 수 있다.
  2. 괄호 또한 따옴표와 마찬가지로 생각한다. 괄호는 각 값을 묶어 보관하는 도구일 뿐, 문자를 뜻하지는 않는다.
  3. 일반적으로 숫자 0은 존재하지 않음을 뜻하므로 파이썬에서 또한 False로 나타난다.

이제 파이썬의 세 가지 연산자들에 대해 배워보자

수식 연산자

여러 자료형의 변수를 연산하는 '연산자'에 대해 알아보자. 수식 연산자는 두 개의 피연산자를 요구하는 이항 연산자(binary operator)이다. 

종류 기능 사용 가능한 자료형
+ 두 값을 더한다 정수, 실수, 복소수, 문자
- 왼쪽 값에서 오른쪽 값을 뺀다 정수, 실수, 복소수
* 두 값을 곱한다. 정수, 실수, 복소수
/ 왼쪽 값을 오른쪽 값으로 나눈다. 정수, 실수, 복소수
% 왼쪽 값을 오른쪽 값으로 나눈 나머지를 반환한다.  

연산자는 두 개를 겹쳐 사용할 때 다른 의미를 가지기도 한다.

종류 기능 사용 가능한 자료형
** 왼쪽 값을 오른쪽 값만큼 제곱한다. 정수, 실수, 복소수
// 왼쪽 값을 오른쪽 값으로 나눈 몫을 반환한다. 정수

앞으로 프로그래밍에서 숫자 데이터는 많이 다루게 될 것이다. 특히 * 연산자는 문자 * 숫자 형태로 사용할 수 있다는 예외를 기억하자! 

또 파이썬에서 문자열 + 숫자는 불가능하지만, 정수 + 실수와 같이 연산 대상인 변수가 모두 숫자라면 int형이든 float형이든 자유롭게 연산할 수 있다. 

논리 연산자

논리 연산자는 두 bool형 변수의 논리 연산을 위해 사용하며, 합집합, 교집합, 차집합의 개념과 동일하다. 

종류 기능 설명
and 두 값이 모두 True일 때만 True를 반환한다

T and T = T

T and F = F

or 두 값 중 하나라도 True이면 True를 반환한다

T or T = T

F or T = T

not False이면 True를, True이면 False를 반환한다

not False = True

not True = False

이와 같은 논리 연산자는 추후 조건문과 함께 자주 사용하니 종류와 기능에 대해 숙지하자! 

관계 연산자

관계 연산자는 두 값의 대소 혹은 동등의 관계를 따지는 연산자이다.

종류 기능
== 두 값이 같은지 비교한다
!= 두 값이 다른지 비교한다

<=

오른쪽 값이 왼쪽 값보다 더 큰가 비교한다.

=가 추가되면 크거나 같은지 비교한다.

>

>=

왼쪽 값이 오른쪽 값보다 더 큰가 비교한다.

=가 추가되면 크거나 같은지 비교한다.

 

출력 결과는 어떤 숫자 값이 아니라 True, False로 나오게 된다. 관계 연산자는 반복문, 조건문에서 조건식으로 매우 자주 사용한다.

 

728x90

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python - 문자열(String)  (0) 2019.11.28
Python - 변수와 콘솔 출력 함수  (0) 2019.11.22
Python - 조건문  (0) 2019.11.22
Python - 반복문  (0) 2019.11.22
파이썬(Python)이란?  (0) 2019.11.22
프로그래밍 공부/Python

Python - 변수와 콘솔 출력 함수

728x90

이번 공부의 목표는

  1. 화면에 원하는 문자를 출력한다
  2. 변수와 그 기본 용어에 대해 알고 사용할 수 있다. 

콘솔 출력

먼저 콘솔 출력에 대해 배우겠다. '콘솔'은 컴퓨터와 소통하는 창이다. 어떤 기능을 구현했다 할지라도, 결과 화면이 없다면 연산 결괏값을 보여주지 못하여 이 계산기가 제대로 동작하는지 알 수 없다. 즉 기능이 제대로 작동함을 알기 위해 꼭 '콘솔 출력'을 해야 한다.

계산기처럼 필요한 기능을 구현한 뒤 입력값을 넣을 때 콘솔을 통해 확인할 수 있고, 기능에 따라 계산된 결괏값 또한 콘솔 창으로 확인한다. 이렇게 콘솔에 값을 입력, 출력할 수 있으며 이를 위해 콘솔 입출력 함수를 사용한다.

콘솔 출력문은 아래와 같다.

print(10)
print(10, 20)

결괏값은 1번 줄의 경우 '10', 2번 줄의 경우 '10 20'이다.

변수의 선언과 초기화

변수에 대해 알아보자! 변수는 말 그대로 변하는 수이자, 특정한 형식을 가진 값을 저장하는 공간을 의미한다.

int x = 2

  • 자료형(data type): 변수가 가지는 특정한 형식(1은 정수형, c는 문자형)
  • 변수명: 변수의 이름
  • 변숫값: 변수에 저장한 값

세 요소 중 자료형과 변수명을 작성하여 변수를 생성하면 '변수를 선언했다'라고 말하며 새로 생성된 변수에 처음 값을 입력하는 과정을 '변수 초기화'라고 한다. 

C언어와 같은 엄격한 컴퓨터 언어에서는 변수에 저장할 값에 따라 '자료형'을 직접 작성해야 한다. 때문에 'int b = 10.5'와 같은 잘못된 자료형을 작성할 수 있다. 하지만 파이썬에서는 비교적 이런 실수를 할 가능성이 적다.

#자료형 입력이 필요없는 파이썬 코드 
a = 10 #변수 a 초기화
b = 10.5 #변수 b 초기화

 

추가적으로 동일한 자료형을 가진 변수들은 한 문장의 코드로 한 번에 초기화할 수 있다. 

a, b = 10, 30;

실제 결괏값도 a에 10, b에 30의 정수 값이 저장된 것을 알 수 있다. 
이는 코드의 간결화 작업에 큰 도움이 된다.

 

728x90

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python - 문자열(String)  (0) 2019.11.28
Python - 기본적인 자료형과 연산자  (0) 2019.11.23
Python - 조건문  (0) 2019.11.22
Python - 반복문  (0) 2019.11.22
파이썬(Python)이란?  (0) 2019.11.22
프로그래밍 공부/Python

Python - 조건문

728x90

반복문에이어 파이썬의 조건문에 대해 알아보려고 한다. 

예를 들어 영어로 남녀의 성별을 정확히 입력하면 한글 성별을 알려주고, 그 외에는 "알 수 없는 성별"이라고 알려주는 과정은 아래의 순서도로 나타낼 수 있다.

순서도를 해석해보면 예시에 적절한 순서 도임을 알 수 있고, 이를 파이썬 코드로 바꿔보겠다.

printf("성별을 입력해주세요 male 혹은 female")
gender = input()

if(gender == "male"):
	print("남자입니다")
elif(gneder == "female"):
	print("여자입니다")
else:
	print("알 수 없는 성별입니다")

위 코드를 실행하면 "성별을 입력해주세요"라는 요청에 따라 male 혹은 female을 입력하면 남자인지, 여자인지를 판별하여 알려줍니다.
이 코드는 if 조건문을 사용한 것으로, 7번째 줄 if 옆의 괄호 속 조건의 참, 거짓을 판별하여 그에 알맞은 결과를 실행합니다. 

주석

주석은 일종의 부가설명을 의미하는데, 여러 개발자가 함께 일하다 보면 서로의 코드를 자주 살펴봐야 한다. 그래서 자신이 작성한 코드에 설명을 적어놓는데, 이때 주석(Comment)을 사용한다. 주석 처리된 부분은 컴퓨터를 위한 내용이 아니기 때문에 컴파일 과정을 거치지 않는다.

파이썬에서는 한줄 주석#, 여러 문장을 주석 처리할 때 """ ~ """ (큰따음표 세 개)를 여닫을 때 사용한다.

728x90

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python - 문자열(String)  (0) 2019.11.28
Python - 기본적인 자료형과 연산자  (0) 2019.11.23
Python - 변수와 콘솔 출력 함수  (0) 2019.11.22
Python - 반복문  (0) 2019.11.22
파이썬(Python)이란?  (0) 2019.11.22
프로그래밍 공부/Python

파이썬(Python)이란?

728x90

요기요에서 주니어 백엔드 개발자 채용 공고를 보내주며 지원해보라는 선배의 추천이 있었다. 

https://boards.greenhouse.io/deliveryherokoreatech/jobs/4505551002#app

 

Junior Backend Developer (Rookie Hero 3기)

Seoul Office

boards.greenhouse.io

백엔드 개발자인 것도 정말 좋고 원하는 인재상도 매우 관심이 갔지만(내가 그런 인재라고 자신있게 말할 수는 없지만) 사용언어가 파이썬이라는 것에서 매우 절망스러웠다. 12월 5일까지 접수 12월 7일에 코딩 테스트가 진행된다고 하는데... 그 안에 파이썬을 배우는건 둘째치고 코테를 칠만한 능숙한 실력이 될 수 있을지 모르겠다....  지금이라도 (그동안 배워보고 싶다는 생각이 많았던) 파이썬을 공부하기로 했다.

현재 나는 구름edu에서 진행하는 DevelUp 1기 멤버이기에 2개의 파이썬 강의가 공개되어 있었다. 

그중에 수업 목차가 더 명시적이라고 느껴지는

'바로 실행해보면서 배우는 파이썬 3' 강좌를 수강하기로 한다. 

강의 내용을 요약하면서 블로그에 정리하도록 하겠다. (복습할 때 수월하도록!!)

 

본론으로 들어가자! 

파이썬(Python)이란 무엇인가? 

파이썬은 다른 언어와 비교해서 쉽고 높은 생산성을 가진다. 파이썬 언어의 창시자 '귀도 판 로썸(Guido van Rossum)'은 파이썬이라는 이름의 유래를 그가 즐겨보던 영국의 코미디 그룹 몬티 파이썬에서 따왔다고 한다. 하지만 그리스 신화에 나오는 피톤(Phyton)이라는 이름을 가진 거대한 뱀이 더 유명하여 파이썬 로고에는 뱀 두 마리가 얽혀있는 모양이 되었다. (로고에 박힌 두 동그라미는 뱀의 눈이다)

 

파이썬으로 많은 것을 할 수 있지만 그중 대표적으로 두 가지가 있다.

  1. 웹 프로그래밍
    파이썬으로 웹 프로그래밍을 할 때는 주로 'Django(장고)'라는 오픈 소스 기반의 웹 프레임워크를 사용한다. 
  2. 빅 데이터 분석
    사람의 힘으로 처리하기 힘든 대용량 데이터를 분석하고 데이터 간의 패턴을 알려주며 이를 시각화하여 보여주는 분야이다. (인공지능 개발에 많이 사용된다)

※ 인터프리터 언어 

말 그대로 해석하면 해석기라는 의미를 가지며, 소스 코드를 바로 실행하는 컴퓨터 프로그램 혹은 그러한 환경을 의미한다. 
파이썬은 인터프리터 언어이지만 C, Java 등의 언어는 컴파일러 언어라고 하는데, 그 차이는 아래와 같다. 

인터프리터

  • 용어 정의: 소스 코드를 바로 실행하는 컴퓨터 프로그램 혹은 그러한 환경(실시간 통역)
  • 특징: 소스 코드를 한 줄씩 읽어 들이며 번역과 실행을 동시에 진행하여 별도의 실행 파일이 존재하지 않으며, 잘못된 명령을 수정하기 쉽다. 하지만 소스 코드를 직접 실행하기 때문에 실행 속도가 느리다.
  • 대표 언어: Python, JavaScript 

컴파일러

  • 용어 정의: 특정 프로그래밍 언어를 다른 언어로 번역하는 프로그램(통·번역)
  • 특징: 소스 코드를 목적 코드로 번역하여 옮기기 때문에 실행 가능한 프로그램을 생성한다. 생성된 프로그램은 목적 프로그램 혹은 바이너리 파일이라 부른다. (이미 프로그램을 생성했기 때문에 실행이 매우 빠르다)
  • 대표 언어: C, C++

※ 인덴트 (띄어쓰기, 공백)

파이썬은 다른 프로그래밍 언어보다 인덴트(띄어쓰기, 공백)에 민감한 언어이다. 일반적으로 많이 사용하는 다른 프로그래밍 언어는 중괄호를 이용해서 블록을 표현하는 반면, 파이썬은 공백을 이용하기 때문에 공백을 사용할 때 매우 신중해야 한다. 

 

 

728x90

'프로그래밍 공부 > Python' 카테고리의 다른 글

Python - 문자열(String)  (0) 2019.11.28
Python - 기본적인 자료형과 연산자  (0) 2019.11.23
Python - 변수와 콘솔 출력 함수  (0) 2019.11.22
Python - 조건문  (0) 2019.11.22
Python - 반복문  (0) 2019.11.22