본문 바로가기

프로그래밍 언어/파이썬 수학

[Python] 파이썬 기초 문법

개요

파이썬은 다루기가 비교적 쉬워서 인공지능이나 수학분야에도 많이 사용되는 프로그래밍 언어입니다.
파이썬의 기본 문법을 알아보도록 하겠습니다.

파이썬이란?

파이썬은 심플한 프로그래밍 언어입니다.
오픈소스라서 무료로 다운로드해서 사용 가능하고, 많은 곳에서 사용되고 있습니다.

다른 프로그래밍 언어보다 비교적 수치계산이나 데이터 분석에 강점이 있고, 전문 프로그래머가 아니더라도 간단하게 코드를 작성 가능합니다.
현재 파이썬은 인공지능 개발분야에서 폭넓게 사용되고 있는 프로그래밍 언어입니다.

실습환경

실습환경은 아나콘다를 설치하고 주피터노트북(Jupyter Notebook)을 사용하겠습니다.
설치 방법 및 사용방법은 아래 링크를 확인하시고 사전에 설치하시기 바랍니다.

https://iot-lab.tistory.com/113

 

파이썬 아나콘다(Anaconda) 설치하기

개요 아나콘다를 도입하면, Python으로 머신러닝을 조금 쉽게 시작할 수 있습니다. 아나콘다는 많은 수식계산, 머신러닝용 외부 패키지를 내장하고 있는 파이썬 배포판으로 간편하게 파이썬 코딩

iot-lab.tistory.com

https://iot-lab.tistory.com/115

 

Anaconda에서 Jupyter Notebook 사용하는 방법

개요 Jupyter Notebook은 웹브라우저에서 Python을 실행하는 환경으로 Anaconda에 포함되어 있다. Jupyter Notebook 실행하기 실행하는 방법은 아래의 순서입니다. Anaconda Navigator 실행 > Jupyter Notebook "L..

iot-lab.tistory.com

파이썬 기초 문법

1. 변수

파이썬은 변수에 정수, 소수, 문자열 등의 여러가지 값을 대입해서 사용합니다.

문법

변수 = 값

= 의 의미
파이썬에서의 =은 수학에서의 =과 의미가 조금 다릅니다.
대부분의 프로그래밍 언어가 그렇듯이 =은 촤즉의 변수에 우측의 을 대입한다는 의미를 가집니다.

사용법

var = 1234

사용예제

[In]

a = 123     # a라는 변수에 정수 123을 대입
b = 10.12   # b라는 변수에 소수 10.12를 대입
c = "Hello World!!" # c라는 변수에 문자열 "Hello World!!"를 대입

참고로, #은 주석(코멘트)으로서 프로그램으로 인식하지 않습니다.
코드에서 필요한 메모 등을 적을 때 사용합니다.

변수 이름
파이썬에서는 변수의 이름에서 대소문자를 구분합니다.
예로 abcABC는 다른 변수 이름으로 인식하기 때문에 주의가 필요합니다.

2. 출력

print() 함수를 사용하면 변수에 대입되어 있는 값을 출력할 수 있습니다.

사용 예제(1)

[In]

a = 12345
print(a)

[출력]

12345

사용 예제(2)

, 를 사용하여 한꺼번에 여러 개의 값을 출력할 수 있습니다.

print(123, 10.12, "Hello World!!")

[출력]

123 10.12 Hello World!!

3. 연산자

연산자는 여러 가지 연산을 할 때 사용합니다.

연산자 리스트는

  • + : 더하기
  • - : 빼기
  • * : 곱하기
  • ** : 거듭제곱
  • / : 나누기(소수)
  • // : 나누기(정수)
  • % : 나머지 값 구하기

사용 예제(1)

[In]

a = 3
b = 4

c = a + b   # 더하기
print("더하기:", c)

d = a - b   # 빼기
print("빼기:", d)

e = a * b   # 곱하기

f = a ** b   # 거듭제곱
print("거듭제곱:", f)

g = a / b   # 나누기(결과값 소수)
print("나누기(소수):", g)

h = a // b   # 나누기(결과값 정수)
print("나누기(정수):", h)

i = a % b   # 나머지
print("나머지:", i)

[출력]

더하기: 7
빼기: -1
거듭제곱: 81
나누기(소수): 0.75
나누기(정수): 0
나머지: 3

같은 변수에 더하기 빼기를 간단하게 표기할 수 있는 연산자

  • += : 더하기
  • -+ : 빼기

사용 예제(2)

[In]

j = 5
j += 3  # j = j + 3 과 동일
print("j에 3더하기:", j)

k = 5
k -= 3  # k = k - 3 과 동일
print("k에서 3 빼기:", k)

[출력]

j에 3더하기: 8
k에서 3 빼기: 2

4. 유효숫자 e지수 표기

파이썬에서는 실수를 부동소수점 방식으로 표현하기 위해서는 e를 사용합니다.

사용 예제

[In]

a = 123e3   # 123e5 = 123.0 x 1000 = 123000.0
print(a)

b = 123e-3  # 123e-3 = 123.0 x 0.001 = 0.123
print(b)

[출력]

123000.0
0.123

5. 리스트

파이썬에서 리스트는 여러 개의 값을 하나의 변수로 다룰 때 사용합니다.
리스트는 여러 개의 값(요소)을 []에 넣어서 각 요소를 , 로 구분합니다.

리스트 출력하기

[In]

a = [1, 2, 3, 4]
print(a)

[출력]

[1, 2, 3, 4]

특정 요소(인텍스)만 출력하기

각 요소는 앞에서부터 0으로 시작합니다.
리스트 변수에서 세 번째 요소에 접근하려면 b[2]와 같이 표기합니다.

[In]

b = [4, 5, 6, 7]
print(b[2])

[출력]

6

리스트에 요소 추가하기

리스트에 요소를 추가할 경우에는 append() 함수를 사용합니다.
append() 함수를 사용하면 리스트에 가장 뒷부분에 추가됩니다.

[In]

c = [1, 2, 3, 4, 5]
c.append(6)     # 리스트에 6을 추가
print(c)

[출력]

[1, 2, 3, 4, 5, 6]

2중 리스트 만들기

리스트 안에 중첩된 리스트를 만들 수 있습니다.

[In]

d = [[1, 2, 3], [4, 5, 6]]
print(d)

[출력]

[[1, 2, 3], [4, 5, 6]]

리스트 곱하기

* 곱하기 연산자를 사용해서 모든 요소를 개수를 증가시킬 수 있습니다.

[In]

e = [1, 2]
print(e * 3)

[출력]

[1, 2, 1, 2, 1, 2]

6. 튜플

튜플은 리스트와 비슷하게 여러 개의 값을 하나의 변수로 사용할 수 있습니다.
다만, 리스트와 다른 점은 리스트처럼 요소를 추가하거나 삭제, 변경이 불가합니다.
튜플은 ()를 사용하고 ,로 값을 구분합니다.
처음에 선언한 값을 변경하지 않는 경우에 튜플을 사용합니다.

사용 예제

[In]

a = (1, 2, 3, 4, 5)
print(a)

b = a[2]    # 인덱스가 2인 요소를 변수 b에 대입
print(b)

[출력]

(1, 2, 3, 4, 5)
3

요소가 하나뿐인 튜플

요소가 하나만 있는 튜플은 요소 뒤에 ,가 필요합니다.
,를 표기하는 이유는 c = (3)와 같이 사용하면 튜플로 인식하는 것이 아니라
그냥 숫자 3으로 인식되기 때문입니다.

[In]

c = (3,)
print(c)

[출력]

c = (3,)
print(c)

튜플과 리스트를 한꺼번에 변수에 대입하기

리스트나 튜플은 각 요소를 한꺼번에 변수에 대입할 수 있습니다.
[In]

# 리스트
d = [1, 2, 3]
d1, d2, d3 = d
print(d1, d2, d3)

# 튜플
e = (4, 5, 6)
e1, e2, e3 = e
print(e1, e2, e3)

[출력]

1 2 3
4 5 6

7. if문

if문은 조건에 따라 분기 처리를 할 때 사용합니다.

문법

if 조건식:
    분기 처리-1
else:
    분기 처리-2

이 경우 조건식을 만족하면 분기 처리-1을 수행하고 그렇지 않으면 분기 처리-2를 수행합니다.

조건식 연산자

if문을 사용할 때 조건식을 사용해야 합니다.

  • > : 크다
  • < : 작다
  • >= : 크거나 같다
  • <= : 작거나 같다
  • == : 같다
  • != : 같지 않다

사용 예제(1)

[In]

a = 5

if a > 3:   # a가 3보다 크면
    print(a + 2)
else:       # 그렇지 않으면 (a가 3보다 작으면)
    print(a - 2)

[출력]

7

사용 예제(2)

[In]

b = 7

if b == 7:   # a가 7이면(7과 같으면)
    print(b + 2)
else:       # 그렇지 않으면 (a가 7이 아니면)
    print(b - 2)

[출력]

9

8. for문

for문은 반복 처리를 하기위해 사용하는 구문입니다.

문법(1)

리스트의 요소를 바복해서 처리하는 for

for 변수 in 리스트:
    처리

사용예제(1)

[In]

for a in [4, 7, 10]:    # 리스트의 각 요소를 a변수에 대입한다. 
    print(a + 1)

[출력]

5
8
11

문법(2)

range()함수를 사용하여 반복 처리를 하는 for
range(정수)함수는 제공된 정수를 0부터 (정수 - 1)의 수를 반복합니다.

for 변수 in range(정수):
    처리

사용예제(2)

[In]

for a in range(5):  # a변수에 0부터 4까진의 수를 대입한다. 
    print(a)

[출력]

0
1
2
3
4

9. 함수

함수를 사용하면, 여러행에 걸쳐서 수행해야하는 처리를 모아서 처리할 수 있습니다.

문법

def 함수명(인수):
    처리
    return 반환값

위 문법은 인수반환값을 가지고 있는 함수지만, 인수, 반환값는 생략할 수 있습니다.

사용예제(1)

인수와 반환값을 가지지 않는 함수
[In]

def myFunc01:   # 함수명 정의
    a = 1
    b = 2
    print(a + b)

myFunc01()  # 함수를 호출해서 실행

[출력]

3

사용예제(2)

인수를 전달받는 함수
[In]

def myFunc02(c, d):   # 함수명 정의
    print(c + d)

myFunc02(2 + 3)  # 함수를 호출해서 실행

[출력]

5

사용예제(3)

인수를 전달받아 반환값을 반환하는 함수
[In]

def myFunc03(c, d):   # 함수명 정의
    e = c + d
    return e

f = myFunc02(2 + 3)  # 함수를 호출해서 실행하고 반환값 받음
print(f)

[출력]

5

사용예제(4)

인수를 전달받아 복수의 반환값을 반환하는 함수
복수의 반환값은 튜플을 사용합니다.
[In]

def myFunc04(c, d):   # 함수명 정의
    e = c + d
    f = c - d
    return (e, f)     # 튜플로 반환

g, h = myFunc04(4 + 3)  # 함수를 호출해서 실행하고 반환값 받음
print(g, h)

[출력]

7 1