엔지니어스 - Engineeus

[Raspbian] Raspberry Pi (라즈베리파이) - [6] 파이썬(Python) in RaspberryPi 본문

Autonomous Tech./IOT

[Raspbian] Raspberry Pi (라즈베리파이) - [6] 파이썬(Python) in RaspberryPi

Engineeus 2020. 1. 9. 00:45
728x90

start()

{


이전 포스트는 vi, vim 사용 방법을 배웠습니다.

https://mickael-k.tistory.com/37

 

 

Raspberry Pi (라즈베리파이) - [5] 리눅스 vi 사용법

start() { 전 포스트는 리눅스 폴더구조 및 명령어에 관하여 포스팅 했었습니다. https://mickael-k.tistory.com/36?category=819692 Raspberry Pi (라즈베리파이) - [4] 리눅스 폴더구조 및 명령어 start() { 이..

mickael-k.tistory.com

 

본 포스트 에서는 라즈베리파이에서 코딩을 하기 위해 파이썬을 사용 할 것 을 대비 하여 기본적인 파이썬 문법에 관하여 다루고 넘어가겠습니다.


파이썬 개요

저희가 파이썬을 사용 하는 이유는 라즈베리파이에서 가장 많이 사용 하는 언어 이기 때문이기도 합니다. 요즘 딥러닝 프레임 워크들을 돌릴때도 Python을 사용 하니 보조 언어로 익혀 두면 유용한 언어라고 생각 합니다.

 

파이썬은 고급 언어 이며 인터프리터(interpreter) 언어 입니다. C나 Java와 같은 경우는 코드 작성 후 컴파일러(compiler)에 의해 변환 후 실행 하지만, 파이썬은 코드 작성 후 바로 실행하여 결과를 볼  수 있는 장점이 있습니다. 또한, 인터프리터를 제공하여 프로그램이 끝나고 결과를 보는게 아닌 중간 중간의 값을 확인 할 수 있으므로 매우 편한 언어 입니다.

 

파이썬의 최고 장점은 간단합니다. 함수 구현도 쉬울 뿐더러 너무나 명료한 언어이기에 모두에게 사랑 받는 언어라고 볼 수 있습니다. 또한, C와 같은 절차지향 언어기 때문에 사람의 의식의 흐름과 같아 이해도 쉽습니다. 

 

하여 많은 장점으로 파이썬을 익혀 두면 여러모로 쓸모가 많을거라고 생각 합니다.


파이썬 실행

라즈베리파이에서 파이썬을 쉽게 실행 하는 방법 몇가지가 있습니다.

 

첫째로, 터미널창을 열어 Python2 또는 Python3를 치면 됩니다. 파이썬 2와 3은 문법이 조금 다룹니다. 새로 배우시는 분들은 3에 적응 하시면 된다고 생각 합니다. 여기선 Pytnon3을 다룹니다.

 

둘째로, 파이썬 IDLE 파이썬 셸 창을 열어 다루면 됩니다. '시작 - 개발 - Python 3(IDLE)'를 클릭 하면 바로 나옵니다.

 

자 그럼 'Hello World'는 쳐 봐야 겠죠?

기억을 더듬어 봅시다. C에서 'Hello World'를 치려면?

int main()
{
	printf("Hello World\n");
	return 0;
}
  

길고 좀 복잡 하죠? 하지만 파이썬은?

print("Hello World")

Welcome to Python..


파이썬 기본 문법

# 주석

파이썬 주석은 '#' 입니다.

#주석주석
print("Hello World")

 

# 변수

파이썬의 또한 엄청난 편리성은 C언어와 같이 계속 int, float과 같이 변수 선언 시 자료형을 선언 할 필요가 없이 동적으로 자동적으로 할당 되기 때문 입니다. 아래 코드를 보면 처음엔 C언어 선언 방법, 그 아래는 Python 선언 방법 입니다.

#C
int i = 0;
float tonight = 12;

#Python
i = 0
tonight 12

 

 

# 변환문자

변환 문자는 문자 형식에 따라 맞춰줘야 한다. C언어에서 %f, %d, %s, %c 와 같은 개념이라고 보면 됩니다.

print("a = %d, b = %f, c = %s" % (30, 3.14, "python"))

위 코드에서 괄화 안의 30은 %d로, 소수인 3.14는 %f로, 문자열인 "python"는 %s로 갑니다.

 

 

# 리스트(list), 튜플(tuple), 집합(set), 사전(dict)

파이썬은 C의 배열(array)라는 개념을 여러가지로 풀어 사용 합니다.

 

첫 번째로, 리스트는 수정이 되고 서로 더하거나 뺄수 있습니다. 아래와 같이 대괄호로 이용 합니다.

list = ["kim", 1, 2, "Lee"]

 

두 번째로, 튜플은 리스트와 다르게 수정이 안됩니다. 사용은 괄호를 사용 합니다.

tuple = ("kim", 1, 2, "Lee")

 

세 번째로, 집합은 위 리스트나 튜플과 다르게 순서를 가지고 출력 하지 못하며 숫자나 문자가 중복되어 집합이 되지 못합니다.

a = set([0, 2, 4, 5, 6])

하지만 합집합, 교집합, 차집합, add(), update(), remove() 등의 함수를 사용 할 수도 있다.

 

네 번째로, 사전은 1:1 매칭을 시키는 테이블 입니다.

idc = { "name" : "kim", "age" : 44, "gender" : "female" }

 

# 제어문 (if, while, for)

파이썬에서는 대표적으로 조건문으로 if ~ else ~를 사용 합니다.

if 문은 영어 말 그대로 만약 이러한 조건이면 발동, else (아니라면) 발동 하는 식 입니다.

if a  > b:  # a가 b보다 크다면
	print("max is %d" % a)   # "max is a"를 출력

while문은 if와 비슷 하지만 반복(loop)을 필요로 할때 사용 합니다.

i = 0
while i < 10:
	print("%d" %i)
    	i += 1

 

for은 while과 비슷 합니다.. 차이라면 몇번 돌지 더 직관적으로 볼 수 있습니다. 본인은 for문을 주로 사용 합니다.

 

for i in range(0, 10):
	print("%d" % i)

위와 같이 하면 0~9 까지 출력을 차례대로 합니다.

 

 

# 함수

함수는 'def'라고 표현 합니다. 컴퓨터 언어는 함수로 시작해서 함수로 끝난다고 할 수 있습니다. 인풋이 있으면 아웃풋이 무조건 있고 이러한게 여러개 생겨서 결국 하나의 함수로 뭉쳐지면 그게 코딩을 하는 작업 입니다. 즉, 코딩은 함수를 만드는 작업 입니다.

def min(a, b):
	if a > b:
    	return b
    else:
    	return a
c = min(10, 20)
print(c)

a에 10, b에 20을 넣고 a와 b를 비교 해 출력 하는 함수 입니다.

 

파이썬의 정말 좋은 점은 함수의 결과물을 2, 3개 이상 return 할 수 있다는 점 입니다. c언어는 이를 하기 위해 구조체를 선언 한다 던지, 포인터를 선언 한다 던지 하는 복잡한 작업들을 해야 하지만 파이썬은.. return a, b, c, d 이렇게 그냥 막 하게 되면 이게 튜플로 묶어지게 되며 출력이 됩니다. 

def calc(a, b):
	plus = a + b
    minus = a - b
    multiply = a * b
    divide = a % b
    return (plus, minus, multiply, divide)
    
e, f, g, h = calc(10, 20)

위 코드는 calc란 함수를 선언 해서 10, 20을 넣은 후 더하기, 빼기, 곱하기, 나누기 연산을 하여 4개의 값을 e, f, g, h의 값에 넣는 구문 입니다.


더 많은 문법들이 있지만 길어 지면 루즈해 지므로 간략히 정리만 했습니다. 나머지는 차근 차근 사용 하며 배우도록 하겠습니다.


}

return 0;

Comments