Python

파이썬(Python) 기초 예제 샘플 코드로 배워보기

파이썬 기본 문법

문자열 출력

print를 사용하여 Hello World를 출력해 봅니다. 보통 언어를 시작하면 처음에 해보는 습관적인 행동이랄까요?? 언어를 배우게되는 책들을 보면 대부분 기본적으로 Hello World를 출력하는 예제를 코딩하게됩니다.

print문을 단독으로 실행시 앞에 공백이 있으면 오류가 발생됩니다.

print("Hello World")

#print문 단독 실행히 앞자리에 빈자리가 있으면 오류 발생
 print("Hello World")

[실행결과]

*를 사용하여 문자열을 반복하여 출력할 수 있습니다.

문자열 슬라이싱(Slicing) : 문자열 자르기

대괄호를 사용하여 문자열에 접근하기위해 인덱스번호를 사용합니다.  [-1]은 마지막의 문자를 반환합니다.

범위를 지정하여 출력이 하고 싶은 경우 [시작위치 인덱스:종료위치 인덱스] 처럼 사용합니다. 

a = "Hello World"
 
print (a)
print (a[0])
print(a[6])
print (a[0:6])
print(a[7:])
print (a[-1])
print(a[:4])

입력

사용자로부터 입력값을 받기위해 input문을 사용합니다. 자료형을 지정하지 않는 이상 기본적으로 문자열 형태로 입력값을 받아들입니다. 코딩 중에 실수로 엔터키를 눌렀을 경우 파이썬은 스스로 코드가 완성되지않았다고 판단되는 경우 …로 표시되며 이어서 코드를 작성할 수 있습니다. 

a = input("이름을 입력하세요:")
b = int(input("나이를 입력하세요:")

[실행결과]

들여쓰기

파이썬은 중괄호{ }를 사용하지 않습니다. 중괄호 대신 들여쓰기를 해야합니다. 들여쓰기를 할 때에도 주의가 필요합니다. 탭(Tab)키를 사용하여 들여쓰기를 하였을 경우에 계속 Tab키를 사용하여 들여쓰기를 하는 경우 문제가 되지는 않습니다. 그러나 스페이스바를 사용하여 들여쓰기를 하였을 경우 첫 시작 들여쓰기의 스페이스 개수에 무조건 맞추어야합니다. 빈공간을 2개를 사용하여 들여쓰기를 하였다면 다음 코드를 작성시에도 빈공간 2개로 들여쓰기를 해야하며, 그렇지 않으면 예외 오류가 발생됩니다.

들여쓰기를 다르게 하는 경우 오류 발생

주석

파이썬에서 주석은 해시기호(#)을 사용합니다. 여러 줄을 주석처리해야하는 경우 삼중 따옴표(“””)를 사용합니다.

자료형

파이썬은 변수를 선언할 때 변수타입(자료형)을 지정하지 않습니다. 와 뭐 이런 귀찮음을 없애주는 언어가 있을까요? 

하지만 변수의 형변환을 할때는 필요합니다.

a = 20
b = "Hello"
c = 3.14

print a+c  //오류 발생됨
print (a+c)

[실행결과]

SyntaxError: Missing parentheses in call to “print”. Did you mean print(a+c)?

[실행결과]

변수의 타입을 확인하는 방법은 type키워드를 사용합니다.

a = [1,2,3,4,5]
b = 'a'
c = 10
d = "Hello"

[실행결과]

print(type(a))
<class 'list'>

print(type(b))
<class 'str'>

print(type(c))
<class 'int'>

print(type(d))
<class 'str'>

문자열 포맷팅

시언어와 사용방법이 같습니다.

%dint
%fdouble
%sstr

format()메소드를 사용하는 방법

a = "My name is {}".format("Hong gildong")
print(a)

#실행결과
My name is Hong gildong


b = 'temp {}'.format("1, 2, 3")
print(b)

#실행결과
temp 1, 2, 3.14

c = "{0} x {1} = {2}".format(1, 2, 1*2)
print(c)

#실행결과
1 x 2 = 2


d = "{} x {} = {}".format(1, 2, 1*2)
print(d)

#실행결과
1 x 2 = 2

문자열 함수

긴 코드 연결

긴 코드 작성시 연결해주기위해 혹은 가독성을 높이기 위해 역슬러시를 사용하여 줄바꿈 처리를 합니다.

a ="조 바이든 미국 민주당 대선 후보가 \ 
미국의 46대 대통령에 당선됐다고 CNN과 AP통신이 보도했습니다. \
CNN은 미국 동부시각으로 7일 오전 11시 25분, \
우리 시각으로는 오늘 새벽 1시 25분에 바이든 후보가 \
대통령에 당선됐다고 보도했습니다."

print(a)

#실행결과
조 바이든 미국 민주당 대선 후보가 미국의 46대 대통령에 당선됐다고 CNN과 AP통신이 보도했습니다. CNN은 미국 동부시각으로 7일 오전 11 시 25분, 우리 시각으로는 오늘 새벽 1시 25분에 바이든 후보가 대통령에 당선됐다고 보도했습니다.
a = 1000 + \
    2000 + \
    3000
print(a)

#실행결과
6000    
    

긴 문자열을 여러줄로 할당하는 방법

따옴표 3개를 사용하여 묶어줍니다. 개행문자없어도 줄바꿈 자동 처리됩니다.

a ='''조 바이든 미국 민주당 대선 후보가 
미국의 46대 대통령에 당선됐다고 CNN과 AP통신이 보도했습니다.
CNN은 미국 동부시각으로 7일 오전 11시 25분,
우리 시각으로는 오늘 새벽 1시 25분에 바이든 후보가
대통령에 당선됐다고 보도했습니다.'''
print(a)

#실행결과
조 바이든 미국 민주당 대선 후보가
미국의 46대 대통령에 당선됐다고 CNN과 AP통신이 보도했습니다.
CNN은 미국 동부시각으로 7일 오전 11시 25분,
우리 시각으로는 오늘 새벽 1시 25분에 바이든 후보가
대통령에 당선됐다고 보도했습니다.

이스케이프 

\n줄 바꿈
\t탭(Tab) 키 눌른 만큼 공백적용
\\\를 표시
\’‘를 표시
\”“를 표시

함수(메서드) 정의

파이썬(Python)은 def 키워드를 사용하여 함수를 정의합니다.

def plus(x, y):
    return x+y
result = plus(10,20)
print (result)

[실행결과]

구구단을 출력해주는 함수를 만들어보자

>>> def gugudan(m):
...     for n in range(1, 10):
...             print(f'{m} * {n} = {m*n}')
...
...
#5단 만들기
>>> gugudan(5)
#실행결과
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
5 * 6 = 30
5 * 7 = 35
5 * 8 = 40
5 * 9 = 45

return문을 사용하여 값 돌려주기

>>> def sum(x,y):
...     return x+y
...
>>> print(sum(10,20))
30

익명함수 Lambda 사용 예제

a = lambda x: x+100
print(a(200))

#실행결과
300


a = lambda x: x+100
b = a(200)
c = a(300)
d = b + c
print(d)

#실행결과
700

map(함수, 리스트)

a = list(map(lambda x: x*2, (range(0, 10))))
print(a)

#실행결과
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

reduce(함수, 순서형 자료)

>>> from functools import reduce
>>> reduce(lambda x,y: x+y, [1,2,3,4,5])
15
>>>

filter(함수, 리스트)

>>> list(filter(lambda x: x<5, range(10)))
[0, 1, 2, 3, 4]
>>>

데이터 타입 알아보기

■조건문 if-elif-else

a = 70
b = 80
c = 90

if a > b:
	print("a는 b보다 크다")
elif a==b:
	print("a와 b는 같다")
else:
	print("a와 b보다 작다.")

#실행결과
a와 b보다 작다.
a = 70
b = 80

if a%b == 0:
...     print("true")
...elif a%b !=0:
...     print("false")
...

#실행결과
false

■반복문 : for , while

a = [1,2,3,4,5,6,7,8,9,10]

for item in a:
    if(item%2 == 0):
    	print("짝수 출력:", item)
        

#실행결과
짝수 출력: 2
짝수 출력: 4
짝수 출력: 6
짝수 출력: 8
짝수 출력: 10

break문을 사용하여 중간에 반복문을 빠져나올 수 있습니다.

a = [1,2,3,4,5,6,7,8,10]
for i in a:
	if i> 5:
    		print("정지")
        	break

for문을 사용하여 구구단 프로그램 만들기

#f문자열을 사용하여 처리하기
a = 2
for i in range(1,10):
	print(f'{a} * {i} = { a*i }')

#실행결과
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
>>> a = 1
>>> while a <=20:
...     print(a)
...     a = a + 1
...

#실행결과
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

사용자가 입력한 값 만큼 반복하여 출력합니다.

a = int(input())

i = 0
while i < a:
    print(i)
    i += 1

패키지 생성 및 모듈 생성 그리고 불러오기 (Import)

[Python] 파이썬 패키지(Package), 모듈(Module) 개념 및 예제 : 패키지, 모듈을 만들고 불러오기(import)

예외처리 : try, except

오류가 발생하였을 때 어떻게 처리할 것인가를 정의합니다.

>>> def utilplus(a,b):
...     try:
...             if a/b == 0:
...                     print("나눔 결과:",a/b)
...             else:
...                     print("나눈 값이 0 이 아님:",a/b)
...     except:
...             print("0으로 나눌수 없어요.")
...
>>> utilplus(10,2)
나눈 값이 0 이 아님: 5.0


>>> utilplus(10,0)
0으로 나눌수 없어요.
>>>

클래스(class) 생성 및 생성자(__init__) 사용 방법

[REFERENCE]

파이썬 자습서

Python/문법

blog.myungseokang.dev/posts/python-basic-grammar1/

wikidocs.net/book/2

파이썬자습서의 경우 사이트에 들어가면 기본 언어는 영어로 설정되어있습니다. 한국어로 변경하여 볼 수 도 있습니다.

[추천사이트]

Python 3.9.1rc1 문서

www.tutorialspoint.com/python/

wikidocs.net/book/1

Leave a Reply

error: Content is protected !!