뭐 기초의 경우 많은 유명한 사이트들이 있으니, 많이 보시지를 않으시겠지만
그래도 명색의 파이썬 공부 블로그이기 때문에!
간단하게라도 진행하려고 합니다.
프로그래밍 언어를 하면서 필수적인 반복문들! 그리고 커스터마이징이 가능한 기능만들기!
시작하기 앞서! python은 들여쓰기가 가장 중요합니다!!
들여쓰기란! 한마디로 tab! 만 잘쓰면됩니다. (띄어쓰기도 가능하나!, tab을 추천드립니다.)
>>> for i in range(0,10):
... if i==1:
... print('one')
... if i==2:
... print('Two')
...
one
Two
>>>
들여쓰기가 안될경우
>>> for i in range(0,10):
... if i==1:
... print('one')
... if i==2:
... print('Two')
File "<stdin>", line 5
print('Two')
^
IndentationError: expected an indented block
>>>
다음과 같은 에러가 뜨게 됩니다.
1. for 문
for문은 프로그래밍을 하면서 가장 많이 사용할 기능입니다. for문에는 in 이라는 것과 같이 사용하게 됩니다.
for문의 끝에는 ':'이 붙어야합니다.(안붙게 하는경우도 있지만 나중에 예시를 보여드릴께요)
예시는 아까 들여쓰기 할때 썻던 예시를 보여드리겠습니다.
>>> for i in range(0,10):
... if i==1:
... print('one')
... if i==2:
... print('Two')
...
one
Two
>>>
range() = 어디서부터 어디까지 범위를 정해서 그 범위에 들어가는 값들을 갖고있게됩니다. (default = 1 간격)
range()의 활용에 대해서 추가적으로 언급하자면, range(시작,끝,간격)으로 보시면됩니다.
>>> for i in range(0,10,2):
... print(i)
...
0
2
4
6
8
>>>
다시 for문으로 돌아와서 이렇게 for문을 이용해서 범위를 지정해서 반복수를 지정할수 있고, 파일들을 읽으면서 바로바로 분석이 가능하게끔 할 수 있습니다. 예시 ㄱㄱ
다음과같은 test.txt파일이 있습니다.
ai
bio
binformatics
그리고 다음과 같이 읽을 수가 있습니다.
>>> for i in open('test.txt'):
... print(i)
...
ai
bio
binformatics
>>>
open() = 파일을 읽거나, 쓰거나, 수정할수가 있습니다. open('파일이름',w=쓰기,r=읽기, a=수정하기)입니다. 추가로 encoding에 따라 바꿀수가 있지만 설명은 패스!
tuple,list를 이용해서도 for문이 가능합니다.
>>> a=(1,2,3,4,5) #tuple
>>> for i in a:
... print(i)
...
1
2
3
4
5
>>> a=[1,'a',3,4,5] # list
>>> for i in a:
... print(i)
...
1
a
3
4
5
>>>
안에 조건문도 걸 수가 있습니다.
조건문이란?!
if문을 뜻하며,
if 다음 조건이 붙습니다. 그리고 마무리로 ':'를 이용하고, 다음 컬럼에 조건에 맞는다면 무얼 할거냐? 를 쓰면됩니다.
print라던가, 또 다른 for 문이라던가, 조건문이라던가? 쓰면됩니다.
예시로는 아까 앞에 나왔던 코드이고, i가 1이 될때, if문이 조건이 맞기때문에, print('one')을 실행하게 되고, 마찬가지로 2일때도 마찬가지입니다.
>>> for i in range(0,10):
... print(i)
... if i==1:
... print('one')
... if i==2:
... print('two')
...
0
1
one
2
two
3
4
5
6
7
8
9
>>>
for문을 이용해서 list도 만들 수가 있습니다.
>>> a=[i for i in range(0,10)]
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
이처럼 for문은 다양하게 이용될 수가 있습니다.
2. while문
while문의 경우 for문과 비슷하지만, 차이가 있다면 조건문이 안에 들어갑니다.
조건을 만족할 때까지 loop를 돌리는 것이죠.
>>> a=0
>>> while a<10:
... print(a)
... a=a+1
...
0
1
2
3
4
5
6
7
8
9
>>>
위 코드를 보시면, a=0이고 while에서 a가 10보다 작을때 계속 loop하겠다는 겁니다.
그리고 a가 일단 10보다 작으니 아래 print(a)로 값들이 나타나고, a=a+1로 계속 a에다가 1씩 더해주는 겁니다. 그래서 결국 a가 10이 되었을때, while문 조건을 해당 하지 않기 때문에 loop가 멈춘거죠!
이렇게 while문을 알아 보았고, while문의 경우 프로그래밍하다 보시면 필요할 때가 있습니다. (for문만으로는 안될 경우 while문을 이용하죠. 저의경우!)
3. def
def는 커스터마이징 function을 만들겟다는 것입니다. def의 경우 마지막에다 return함수를 넣어 줘야지! output이 나오게 됩니다.
예시로 두 값들을 더하는 기능을 만든다 라고 했을 경우 다음과 같은 코드를 사용할 수가 있고,
>>> def sum1(x,y):
... result=x+y
... return(result)
...
>>> sum1(10,10)
20
>>>
이때! return이 없다면 다음과같이 결과 값들이 나오지 않게 됩니다.
>>> def sum1(x,y):
... result=x+y
...
>>> sum1(10,10)
>>> a=sum1(10,10)
>>> a
>>>
이렇게 간단하게 def를 설명을 하였고, 설명은 간단하지만 나중에 프로그래밍을 할 때 많이 사용할 기능이니 친숙해져야합니다.
4. lambda
람다(lambda)의 경우 저도 잘 쓰지 않았지만, def와 비슷하다라고 생각하시면 됩니다.(간단한 기능 만들때 사용)
람다의 사용시에 다른 python기능보다 약간 이질적임을 확인할 수가 있습니다.
>>> (lambda x,y:x+y)(10,10)
20
>>> (lambda x,y,z:x+y/z)(10,10,2)
15.0
>>>
간단한 변수의 덧셈 뺄셈을 할때 이용하면 편할듯 합니다.
지금까지 python 기초인 for,while, def, if문에 대해서 이야기 해보았습니다.
다음포스팅도 기초적인 내용을 포스팅을 해보도록 하겠습니다.
'기본적인프로그래밍 > python' 카테고리의 다른 글
[Python] 파이썬 pip 설치 속도 올리기! (2) | 2020.11.09 |
---|---|
[Python] Mortal Fibonacci Rabbits (0) | 2020.11.07 |
[Python,rosalind] Rabbits and Recurrence Relations (2) | 2020.11.05 |
[Python] Data science - numpy 기초 (1) (0) | 2020.07.13 |
[Python] 기초 기능 (사칙연산, 변수지정, 자료구조(list,dict,tuple)) (0) | 2020.07.06 |
댓글