# 파이썬 기본자료형



먼저 Python의 자료형에 관하여 알아보겠습니다. 자료형이란 프로그래밍시 사용되는 모든 자료 형태입니다. Python에는 기본적으로 숫자, 문자열, 리스트, 딕셔너리, 튜플, Bool 그리고 Set의 자료형이 존재하는데요, 타언어에서는 변수를 선언할 때 int num, String alpha 등 처럼 자료형을 명시해줘야함과 다르게 Python은 변수 선언시 자료형을 명시하지 않아도 되는 특징을 갖고 있습니다. 


a = 123

b = "Hello Python"


즉, 위와 같이 입력해도 python은 찰떡같이 알아먹습니다. qutation("")으로 감싸여진 것은 str, 일반 숫자로 쓰여 있는것은 int형으로 인식합니다. 변수를 선언함과 동시에 자료형을 입력해주지 않아도 되는 편리함 때문에 문법이 더욱 간결해집니다.


하지만 이것은 무조건 좋은 것만은 아닙니다. 요즘 3.7버전의 python에서는 type hint 라는것이 등장했는데요 함수의 인자 값으로 들어갈 형을 지정해 주는 것입니다. 기존의 python은 함수의 인자에 자료형을 명시해 주지않아 가독성이 떨어지는 경향이 있었습니다. 이는 사용자의 불편함을 초래하였고 이를 해결하려는 노력이 지속되고 있습니다.


그렇기 때문에 변수를 선언할 때에는 변수 이름만 봐도 어떤 것인지 알게끔하는 능력이 정말 중요합니다.




# 숫자


Python에서 숫자란 1, 2, 3, -3 과 같이 정수와, 1.45, 0.11과 같이 실수로 표현되는 수를 의미합니다. 추가적으로 기수 체계가 다른 16진수, 8진수, 2진수도 인식합니다.


 자료형

 선언방법

 정수형

 num = 123

 실수형

 num = 1.45

 16진수

 num = 0x0d

 8진수

 num = 0o07

 2진수

 num = 0b1010


먼저 정수, 16진수, 8진수, 2진수 형태로 변수를 선언하면 python내에서 해당 변수의 자료형을 int로 인식합니다. 즉 0x0d를 입력한다고 해서 0x0d가 저장되는 것이 아니라, 0x0d의 10진수값인 13이 변수에 저장되는 것이죠.


하지만 실수형으로 변수를 선언하였다면 해당 변수의 자료형은 float형이 됩니다. 한 번 확인해 볼까요?



1
2
3
4
5
6
7
8
9
10
11
12
13
14
num = 123
print(type(num))
 
num = 1.45
print(type(num))
 
num = 0x0d
print(type(num))
 
num = 0o07
print(type(num))
 
num = 0b1010
print(type(num))
cs


type()함수는 해당 변수의 자료형을 확인하는 내장함수입니다.



해당 코드를 실행한 결과값 입니다. 제가 말한 대로 실수형을 제외한 모든것은 int형으로 저장이 되었죠?




# 연산자


컴퓨터는 성능좋은 계산기입니다. 그렇다면 당연히 우리는 컴퓨터로부터 수학적인 계산능력을 끌어와 이용해야 할 것입니다. 다른 언어를 배우고 오신 분들이라면 다른언어에는 연산자라는게 있다는 것을 이미 알고 계실 겁니다. 당연히 Python도 타 언어와 동일하게 계산 연산자가 존재합니다. 사칙연산뿐만아니라, 제곱연산자 등 편리한 연산자들이 있습니다.


 연산자

설명

 +

더하기 연산자 

 -

 빼기 연산자

 *

 곱하기 연산자

 /

 나누기 연산자(소수점 반환, 자동 형변환, 3버전기준)

 **

 제곱 연산자

 //

 나눗셈 후 몫 반환

 %

 나눗셈 후 나머지 반환


그렇다면 이번에는 위의 연산자를 이용하여 실제로 변수의 값들을 연산해 보도록 하겠습니다.


1
2
3
4
5
6
7
8
9
10
11
num1 = 10
num2 = 4
 
print(num1+num2)
print(num1-num2)
print(num1*num2)
print(num1/num2)
print(num1**num2)
print(num1//num2)
print(num1%num2)
 
cs



결과 값입니다. 제대로 값이 나오는 것을 확인 할 수 있죠? 그런데 말입니다 정수끼리 나눗셈을 했을때 실수가 나오는 것에대해서 어떤 생각이 드시나요? C언어에서는 정수끼리의 연산을 진행해서 실수가 나오게 하려면 강제 형변환(type casting)을 진행해줘야 했는데요 python은 자동으로 형을 변환해 줍니다. 한번 확인해 볼까요?


1
2
3
4
5
num1 = 10
num2 = 4
 
print(type(num1/num2))
 
cs



결과 값입니다. float형으로 변환되었죠? 이와 같이 파이썬에서는 나눗셈을 시도할 때 강제적인 형변환이 따로 필요하지 않습니다. 정말 간단하지 않나요?





'Dev > python' 카테고리의 다른 글

[python] 리스트 함수  (0) 2019.02.11
[python] 리스트와 Shallow Copy  (0) 2019.02.10
[python] 문자열 함수  (0) 2019.02.09
[python] 문자열  (0) 2019.02.07
[python] 파이썬 설치하기  (0) 2019.02.07

# 파이썬 설치하기




안녕하십니까 코드사기꾼입니다. 



요즘 개발인력시장에서 Python에 대한 수요가 많아진 만큼 이제부터 Python 강의를 업로드해볼까 합니다. 


Python이란 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어이며, 문법이 쉬워 빠르게 배울 수 있는 특징이 있습니다.


간결한 문법과 거대한 오픈소스 생태계 때문에 개발 속도가 정말 빨라서 C언어를 주언어로 사용하던 저한테는 특히나 매력적으로 다가 왔는데요, C언어로 개발했을때의 퍼포먼스는 나오지 않지만 Python으로 개발했을 때의 개발시간과의 등가교환에는 상당히 만족하고 있습니다.


자 그럼 이제부터 Python을 설치해보도록 하겠습니다.



# python.org



링크>>> python.org


링크에 접속해서 Download를 클릭하면 아래와 같은 화면이 출력됩니다.






정말 많은 종류의 python이 있네요! 몇년 이내에 버전 2 python은 지원 종료 되기 때문에 처음 접하시는 분이라면 버전 3 python을 추천합니다. 하지만 버전 2도 레가시 버전으로 의미가 있습니다. 제가 이 글을 작성할 때 기준으로 가장 최신버전은 python 3.6.3이었습니다. 여러분들이 설치를 진행하 실 때 가장 최신 버전을 설치하시면 됩니다.


하지만 여전히 많은 라이브러리가 2점대를 지원하고 있기 때문에 특정 버전이 필요한 것이라면 그 버전을 받으시는것이 중요합니다. 


파이썬은 버전2에서 3으로 넘어오면서 꽤 큰 변화를 겪었는데요 그것에 대해서 잘 정리해 놓은 블로그가 있어 링크를 첨부합니다. ^^


링크 >>> http://www.w3big.com/ko/python/python-2x-3x.html






버전을 선택하였으면 본인이 운용하고 있는 OS, 설치파일 형태 등을 선택해야 하는데요 저는 윈도우즈를 운용하고 있고 실행파일 형태의 설치파일을 원하기 때문에 x86-64 executable installer를 선택하였습니다.




파일이 다운로드가 완료되면 실행 시키시면 됩니다.

위 그림은 실행시켰을 나타나는 첫 화면인데요, Add Python 3.6 to PATH와 Install launcher for all users를 둘다 선택하고 설치를 진행해 줍니다.

Add Python 3.6 to PATH는 정말 중요한 옵션인데요 시스템 환경변수와 관련된 옵션입니다. 


환경변수라는것은 커맨드라인 프롬프트(CMD)에 특정 명령어를 입력하였을때 실행할 파일을 매핑시켜주는 변수입니다. CMD에 python이라는 명령어를 입력했을 때 원래라면 아무것도 실행되어야 하지 않는데 Add Python 3.6 o PATH를 활성화하면 환경변수에 Python 실행파일의 경로가 저장되어 CMD가 인식하여 Python 인터프리터를 실행시켜 줍니다.





Install for all users 옵션을 선택하면 현재 로그온 되어 있는 계정외에 모든 계정에서 python을 실행할 수 있습니다. 추가적으로 필자는 사용자 하위 폴더에 python폴더가 생성되는 것 보다 C드라이브 하위에 생기는 것을 선호하기 때문에 설치 폴더를 변경하였지만, 내버려둬도 무방합니다.


통상적으로 python 설치 폴더는 버전 2번째 자리까지 나타내는데요 3.6.3이면 36으로 3.7.1은 37로 표현합니다. 저는 3.6.3을 다운받았기 때문에 Python36이라는 폴더를 설치폴더로 결정하였습니다.




자 여기까지 오셨다면 설치가 완료된 것입니다. Close 버튼을 누르고 설치가 완벽하게 되었는지 확인해 보도록 하겠습니다.

CMD 창을 열고 python을 입력해 봅니다.




정상적으로 실행이 되셨다면 아래의 코드를 입력해보고 마무리 해보도록 하겠습니다.



1
print("Hello World")
cs


Hello Wolrd가 출력된 것을 확인하셨나요? 정상적으로 출력되면 설치가 제대로 된 것입니다.


'Dev > python' 카테고리의 다른 글

[python] 리스트 함수  (0) 2019.02.11
[python] 리스트와 Shallow Copy  (0) 2019.02.10
[python] 문자열 함수  (0) 2019.02.09
[python] 문자열  (0) 2019.02.07
[python] 기본자료형 - 숫자  (0) 2019.02.07

# 오프라인 지도





해외여행을 준비중이라면 데이터가 활성화 되지 않는 상황에 맞닥드리기 마련이다. 이런 상황에 대비하기위해 오프라인에서도 운용할 수 있는 지도를 사전에 다운로드 받아가는데, 지금부터 그 방법과 어플에 관하여 소개하도록 하겠다.



1. Google Maps


해외에서는 말그대로 '갓'인 구글 형님이 개발하신 지도다. 온라인지도는 기본적으로 지원하며, 길찾기 성능이 타 지도에비해 발군이다. 하지만 구글 형님께서는 데이터가 활성화 되지 않는 지역에 대한 오프라인 지도도 간과하지 않으셨다. 실시간 교통정보를 제외한 모든 경로를 사전에 다운받아서 길찾기에 활용할 수 있다.


또한 오프라인 상황에서도 GPS를 이용할 수 있다는점 꼭 기억해 두길 바란다. GPS는 위성을 이용한 통신으로 데이터가 없는 상황에서도 오프라인 지도만 있으면 나의 정확한 위치를 알 수 있다.


지금부터는 구글지도에서 어떻게 오프라인 지도를 다운받을 수 있는지 그 방법에 대하여 설명한다.




구글지도에 접속해서 가장 왼쪽 상단 햄버거 버튼을 클릭하면 좌측 슬라이드 메뉴가 가시화 된다.





메뉴를 보면 오프라인 지도라는것이 있다. 클릭해본다.




처음에 이 창에 들어왔다면 저기 보이는 지도들은 당연히 없을 것이다. 왜냐면 저건 내가 실제로 다운 받은 것들이니까 ㅎㅎ

새로 오프라인 지도를 만들고 싶다면 '나만의 지도 선택'을 누른다





여기서는 터치및 손가락을 밀어서 원하는 구역의 지도를 다운받으면된다.  나는 샌프란시스코 -> 로스앤젤레스 -> 라스베이거스로 떠나는 일정을 계획하였기 때문에 해당 구역의 지도들을 다운받았다.

오프라인 지도는 확대 정도를 최소로 줄였을때를 기준으로 200MB에서 500MB정도까지의 용량을 차지한다.




2. Maps.ME


구글 지도처럼 일일히 구역들의 지도를 받는것이 귀찮다면 다른어플리케이션을 이용하는 방법도 있다. 물론 용량은 조금더 많이 차지한다.


Maps.ME 지도는 위키피디아지도 API를 이용하여 사람들이 길을 지우고 길을 만들수 있다. 그렇기 때문에 구글에 비해 공신력은 낮으나 일부지역에서는 훨씬 정보가 유용할 수 있다. 게다가 대륙별로 지도를 다운받고, 좀더 큰 지역의 지도를 다운받아야 할때에는 구글 지도보다 나은 성능을 보인다. 용량은 미국 기준 4.5GB정도





안드로이드 및 아이폰 앱스토어에서 다운받을 수 있으며 사용하는 사람이 정말 많다. 여행을 계획중이라면 사전에 지도를 다운받아 가는 것을 권장한다.


+ Recent posts