728x90

for문의 구조

for 변수 in 리스트(튜플,문자열 등):
    코드...
    코드...
    ...

for문은 다음에 배울 while문과 비슷한 반복문입니다.

 

일반적인 for문

for_list=['하나','둘','셋']
for i in for_list:
    print(i)

# 1. for_list라는 리스트의 첫 번째 요소인 '하나'가 i 변수에 대입되고 print(i)에 의해 '하나'가 출력된다.

# 2. for_list라는 리스트의 두 번째 요소인 '둘'이 i 변수에 대입되고 print(i)에 의해 '둘'이 출력된다.

# 3. for_list라는 리스트의 세 번째 요소인 '셋'이 i 변수에 대입되고 print(i)에 의해 '셋'이 출력된다.

 

다양한 for문

for_list=[('하나',1),('둘',2),('셋',3)]
for firsth,second in for_list:
    print(firsth,second)

# 방식은 위와 동일한데 for_list라는 리스트에 ()튜플을 이용하여 for문을 수행합니다.

 

for문과 if문 사용

학생의 점수가 80점 이상이면 "잘했어요!"를 출력하고 80점 이하이면 "아쉬워요!"를 출력하는 예제입니다.

point=[68,91]
for i in point:
    if i>=80:
        print("잘했어요!")
    else:
        print("아쉬워요!")

# 1. point 리스트의 첫 번째 요소(학생)의 점수는 68점으로 if문의 조건이 False이기 때문에 "아쉬워요!"가 출력됩니다.

# 2. point 리스트의 두 번째 요소(학생)의 점수는 91점으로 if문의 조건이 True이기 때문에 "잘했어요!"가 출력됩니다.

 

for문과 continue

continue는 "계속하다"라는 의미로 continue문을 만나면 다시 for문으로 돌아가게 됩니다.

글로는 이해하기 어려울 수 있으니 바로 예제를 진행해볼게요!

앞의 예제에서 80점 이상인 학생에게만 "잘했어요!"를 출력하겠습니다. (보기 편하게 점수까지 출력하겠습니다.)

point=[68,91,60,85]
for i in point:
    if i<80:
        continue
    print("%d점수 잘했어요!"%i)

# 1. if 조건에서 80점 미만이면 continue문을 만나서 바로 for문으로 올라가게 됩니다.

# 1. 68은 continue문에 의해 for문으로 이동 (빨간색)

# 2. 91은 continue문에 걸리지 않고 출력 (초록색)

# 3. 60은 continue문에 의해 for문으로 이동 (파란색)

# 4. 85는 continue문에 걸리지 않고 출력 (보라색)

 

 

for의 친구 range 함수

range는 숫자 리스트를 자동으로 만들어주는 함수입니다. for문과 같이 정말 많이 쓰입니다!

# 1.
for i in range(10):
    print(i)
# 2.    
for i in range(1,11):
    print(i)

※ 주의사항!

range(시작, 끝)

- 시작의 default는 0으로 위 코드 #1.처럼 적어주지 않으면 range(0,10)과 동일한 의미입니다.

- 끝 숫자는 포함되지 않습니다. 즉 끝 숫자-1 까지만 출력됩니다.

그래서 위 코드에서 #1.은 0~9까지 출력되고 #2.는 1~10까지 출력되는 것입니다!

 

range 함수의 활용

1~10까지 더하는 예제입니다.

tot=0
for i in range(1,11):
    tot+=i
print(tot)

# 1. tot의 초깃값은 0입니다.

# 2. tot+=i는 tot=tot+i와 같은 코드입니다.

# 2-1. tot=tot(0)+i(1)  ==> tot=1

# 2-2. tot=tot(1)+i(2)  ==> tot=3

# 2-3. tot=tot(3)+i(3)  ==> tot=6

# 2-4. tot=tot(6)+i(4)  ==> tot=10

# 10까지 반복

# 3. 결과는 1부터 10까지 더한 55가 출력됩니다.

 

Quiz) 1~10까지 곱하는 코드를 작성해보세요!  힌트: 곱하기는 * 입니다.

tot=1 # 곱하기이므로 초깃값을 1로 셋팅!

for i in range(1,11):

    tot=tot*i   #tot*=i 동일한 코드입니다.

print(tot)

 

이중 for문 (구구단)

이중 for문을 가장 이해하기 쉬운 구구단을 만드는 예제입니다.

프로그래밍을 처음 접하시는 분은 이중 for문에서 혼란이 올 수 있는데 최대한 쉽게 설명드릴게요!

for i in range(2,10):
    for j in range(1,10):
        print(i,"*",j,"=",i*j)
    print(i,"단 종료!")

위 코드에서 for i in range(2,10) 코드가 제일 먼저 있으니까 2~9까지 출력이 될 것입니다.

왜 2~9까지 출력인지 이해가 안 가시는 분은 위 range 함수의 활용을 다시 한번 확인해주세요!

두 번째 라인에는 for j in range(1,10) 코드가 있으니 1~9까지 출력될 것입니다.

그럼 flow를 작성해보겠습니다.

# i=2  j=1 : i(2)*j(1)=i*j(2x1)  즉 "2*1=2" 가 출력됩니다.

# i=2  j=2 <j가 1증가됨>: i(2)*j(2)=i*j(2x2)  즉 "2*2=4" 가 출력됩니다. 

# i=2  j=3 <j가 1증가됨>: i(2)*j(3)=i*j(2x3)  즉 "2*3=6" 이 출력됩니다.

# i=2  j=4 <j가 1증가됨>: i(2)*j(4)=i*j(2x4)  즉 "2*4=8" 이 출력됩니다.  (5,6,7,8 반복이라서 9로 넘어가겠습니다.

# i=2  j=9 <j가 1증가됨>: i(2)*j(9)=i*j(2x9)  즉 "2*4=18" 이 출력됩니다.  

# j가 9까지 모두 출력됐기 때문에 for j in range(1,10) 코드(for문)는 종료되고 print(i,"단 종료!")로 인해서 "2단 종료!"가 출력됩니다.

# i=3  j=1 <i가 1증가되고 j는 다시 1부터 시작>: i(3)*j(1)=i*j(3x1)  즉 "3*1=3" 이 출력됩니다. 

# i=3  j=2 <j가 1증가됨>: i(3)*j(2)=i*j(3x2)  즉 "3*2=6" 이 출력됩니다. 

# i=3  j=3 <j가 1증가됨>: i(3)*j(3)=i*j(3x3) 즉 "3*3=9" 가 출력됩니다.

# 계속 반복되면서 9단까지 출력됩니다!

이중 for문이 잘 이해가 안되시는 분은 댓글에 남겨주세요! (저도 처음 공부할 때 이중 for문이 가장 어려웠어용...)

 

리스트 내포 사용

리스트 안에 for문을 포함하는 리스트 내포를 사용하면 직관적인 코드를 만들 수 있습니다.

리스트 내포의 구조
[표현식 for 변수 in 반복 가능한 객체 if 조건]
num=[1,2,3]
result=[]
#1.
for i in num:
    result.append(i*2)
print(result)

#2.
result=[i * 2 for i in num]
print(result)

위 코드에서 #1.과 #2.는 같은 코드인데 #2와 같이 한 줄로 코드를 작성할 수 있습니다.

2개 이상의 for문을 리스트 내포를 사용하여 만들 수 있지만 너무 복잡하여 넘어가도록 하겠습니다.

궁금하신 분은 댓글에 남겨주시면 알려드리겠습니다~!

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 8 (기초5) IF문  (0) 2021.05.19
# 파이썬 - 7 (기초4)  (0) 2021.05.15
# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
728x90

제어문

앞에서 공부한 자료형이 "문자"라면 제어문은 문자를 이용해서 "문장"을 만든다고 생각하시면 될 것 같습니다!

 

IF문

IF문의 구조

if 조건문:
    코드...
else:
    코드...

예를 들어 "배고프면 밥을 먹고 배고프지 않으면 밥을 먹지 않는다."라는 문장이 있을 때 배고프다, 배고프지 않다 라는 조건을 판단하여 결과를 처리해야 하는 경우가 IF문입니다.

 

status="배고프다"
if status=="배고프다":
    print("밥을 먹는다.")
else:
    print("밥을 먹지 않는다.")

# 간단한 코드 설명

# 1. status의 값은 "배고프다"이고

# 2. if status=="배고프다":     => 코드의 의미는 status가 "배고프다"이면

# 3. print("밥을 먹는다.")        => "밥을 먹는다."를 출력한다.

# 4. else:                            => 그렇지 않으면 (배고프다가 아니라면)

# 5. print("밥을 먹지 않는다.") => "밥을 먹지 않는다."를 출력한다.

# 결과: status가 "배고프다" 이므로 "밥을 먹는다."가 출력됩니다.

※주의사항

IF문에 속한 모든 문장에는 아래 #1.와 같이 들여 쓰기를 사용해야 합니다.

만약 #2와 같이 들여 쓰기를 제대로 사용하지 않는 경우 에러가 발생합니다.

JAVA, C 등의 언어를 사용하셨던 분들은 처음에 익숙하지 않을 것 같아요.

(저도 JAVA를 하다가 python을 사용할 때 자주 까먹었던 부분입니다!)

+ 조건문 뒤에 콜론(:)을 붙이는 것도 잊지 마세요! 

#1.
if 조건문:
    코드...
    코드...
#2.
if 조건문:
    코드...
  코드...
    코드...

 

그렇다면 IF 조건문에서 조건문이란?

쉽게 생각해서 참, 거짓을 판단하는 문장을 의미합니다.

example=True
if example:
    print("참!")

example은 True이기 때문에 조건문이 참이 되어 "참!"을 출력하게 됩니다.

 

"3시간 이상 공부했으면 휴식하고, 그렇지 않다면 공부하라"를 출력해보겠습니다.

hour=2
if hour>=3:
    print("휴식하라")
else:
    print("공부하라")

# 간단한 코드 설명

# 1. hour은 2이고

# 2. hour(2)>=3   => 2가 3보다 크거나 같나? False

# 3. 조건문에 만족하지 않기 때문에 "공부하라"를 출력하게 됩니다.

 

and, or, not

x or y   : x 또는 y 중 하나만 True이면 True

x and y : x 와 y 모두 True이면 True

not x    : x가 False이면 True, x가 True이면 False (부정, 반대)

 

or의 예제

"공부를 3시간 이상 했거나, 점수가 100점이라면 휴식하고, 그렇지 않다면 공부하라."를 출력해보겠습니다.

 

hour=2
point=100
if hour>=3 or point==100:
    print("휴식하라")
else:
    print("공부하라")

# 간단한 코드 설명

# 1. hour은 2이고

# 2. point는 100이다.

# 3. hour는 3보다 작아서 False 이지만 point==100 은 True이기 때문에

# 4. "휴식하라"를 출력하게 됩니다.

 

in, not in 예제

나중에 코딩 테스트를 공부하실 때 유용하게 사용되는 부분이니 꼭 알아두시는 것을 추천하겠습니다!

in not in
x in 리스트 x not in 리스트
x in 튜플 x not in 튜플
x in 문자열 x not in 문자열
print(1 in [1,2,3])
print(1 not in [1,2,3])
print('a' in [1,2,3])
print('a' not in 'python')

# 간단한 코드 설명

# 1. 1이 [1,2,3] 리스트 안에 존재하기 때문에 True

# 2. 1이 [1,2,3] 리스트 안에 존재하기 때문에 True이지만 부정이기 때문에 False

# 3. 'a'가 [1,2,3] 리스트 안에 존재하지 않기 때문에 False

# 4. 'a'가 'python' 안에 존재하지 않기 때문에 False이지만 부정이기 때문에 True

 

Quiz) 출력 결과를 예측해보세요!

basket=['apple','banana','orange']
if 'grape' in basket:
    print("있어요!")
else:
    print("없어요!")

정답: 없어요!

 

elif

"공부를 3시간 이상 했으면 휴식하고, 점수가 100점이라면 게임을 하고, 그렇지 않다면 공부하라."를 출력해보겠습니다.

hour=2
point=100

if hour>=3:
    print("휴식하라")
else:
    if point==100:
        print("게임하라")
    else:
        print("공부하라")

if, else만으로는 코드가 복잡하고 지저분해지는데 elif를 사용한다면 이 문제를 해결할 수 있습니다.

hour=2
point=100

if hour>=3:
    print("휴식하라")
elif point==100:
    print("게임하라")
else:
    print("공부하라")

위 코드는 첫 번째 코드와 동일한 코드입니다!

 

# if, elif, else 구조

 

if 조건문:
    코드...
elif 조건문:
    코드...
elif 조건문:
    코드...
...
...
else:
    코드 ...

조건부 표현식

if point >= 80:
    print("잘했어요!")
else:
    print("힘내세요!")

위 코드를 조건부 표현식을 사용하면 아래와 같이 간단하게 표현할 수 있습니다.

print("잘했어요!") if point>=80 else print("힘내세요!")
# 구조
조건이 참일 때의 결과 if 조건문 else 조건문이 거짓일 경우의 결과

조건부 표현식은 가독성이 좋고 코드를 짧게 만들기 때문에 유용하게 사용할 수 있습니다.

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 9 (기초6) for문  (0) 2021.05.22
# 파이썬 - 7 (기초4)  (0) 2021.05.15
# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
728x90

집합 자료형

st1=set([1,2,3])
print(st1)
st2=set("set,study")
print(st2)

집합 자료형은 set을 이용하여 생성할 수 있습니다.

※특징

① 순서가 정해져 있지 않다.

② 중복되지 않는다.

위 st2의 결과를 확인해보면 s와 t가 1개씩만 출력되는 것을 확인하실 수 있습니다!

다양한 집합 구하기

# 합집합
print(st1.union(st2))

# 차집합
print(st1.difference(st2))
print(st2.difference(st1))

# 교집합
st1=set([1,2,3,4,5])
st2=set([3,4,5,6,7])
print(st1.intersection(st2))

결과를 직접 확인해보세요!

집합 자료형 관련 함수

# 값 추가 1개
st1=set([1])
st1.add(2)
print(st1)

# 값 추가 여러개
st1=set([1])
st1.update([2,3])
print(st1)

# 특정 값 제거하기
st1=set([1,2,3])
st1.remove(3)
print(st1)

# add: 값 1개만 추가

# update: 값 여러 개 추가

# remove: 값 삭제

불 자료형

불(boolean)은 True, False를 나타내는 자료형입니다.

a=True
b=False
print(a)
print(b)

불 자료형은 조건문에 많이 사용됩니다. 

# 간단한 조건문
print(1==1)
print(2>1)
print(2<1)

# 1==1: 1과 1은 같나요?  => True

# 2>1: 2가 1보다 큰가요? => True

# 2<1: 2가 1보다 작나요? => False

자료형의 True, False

print(bool("a"))
print(bool(""))
print(bool([1,2]))
print(bool([]))
print(bool(1))
print(bool(0))

정말 간단하게 값이 있다면 True, 비어 있다면 False라고 생각해주세요.

숫자형은 0일 때 False 나머지는 True입니다.

 

복습하기 (드래그로 정답을 확인하세요!)

# 1. 홍길동의 주민등록번호에서 연월일, 뒷자리 수를 나누어 출력

hong="981120-1234567"

# 슬라이싱 사용 yymmdd=hong[:6]

# 슬라이싱 사용 num=[7:]

 

# 2. "2021:05:15" 문자열을 replace 함수를 사용하여 "2021-05-15"로 변환하기

study="2021:05:15"

# study=study.replace(":","-")

 

# 3. 리스트를 이용하여 I Love You 문자열 출력하기

love_list=["I","Love","You"]

# love=" ".join(love_list)

 

# 4. 딕셔너리에서 Key의 Value 출력하기

love_dict={1:"I",2:"Love",3:"You"}
for i in love_dict.keys():
    print(love_dict[i])

출력 결과:

I

Love

You

위와 같은 출력 결과를 만들어보세요!

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 9 (기초6) for문  (0) 2021.05.22
# 파이썬 - 8 (기초5) IF문  (0) 2021.05.19
# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
728x90

기본적인 튜플의 모습

tp=()
tp2=(1)
print(type(tp2))
tp2=(1,)
print(type(tp2))
tp3=(1,2,3)
tp4=(1,2,3,'a',('bc','de'))
tp5=1,2,3
print(type(tp5))

리스트와 비슷한 형태이지만 [] 대괄호로 둘러싸지만 듀플은 () 소괄호로 둘러싸입니다.

리스트는 값을 생성, 삭제, 수정이 가능하지만 튜플은 값을 바꿀 수 없다는 것이 가장 큰 차이점입니다!

또한 위 코드에서 tp2에서 (1) 일 때와 (1,) 일 때의 차이점을 확인해보세요!

(1) 일 때는 int형이고, (1,) 일 때는 tuple인 것을 확인하실 수 있습니다.

즉 튜플은 단 1개의 요소를 가질 때는 요소 뒤에 반드시 콤마(,)를 붙여야 합니다.

tp5 같이 () 소괄호를 생략해도 tp5가 튜플인 것을 확인해보세요!

 

위에서 튜플은 값을 바꿀 수 없다고 했는데 한번 실습을 해서 결과를 확인해보겠습니다!

tp1=(1,2,3)
tp1[0]='a'
#Traceback (most recent call last):
#  File "retry.py", line 2, in <module>
#    tp1[0]='a'
#TypeError: 'tuple' object does not support item assignment

1,2,3으로 구성된 tp1 튜플 객체를 생성하고 tp1의 0번째 요소를 'a'로 바꾸려는 코드입니다.

직접 실행을 해보시면 주석 처리한 에러가 발생할 것입니다!

 

튜플 사용

튜플과 리스트의 차이점은 값을 바꿀 수 없다는 것 빼고는 사용법이 동일하여 간단하게만 사용해보겠습니다.

tp1=('a','b',1,2,3)
print(tp1[0])
print(tp1[0:3])
tp2=('가','나')
print(tp1+tp2)
print(tp1*2)
print(len(tp1))

# tp1[0] : tp1객체(튜플)의 0번째 요소

# tp1[0:3] : tp1객체(튜플)의 0번째부터 2번째 요소까지

# tp1+tp2 : tp1객체(튜플)와 tp2객체(튜플) 요소 합치기

# tp1*2 : tp1객체(튜플)의 요소를 2번 반복 => *2는 곱하기 2와 동일한 의미입니다.

# len(tp1) : tp1객체(튜플)의 길이

Quiz) tp3객체에 tp1객체(튜플)와 tp2객체(튜플)를 합친 후  1,2,3,'가'   를 출력해보세요!

정답: 

tp3=tp1+tp2

print(tp3[2:6])

 

딕셔너리

딕셔너리의 가장 큰 특징은 Key, Value로 구성되어 있다는 것입니다.

ex) 1(Key): 홍길동(Value)   |   2(Key):이순신(Value)   |   3(Key):유관순(Value)

dic1={1:'홍길동',2:'이순신',3:'유관순'}
dic2={'과일':['사과','배','귤'],'동물':['강아지','고양이']}
print(dic1[2])
print(dic2['과일'])

 

# print(dic1[2]) : dic1객체(딕셔너리)에서 Key가 2인 Value를 출력 = 이순신

# print(dic2['과일']) : dic2객체(딕셔너리)에서 Key가 '과일'인 Value를 출력 = ['사과', '배', '귤']

 

딕셔너리 쌍 추가, 삭제

# 추가
dic1={1:'one'}
dic1[2]='two'
print(dic1)
dic1[3]=['three','four']
print(dic1)
# 삭제
del dic1[2]
print(dic1)

딕셔너리 쌍 삭제 방법 : del 객체[요소] 

 

★주의!

딕셔너리의 Key는 변하는 값을 사용할 수 없습니다.

따라서 딕셔너리의 Key에는 리스트를 사용할 수 없습니다. 밑에서 공부하겠지만 딕셔너리도 변하기 때문에 딕셔너리도 Key로 사용할 수 없습니다.

+ 튜플은 변하지 않기 때문에 Key로 사용이 가능합니다.

dic1={[1]:'one'}
#Traceback (most recent call last):
#  File "retry.py", line 11, in <module>
#    dic1={[1]:'one'}
#TypeError: unhashable type: 'list'

dic1={{1:'one'}:'일'}
#Traceback (most recent call last):
#  File "retry.py", line 11, in <module>
#    dic1={{1:'one'}:'일'}
#TypeError: unhashable type: 'dict'

dic1={(1,):'one'}
print(dic1[(1,)])

위 코드를 직접 실행해보세요!

★주의 2!

# Ex1
dic1={1:'one',1:'two'}
print(dic1)

# Ex2
dic1={1:'one',2:'two',3:'four'}
dic1[1]='하나'
print(dic1)

dic1={1:'one',1:'two'} : 초기에 동일한 Key 2개를 생성하면 하나는 무시됩니다.

Ex2에서 1:'one'이 존재하는 상태이고 dic1[1]='하나' 를 입력하면 Key 1의 Value는 '하나'로 변하게 됩니다.

딕셔너리 함수

Key 값 가져오기

dic1={1:'one',2:'two',3:'four'}
print(dic1.keys())

for key in dic1.keys():
    print(key)

Value 값 가져오기

dic1={1:'one',2:'two',3:'four'}
print(dic1.values())

for value in dic1.values():
    print(value)

Key, Value 쌍 가져오기

dic1={1:'one',2:'two',3:'four'}
print(dic1.items())

for key,value in dic1.items():
    print(key," : ",value)

딕셔너리 모든 요소 삭제

dic1={1:'one',2:'two',3:'four'}
dic1.clear()
print(dic1)

Key로 Value값 얻기

dic1={1:'one',2:'two',3:'four'}
print(dic1.get(2))
print(dic1.get('five'))

print(dic1[2])를 했을 때와 print(dic1.get(2))를 했을 때의 결과는 동일합니다.

하지만 print(dic1['five'])는 에러가 발생하지만 print(dic1.get('five'))는 None을 출력하게 됩니다!

차이점: get은 없는 Key값을 찾을 때 None을 return 합니다.

+ 딕셔너리에 Key가 존재하는지 확인

dic1={1:'one',2:'two',3:'four'}
print(1 in dic1)
print(5 in dic1)
728x90

'Python' 카테고리의 다른 글

# 파이썬 - 8 (기초5) IF문  (0) 2021.05.19
# 파이썬 - 7 (기초4)  (0) 2021.05.15
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
#파이썬 - 3 (Visual Studio Code 설정)  (2) 2020.07.02
728x90

문자열 관련 함수

문자열 자료형은 자체적으로 함수를 가지고 있습니다. 이러한 함수들을 문자열 내장 함수라고 합니다.

내장 함수를 사용하려면 문자열 변수 이름 뒤에 '.'(마침표)를 붙인 다음에 함수 이름을 쓰면 됩니다.

문자 개수 세기 (count)

a = "rabbit"
print(a.count('b'))

a변수 "rabbit"에서 문자 b의 개수를 출력합니다.

 

위치 알려주기 (find)

a = "나는 파이을 공부합니다"
print(a.find("파"))
print(a.find("하"))

a변수 "나는 파이을 공부 합니다"에서 "파"가 처음으로 나오는 위치를 출력합니다.

"하"와 같이 찾는 문자나 문자열이 존재하지 않는 경우 -1을 반환합니다.

 

위치 알려주기 (index)

a = "나의 취미는 공부입니다"
print(a.index("공"))
print(a.index("하"))

find와 같이 a변수 "나의 취미는 공부입니다"에서 "공"이 처음 나오는 위치를 출력합니다.

다른 점: find함수는 찾는 문자나 문자열이 존재하지 않는 경우 오류가 발생한다는 점입니다.

 

문자열 삽입 (join)

print(",".join("가나다라"))

"가나다라" 문자열의 각 문자 사이에 ", "(콤마)를 삽입합니다.

join함수는 리스트나 튜플도 입력으로 사용할 수 있습니다. 리스트와 튜플은 곧 배울 내용이니 참고만 해주세요.

print(",".join(["가","나","다","라"]))

간략하게 리스트는 양쪽을 [](대괄호)로 감싸는 것입니다.

 

소문자를 대문자로 바꾸기 (upper)

a = "python"
print(a.upper())

"python"을 모두 대문자로 바꿔주는 함수입니다. 만약 문자열이 대문자인 경우엔 아무 변화도 없습니다.

 

대문자를 소문자로 바꾸기 (lower)

a = "PYTHON"
print(a.lower())

"PYTHON"을 모두 소문자로 바꿔주는 함수입니다. upper와 같이 문자열이 소문자인 경우엔 아무 변화도 없습니다.

 

왼쪽, 가운데, 오른쪽 공백 지우기 (lstrip) 

 

a = "   파이썬   "
print(a.lstrip())
print(a.rstrip())
print(a.strip())

lstrip은 왼쪽에 있는 연속된 공백들을 모두 지우는 함수입니다. lstrip에서 l은 left를 의미합니다.

rstrip은 오른쪽에 있는 연속된 공백들을 모두 지우는 함수입니다. rstrip에서 r은 right를 의미합니다.

strip은 양쪽에 있는 연속된 공백들을 모두 지우는 함수입니다.

 

문자열 바꾸기 (replace)

a = "나는 자바를 공부합니다."
print(a.replace("자바","파이썬"))

문자열 안의 특정한 값을 다른 값으로 치환해 줍니다. 위와 같이 자바를 파이썬이라는 문자열로 치환해 주는 함수입니다.

 

문자열 나누기 (split)

a = "I Love You"
print(a.split())
b = "가,나,다,라,마"
print(b.split(","))

split함수는 a.split()처럼 괄호 안에 아무 값을 넣지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나눕니다.

b.split(", ")처럼 괄호 안에 특정 값이 있는 경우에는 해당 값을 구분자로 해서 문자열을 나눕니다.

split함수를 통해 나눈 값은 리스트에 하나씩 들어가게 됩니다.

['I', 'Love', 'You']와 ['가', '나', '다', '라', '마']가 리스트인데 밑에서 자세히 알아보겠습니다.

문자열 관련 함수는 문자열 처리에 매우 사용 빈도가 높고 유용하니 꼭 알아두세요!

 

 

리스트 자료형

리스트의 사용 방법

1,2,3,4,5 숫자 모음을 리스트를 사용한다면 아래와 같이 간단하게 표현할 수 있습니다.

nums = [1,2,3,4,5]​

리스트를 만들 때는 위와 같이 대괄호([])로 감싸 주고 각 요솟값을 콤마(,)로 구분해 줍니다.

변수명 = [요소1, 요소2, 요소3, ...]

아래 여러가지 리스트를 살펴보겠습니다.

a = []
b = [1,2,3]
c = ["가","나","다"]
d = [1,2,"가","나"]
e = [1,2,["가","나"]]

a처럼 비어 있는 리스트일 수도 있고 b처럼 숫자를 요솟값으로 가질 수도 있고 c처럼 문자열을 요솟값으로 가질 수도 있습니다.

또한 d처럼 숫자와 문자열을 함께 요솟값으로 가질 수도 있고 e처럼 리스트 자체를 요솟값으로 가질 수도 있습니다.

즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있습니다.

 

리스트의 인덱싱과 슬라이싱

리스트도 문자열처럼 인덱싱과 슬라이싱이 가능합니다.

리스트의 인덱싱

a = [1,2,3]
print(a)
print(a[0])
print(a[0]+a[2])
print(a[-1])

a변수에 [1,2,3]값을 설정합니다.

a[0]은 리스트 a의 첫 번째 요솟값을 말합니다.

a[0]+a[2]는 첫 번째 요소인 a[0]과 세 번째 요소인 a[2]의 값을 더한 것입니다. 1+3으로 4가 출력됩니다.

여기서 중요한점도 문자열처럼 0부터 세기 때문에 a[1]이 리스트의 첫 번째 요소가 아니라 a[0]이 리스트 a의 첫 번째 요소임을 꼭 명심해주세요.

[ 1 2 3 ]
  0 1 2  
  -3 -2 -1  

a[-1]은 뒤에서 첫 번째 요소를 의미하여 3이 출력됩니다.

 

다음 예제를 보겠습니다.

a = [1,2,3,["가","나","다"]]
print(a[0])
print(a[-1])
print(a[3])
[ 1 2 3 ["가","나","다"] ]
  0 1 2 3  
  -4 -3 -2 -1  

a[-1]은 마지막 요솟값 ["가", "나", "다"]를 나타냅니다. a[3]도 리스트 a의 네 번째 요소를 나타내기 때문에 a[-1]과 동일한 결과가 출력됩니다.

 

a리스트 포함된 ["가","나","다"] 리스트에서 "가" 값을 출력하는 방법을 알아보겠습니다.

print(a[-1][0])

위와 같이 하면 "가"를 출력할 수 있습니다. a[-1]이 ["가", "나", "다"] 리스트라는 것은 위에서 설명했습니다.

["가", "나", "다"] 리스트에서 첫 번째 요소를 출력하기 위해서 [0]을 붙여 준 것입니다.

-1
[ ]
  0 1 2  

Quiz) 그렇다면 나와 다를 출력하는 방법은 어떻게 될까요? 

정답 print(a[-1][1])  print(a[-1][2])

 

리스트의 슬라이싱

a = [1,2,3,4,5]
print(a[0:3])
a = "12345"
print(a[0:3])

문자열에서 사용한 슬라이싱과 리스트의 슬라이싱 방법이 완전히 동일하게 사용된 것을 볼 수 있습니다.

문자열에서의 슬라이싱 사용방법이 완전히 동일합니다.

 

예제를 좀 더 살펴보겠습니다.

a = [1,2,3,["가","나","다"],4,5]
print(a[2:5])
print(a[3][:2])
[ 1 2 3 ["가","나","다"] 4 5 ]
  0 1 2 3 4 5  

a[2:5]는 a리스트에서 세 번째 요솟값부터 5번째 요솟값 전까지 출력하게 됩니다.

a[3][:2]는 a리스트에서 4번째 요솟값인 ["가", "나", "다"] 리스트에서 2번째 요솟값 전까지 출력하게 됩니다.

 

리스트 연산하기

리스트도 문자열처럼 + 기호를 사용하여 더할 수 있고 * 기호를 사용하여 반복할 수 있습니다.

1. 리스트 더하기 (+)

a = [1,2,3]
b = [4,5,6]
print(a+b)

+기호는 a리스트와 b리스트를 합치는 기능을 합니다. 문자열에서 "123"+"456"이 "123456"이 되는 것과 같습니다.

 

2. 리스트 반복하기(*)

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

*기호는 리스트 요솟값을 반복하게 됩니다. 문자열에서 "123" * 3이 "123123123"이 되는 것과 같습니다.

 

리스트의 수정과 삭제

리스트에서 값 수정하기

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

a[2]의 요솟값인 3이 4로 바뀌었습니다.

 

del 함수로 리스트 요소 삭제하기

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

del a[n]은 n번째 요솟값을 삭제합니다. 위에서는 del a[1]로 a리스트의 2번째 요솟값을 삭제하여 [1,3]이 출력됩니다.

del함수는 파이썬이 자체적으로 가지고 있는 삭제 함수이며 아래와 같이 사용합니다.

del 객체

슬라이싱 기법을 사용하여 리스트의 요소 여러 개를 한 번에 삭제할 수도 있습니다.

a = ["가","나","다","라","마"]
del a[3:]
print(a)

a[3:]에 해당하는 요솟값들이 모두 삭제되었습니다.

리스트의 요소를 삭제하는 방법에는 2가지가 더 있습니다.

리스트의 remove와 pop함수를 사용하는 방법이 있는데 아래에서 더 알아보도록 하겠습니다.

 

리스트 관련 함수

문자열과 마찬가지로 리스트 변수 이름 뒤에 '.'를 붙여서 여러 리스트 관렴 함수를 사용할 수 있습니다.

 

리스트에 요소 추가하기 (append)

append의 사전 의미는 '(글에) 덧붙이다, 첨부하다'입니다. <네이버 사전>

말 그대로 append(x)는 리스트의 맨 마지막에 요소 x를 추가하는 함수입니다.

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

위에서 리스트에는 어떤 자료형이든 추가할 수 있다고 배웠었는데 한번 추가해보겠습니다.

a.append("가")
a.append(["A","B"])
print(a)

 

리스트 정렬하기 (sort)

sort함수는 리스트 내의 요소들을 순서대로 정렬해줍니다.

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

sort함수는 문자도 순서대로 정렬할 수 있습니다.

a = ["a","c","b"]
a.sort()
print(a)
b = ["나","다","가"]
b.sort()
print(b)

 

리스트 뒤집기 (reverse)

reverse함수는 리스트를 거꾸로 뒤집어 줍니다. 쉽게 생각해서 좌우 반전이라고 생각하시면 됩니다.

a = ["가","다","나"]
a.reverse()
print(a)

 

위치 반환 (index)

index(x) 함수는 리스트에 x값이 있으면 해당 x의 위치 값을 돌려줍니다.

a = [1,2,3]
print(a.index(3))
print(a.index(1))

파이썬은 0부터 시작입니다!

print(a.index(0))

위와 같이 리스트에 없는 요소를 찾게 되면 에러가 발생합니다.

 

리스트에 요소 삽입 (insert)

insert(a, b)는 리스트의 a번쨰 위치에 b를 삽입하는 함수입니다.

파이썬은 0부터 시작입니다!

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

Quiz) a = [4,1,2,3]인 현재 상태에서 5를 2와 3 사이에 넣어보세요! 

정답:  a.insert(3,5)

 

리스트 요소 제거 (remove)

remove(x) 함수는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수입니다.

a = [1,2,3,1,2,3]
a.remove(3)
print(a)

첫 번째로 나온 3만 제거되는 것을 확인하실 수 있습니다.

 

리스트 요소 꺼내기 (pop)

pop() 함수는 리스트의 맨 마지막 요소를 반환하고 그 요소는 리스트에서 삭제합니다.

a = [1,2,3]
print(a.pop())
print(a)

맨 마지막 요소인 3이 반환되고 리스트에는 1과 2만 남아있게 됩니다.

 

+pop(x)는 리스트의 x번째 요소를 반환하고 그 요소는 리스트에서 삭제합니다.

a = [1,2,3]
print(a.pop(1))
print(a)

1번째 요소인 2가 튀어나오고 삭제됩니다.

 

리스트에 포함된 요소 x의 개수 세기 (count)

count(x)는 리스트 안에 요소가 x인 개수가 몇 개 있는지를 확인하는 함수입니다.

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

1의 개수는 총 2개가 출력됩니다.

 

리스트 확장 (extend)

extend(x)에서 x에는 리스트만 올 수 있고 원래의 리스트에 x 리스트를 더하게 됩니다.

x+y를 하여 x+y라는 새로운 z리스트를 생성해주는 개념입니다.

예제를 보시면 이해하기 쉬울 거예요!

a = [1,2,3]
a.extend([4,5])
print(a)
b = ["가","나"]
a.extend(b)
print(a)

a에 [1,2,3] 리스트를 생성하고 a에 [4,5]라는 리스트를 더해줍니다. => [1,2,3,4,5]

이후 b에 ["가", "나"] 리스트를 생성하고 a에 b리스트를 더해줍니다. => [1, 2, 3, 4, 5, '가', '나']

 

 

기초 다음 시간에는 튜플 자료형부터 시작하겠습니다.

매우 중요한 부분들이니 꼭 반복해서 학습하시고 궁금하신 점은 댓글에 올려주세요! :)

 

 

 

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 7 (기초4)  (0) 2021.05.15
# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 4 (기초)  (0) 2020.07.04
#파이썬 - 3 (Visual Studio Code 설정)  (2) 2020.07.02
#파이썬 - 2 (설치)  (2) 2020.07.01
728x90

이번 장부터 파이썬 프로그래밍의 기초 자료형에 대해서 공부해보겠습니다.

자료형이란 프로그래밍을 할 때 사용되는 숫자, 문자열 등 자료 형태로 사용하는 모든 것을 의미합니다.

프로그램의 기본이자 핵심 단위가 자료형인 것입니다. 

이번 장부터 회색 박스에 들어있는 코드들은

반드시 Visual Studio Code에 직접 입력하시면서 공부하세요!!!

Visual Studio Code가 설치되지 않으신 분은 꼭 아래 이미지를 클릭하셔서 설치하시기 바랍니다!

 

#파이썬 - 3 (Visual Studio Code 설정)

파이썬과 에디터(Visual Studio Code)를 설치하지 않으신 분은 아래 이미지를 클릭하여 설치해주세요! #파이썬 - 2 (설치) 1. 파이썬 설치하기 아래 이미지를 클릭하여 다운로드 경로로 이동해주세요. D

novice-engineers.tistory.com

1. 숫자형

숫자형은 말 그대로 숫자 형태로 이루어진 자료형입니다. 우리가 평소에 사용하는 1,2,3 같은 정수 또는 1.1,2.2,3.3 같은 실수 말고도 8진수나 16진수 같은 것이 있습니다.

정수 1, 2, 3, ...
실수 1.1, 2.2, 3.3, ...
8진수 0o34, 0o13, ...
16진수 0x3B, 0x AA, ...

그렇다면 파이썬에서 숫자형을 사용하는 방법을 알아보겠습니다.

정수형: 말 그대로 정수를 뜻하는 자료형

a=1
b=-2
c=3
print(a)
print(b)
print(c)

기존에 C, C++, JAVA를 공부하셨던 분들은 int a = 1이라는 문장이 익숙하실 텐데 파이썬은 a=1과 같이 사용하게 됩니다.

 

실수형: 파이썬에서 실수형은 소수점이 포함된 숫자를 말합니다.

a=1.1
b=2.2
print(a)
print(b)

위 방식은 일반적으로 볼 수 있는 실수형의 소수점 표현 방식입니다.

a=3.21E10
b=3.21e-10
print(a)
print(b)

위 방식은 컴퓨터식 지수 표현 방식입니다. 파이썬에서는 위와 같이 표현하며 3.21E10은 3.21*10^10(10의 10 제곱), 

3.21e-10은 3.21*10^-10(10의 -10 제곱)을 의미합니다.

 

8진수와 16진수

8진수를 만들기 위해서는 0o 또는 0O(시작은 숫자 0 + 알파벳 소문자 o 또는 대문자 O)로 시작하면 됩니다.

16진수를 만들기 위해서는 0x(숫자 0 + 알파벳 소문자 x)로 시작하면 됩니다.

a=0o34  
b=0x10  
print(a) 
print(b) 

a=0o34  <8진수>    10진수 28 (011/100) 
b=0x10  <16진수>  10진수 16 (0001/0000)

8진수나 16진수는 파이썬에서 잘 사용하지 않는 형태이니 이러한 형태도 있다는 정도만 알아두시면 될 것 같습니다.

 

숫자형을 활용하기 위한 연산자

사칙연산: 수학 공부를 했을 때 사용했던 사칙연산과 동일한 의미입니다. (+, -, *, /)

a=2
b=5
print(a+b)    
print(a*b) 
print(a/b)  

print(a+b)    결과는 7
print(a*b)    결과는 10
print(a/b)    결과는 0.4

 

**연산자: **연산자는 제곱을 의미합니다.

a=2
b=4
print(a**b)

2^4 (2의4제곱)

2X2X2X2 =16

 

% 연산자: % 연산자는 나머지 값을 돌려주는 연산자입니다.

print(9%4)
print(4%9)

print(9%4)  9/4의 나머지는 1
print(4%9)  4/9의 나머지는 4

 

//연산자: 나눗셈 후 몫을 돌려주는 연산자입니다.

print(7/4)
print(7//4)

print(7/4)   7/4 = 1.75
print(7//4)  7//4 = 1 (몫은 1)

 

Quiz) 1. 연산자를 사용하여 18을 3으로 나누었을 때의 몫과 나머지를 구해보세요.

        2. 연산자를 사용하여 8의 9제곱을 구해보세요.

정답은 드래그를 이용하여 확인해주세요!

1. 몫 구하기: print(18//3)  |  나머지 구하기: print(18%3)

2. print(8**9)


2. 문자열 자료형

문자열이란 문자, 단어 등으로 구성된 문자들의 집합을 의미합니다.

  • "I love You"
  • "a"
  • "123"

파이썬을 시작으로 컴퓨터 언어를 처음 배우시는 분은 위에서 사용한 a=1을 생각하시고 숫자형이라고 생각하실 수 있을 건데요.

쉽게 생각해서 따옴표로 둘러싸여 있다면 모두 문자열이라고 생각하시면 됩니다!

 

문자열 사용방법

1. 큰 따옴표(") 사용

a = "I love You"
print(a)

2. 작은따옴표(') 사용 

a = 'I love You'
print(a)

3. 큰 따옴표 3개를 연속 사용 

a = """I love You"""
print(a)

4. 작은따옴표 3개를 연속 사용 

a = '''I love You'''
print(a)

방법이 4가지나 되는 이유를 알아봅시다!

1. 문자열에 작은따옴표를 포함시키고 싶은 경우

  • Here's to the ones that we got

위와 같은 문자열을 a라는 변수에 저장하고 싶을 때 문자열 중 Here's에 작은따옴표가 포함되어있습니다.

이럴 때는 다음과 같이 문자열을 큰따옴표로 감싸야합니다.

큰따옴표 안에 들어 있는 작은따옴표는 문자열을 표현하기 위한 기호로 인식되지 않기 때문입니다.

+변수란? : '변하는 수'로 변하는 값을 보관하는 장소라고 생각하시면 됩니다.

a = "Here's to the ones that we got"
print(a)

2. 문자열에 큰따옴표를 포함시키고 싶은 경우

  • "I love You." he says.

큰 따옴표를 포함시키고 싶은 경우는 1번과 반대로 작은따옴표로 감싸주면 됩니다.

a = '"I love You." he says.'
print(a)

3. 백 슬래시(\)를 사용해서 작은따옴표와 큰따옴표를 문자열에 포함시키고 싶은 경우

a = 'Cheers to the wish you were here, but you\'re not'
b = "\"I love You.\" he says."
print(a)
print(b)

 

- 여러 줄인 문자열을 변수에 대입하고 싶은 경우

I love You.

Me too.

1. 줄을 바꾸는 이스케이프 코드인 '\n' 삽입하기

a = "I love You.\nMe too."
print(a)

2. 연속된 작은따옴표 3개 또는 큰따옴표 3개 사용

a = '''
I love You.
Me too.
'''
print(a)

b = """
I love You.
Me too.
"""
print(b)

+ 이스케이프 코드

이스케이프 코드는 미리 정의해 둔 문자 조합입니다.

\n 문자열 안에서 줄을 바꿈
\t 문자열 사이에 탭 간격을 줄임
\\ 문자 \를 그대로 표현함
\' 작은따옴표를 그대로 표현함
\" 큰따옴표를 그대로 표현함

위 코드 말고도 여러 가지가 있지만 가장 많이 사용하는 5개만 알아두시면 될 것 같습니다!

 

 

문자열 연산하기

파이썬에서는 문자열을 더하거나 곱할 수 있습니다. 파이썬만의 유용한 기능 중 하나입니다!

1. 문자열 더하기

a = "파이썬"
b = " 공부하기"
print(a+b)

2. 문자열 곱하기

a = "안녕"
print(a*2)

3. 문자열 곱하기 응용해보기

print("*"*30)
print("              별")
print("*"*30)

위와 같이 코드를 게시판 헤더 부분에 표시하는 경우를 종종 볼 수 있습니다.

4. 문자열 길이 구하기

len 함수를 사용하면 문자열의 길이를 구할 수 있습니다.

프로그램에서 문자열을 구하는 경우는 종종 있기 때문에 꼭 알아두시는 게 좋습니다!

a = "I love You."
print(len(a))

 

 

문자열 인덱싱과 슬라이싱

인덱싱: 보조 기억 장치에 저장되어 있는 데이터에 접근하기 위하여 색인을 사용하는 것. <네이버 사전>

슬라이싱: 일정한 면을 살려 얇게 써는 것.

문자열 인덱싱

a = "I Love You"
I   L o v e   Y o u
0 1 2 3 4 5 6 7 8 9

I Love You에서 I는 0번째 띄어쓰기인 빈 공간은 1번째가 됩니다.

직접 코드를 입력해 보세요.

a = "I Love You"
print(a[0])
print(a[1])

프로그래밍을 처음 접하시는 분이라면 a[1]이 I라고 생각하기 쉽습니다. 헷갈릴 수 있는데 아래와 같이 생각해주세요.

파이썬은 0부터 시작이다!!!

I   L o v e   Y o u
0 1 2 3 4 5 6 7 8 9
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

문자열 인덱싱 활용

a = "I love You"
print(a[-1])

위 코드를 실행해본다면 u가 나올 것입니다. 즉 a[-1]은 뒤에서부터 시작하여 첫 번째가 되는 문자를 표현합니다.

아마도 뒤에서부터 첫 번째라면 a[-0]이라고 생각하실 수 있을 거예요. 하지만 0과 -0은 똑같이 0이기 때문에

a[-0]과 a[0]은 똑같이 I가 출력됩니다.

즉 앞에서부터는 0부터 시작이고 뒤에서부터는 -1부터 시작이 됩니다.

print(a[-0]), print(a[-1]) print(a[-2])을 실행해보세요!

 

문자열 슬라이싱

"I love You" 문자열에서 한 문자만 뽑아내는 것이 아니라 'love' 나 'You' 같은 단어를 뽑아내는 방법을 알아보겠습니다.

a = "I love You"
b = a[2]+a[3]+a[4]+a[5]
print(b)

위 코드처럼 한문자씩 쪼개서 뽑아낼 수도 있지만 파이썬에서 제공하는 슬라이싱 기법을 사용한다면 간단하게 처리할 수 있습니다.

a = "I love You"
b=a[2:6]
print(b)

a[2:6]는 a 문자열인 "I love You" 문장에서 자리 번호 2부터 6번째 전까지 뽑아낸다는 뜻입니다.

여기서 중요한 점은 6번째 문자 전까지만 뽑아낸다는 것입니다.

★즉 출력하고 싶은 문자 +1 만큼까지 숫자를 표현해야 한다는 것입니다.

Quiz) You를 직접 출력해보세요

I   L o v e   Y o u
0 1 2 3 4 5 6 7 8 9
a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]

위 표를 참조하세요!

정답 print(a[7:10])

 

 

 

위 퀴즈의 정답을 다른 방식으로도 표현할 수 있습니다.

a = "I love You"
print(a[7:])

a[시작 번호:끝 번호]에서 끝 번호 부분을 생략하게 되면 시작 번호부터 문자열의 끝까지 뽑아내게 됩니다.

 

 

시작번호도 끝 번호와 같은 방식으로 생략이 가능합니다.

a = "I love You"
print(a[:6])

 

 

만약 a[:]같이 시작 번호와 끝 번호 둘 다 생략하게 된다면 어떻게 될까요?

a = "I love You"
print(a[:])

시작 번호부터 끝 번호까지 즉, 전체 문장을 출력하게 됩니다.

 

 

슬라이싱에서도 마이너스(-) 기호를 사용할 수 있습니다.

a = "I love You"
print(a[2:-3])

위 코드에서 a[2:-3]은 2번째부터 -4까지 출력하게 됩니다. -3은 출력하지 않습니다. 

여기서 -3은 Y이고 그렇다면 'love ' 띄어쓰기 빈 공간까지 출력되는 것입니다.

 

문자열 슬라이싱 활용

a="970812-1XXXXXX"
year=a[:2]
month=a[2:4]
day=a[4:6]
PersonalData=a[7:]


print(year)
print(month)
print(day)
print(PersonalData)

 

 

문자열 포매팅

문자열 포매팅이란 문자열 안에 어떠한 값을 삽입하는 방법입니다.

1. 숫자 대입하기 %d

print("나는 %d살 입니다." %7)

자신이 원하는 위치에 정수를 삽입하는 방법입니다. 정수를 넣고 싶은 자리에 %d 문자를 넣고 넣을 정수를 % 다음에 적어주었습니다. 여기서 %d는 문자열 포맷 코드라고 부릅니다.

 

2. 문자열 대입하기 %s

print("나는 %s살 입니다." %"일곱")

이번에는 문자열을 대입하는 방법입니다. 위와 같은 방식이지만 %s를 넣어주고 문자열을 넣어주기 때문에 % 다음에 큰따옴표를 감싼 모양입니다.

 

3. 숫자 값을 나타내는 변수 대입하기

age=7
print("나는 %d살 입니다." %age) 

변수를 생성하고 1번과 같은 방식으로 대입합니다.

 

4. 2개 이상의 값 대입하기

age=7
like="치킨"
print("나는 %d 살이고 %s를(을) 좋아합니다." %(age,like))

2개 이상의 값을 대입하기 위해서는 문자열 포맷 코드를 원하는 위치에 넣어주시고 % 뒤에 ()로 감싼 뒤 넣을 값을 , 로 구분하여 넣어주시면 됩니다.

여기서 중요한 것은 넣어주는 순서입니다. age는 정수형이고 like는 문자열인데 두 변수의 위치가 바뀌면 에러가 발생합니다.

 

문자열 포맷 코드

위에서 정수형과 문자열만 사용했지만 이 외에도 다양한 것을 대입할 수 있습니다.

%s 문자열
%c 문자 1개
%d 정수
%f 부동 소수
%o 8진수
%x 16진수
%% %자체

 

포맷 코드와 숫자 함께 사용하기

1. 소수점 표현하기

print("%0.4f" %3.1415926535)

파이값인 3.1415926535값을 소수점 4번째 자리까지만 나타내고 싶은 경우에는 위와 같이 사용합니다.

 

 

print("%10.4f" %3.1415926535)

여기서 %10.4는 전체 길이가 10개인 문자열 공간에서 오른쪽부터 정렬하는 예입니다.

 

 

format 함수를 사용한 포매팅

문자열의 format 함수를 사용하면 더 발전된 형태로 문자열 포맷을 지정할 수 있습니다.

1. 숫자 대입하기

print("나는 {0}살 입니다.".format(7))

{0} 부분에 정수 7을 대입하는 방법입니다.

 

2. 문자열 대입하기

print("나는 {0}살 입니다.".format("일곱"))

 

 

3. 숫자 값을 나타내는 변수 대입하기

age=7
print("나는 {0}살 입니다.".format(age)) 

변수를 생성하고 1번과 같은 방식으로 대입합니다.

 

4. 2개 이상의 값 대입하기

age=7
like="치킨"
print("나는 {0} 살이고 {1}를(을) 좋아합니다.".format(age,like))

 

 

문자열 포맷 코드에서 %를 {}로 사용한다고 생각하시면 될 것 같습니다.

 

5. 이름으로 대입하기

print("나는 {age} 살이고 {like}를(을) 좋아합니다.".format(age=7,like="치킨"))

{숫자} 대신 더 명시적으로 {변수명}을 사용하는 방법입니다.

 

6. 인덱스와 이름을 혼용하여 대입하기

print("나는 {0} 살이고 {like}를(을) 좋아합니다.".format(7,like="치킨"))

혼합하여 사용도 가능합니다.

 

7. 왼쪽, 가운데, 오른쪽 정렬

print("{0:<10}".format("안녕"))
print("{0:^10}".format("안녕"))
print("{0:>10}".format("안녕"))

<는 왼쪽 정렬, ^는 가운데 정렬, >는 오른쪽 정렬입니다.

8. 공백 채우기

print("{0:*^10}".format("안녕"))
print("{0:-^10}".format("안녕"))

 

자료형 2부는 다음장에서 더 다루도록 하겠습니다.

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 3 (Visual Studio Code 설정)  (2) 2020.07.02
#파이썬 - 2 (설치)  (2) 2020.07.01
#파이썬 - 1 (소개)  (0) 2020.06.28
728x90

파이썬과 에디터(Visual Studio Code)를 설치하지 않으신 분은 아래 이미지를 클릭하여 설치해주세요!

 

#파이썬 - 2 (설치)

1. 파이썬 설치하기 아래 이미지를 클릭하여 다운로드 경로로 이동해주세요. Download Python The official home of the Python Programming Language www.python.org 1-1. 위 빨간색 박스를 클릭하여 설치를 진..

novice-engineers.tistory.com

1. 파이썬을 위한 폴더 생성

StudyPython

 

 

1-1. 원하는 위치에 StudyPython 폴더를 생성해주세요. 

 

 

 

 

1-2. 2장에서 설치한 Visual Studio Code를 실행해주세요.

1-3. 상단 좌측에 File -> Open Folder를 클릭해주세요. (위 이미지를 참조하세요!)

 

 

1-4. 1-1에서 생성한 폴더(StudyPython)를 선택 후 폴더 선택을 눌러주세요.

 

 

1-5. New File버튼을 눌러주세요 (위 빨간 박스를 눌러주세요!)

 

 

1-6. hello.py를 누르고 Enter를 눌러주세요.

 

 

1-7. 파이썬 extension 설치를 위해 위 이미지의 빨간색 박스를 눌러주세요.

 

 

1-8. 1) Python을 입력 후 2) 하단에 나오는 Python을 클릭하여 3) 우측에 나오는 Python Install 버튼을 눌러주세요.

위 이미지를 참조하세요. 3번은 제가 Install을 누르고 스크린샷을 찍어서 Installing 중인 거예요!

 

 

Installing 후

Disable버튼과

Uninstall버튼이

나오면 성공입니다!

 

 

1-9. 1-6에서 생성한 hello.py로 돌아오셔서 print("안녕하세요")를 입력하신 후 위 이미지의 2번 박스, 3번 박스를 클릭 후 Python File을 클릭해주세요. (위 이미지를 참조하세요!)

 

 

1-10. 우측 상단의 초록색 버튼을 클릭하시면 하단에 안녕하세요 가 출력됩니다!!!

print()는 화면에 출력하라는 뜻입니다.

 

파이썬 공부를 위한 모든 준비를 완료했으니 다음장부터는 파이썬 기초를 공부해 보겠습니다.

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
#파이썬 - 2 (설치)  (2) 2020.07.01
#파이썬 - 1 (소개)  (0) 2020.06.28
728x90

1. 파이썬 설치하기

아래 이미지를 클릭하여 다운로드 경로로 이동해주세요.

 

Download Python

The official home of the Python Programming Language

www.python.org

1-1. 위 빨간색 박스를 클릭하여 설치를 진행해주세요.

(버전은 최신 버전을 받으시면 됩니다. 2020-06-30일 기준으로 3.8.3 버전입니다)

 

1-2. 설치된 python-버전.exe를 실행시켜 주시고 위 사진의 1(Add Python 버전 to PATH)은 꼭 체크하시고 Install Now로 이동해주세요!!!

 

1-3. 설치가 완료되면 [Close]를 클릭하여 종료해주세요.

 

2. 설치 확인하기

2-1. [시작 -> Python] 입력 후 Python버전(32 or 64-bit)을버전(32or64-bit) 클릭합니다.

<저는 3.7 버전을 쓰고 있다가 스크린샷을 위해 3.8을 설치하여서 2개인 거예요!>

<파이썬을 처음 설치하시는 분은 해당 버전 1개만 있습니다.>

 

2-2. 위 빨간색 밑줄에 설치한 파이썬 버전이 나옵니다. 위와 같은 창을 파이썬 대화형 인터프리터라고 합니다.

인터프리터란 사용자가 입력한 소스 코드를 실행하는 환경을 의미합니다.

 

2-3. 간단하게 몇 가지 입력해 봅시다.

1+1 [Enter]
p="Python" [Enter]
print(p) [Enter]

2-4. 정상적으로 나오신다면 아래 명령어로 종료해주세요.

import sys [Enter]
sys.exit() [Enter]

 

3. 에디터 다운로드

에디터란 소스 코드를 편집할 수 있는 프로그래밍 툴을 말합니다.

에디터는 비주얼 스튜디오 코드(Visual Studio Code)를 사용하도록 하겠습니다.

아래 이미지를 클릭하여 다운로드 경로로 이동해주세요.

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

3-1. 위 빨간색 버튼을 클릭하여 설치를 진행해주세요.

3-2. 동의함을 체크 후 다음 버튼을 눌러주세요.

3-3. 디렉토리를 지정, 시작 메뉴 폴더 선택 둘 다 다음 버튼을 누르시고 바탕화면을 만드실 분은 위 이미지의 주황색 박스에 체크를 하시면 됩니다. ( 3-2 이후에 위 이미지가 나올 때까지 다음을 누르시면 됩니다)

 

3-4. 설치가 완료되면 Visual Studio Code 시작 체크 버튼을 체크한 상태로 마침을 눌러주세요. 

 

3-5. 위와 같은 창이 나타나면 성공입니다!

 

다음장에서는 Visual Studio Code를 이용해보겠습니다.

 

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
#파이썬 - 3 (Visual Studio Code 설정)  (2) 2020.07.02
#파이썬 - 1 (소개)  (0) 2020.06.28
728x90

"파이썬은 문법이 쉬워 빠르게 접근이 가능합니다."

- C, C++, JAVA 등을 해보신 분은 파이썬을 해보시면 아마도 문법이 간단하다고 느껴질 것입니다. 

C, C++, JAVA를 해보신 분들은 빠르게 파이썬을 배우실 수 있을 것입니다.

 

"파이썬은 오픈소스이며 강력하다."

- 오픈소스란 "무료"라고 생각하시면 됩니다. 즉, 이용료 걱정 없이 파이썬을 이용할 수 있는 것입니다. 

프로그래머는 대부분의 프로그램을 파이썬으로 만들 수 있습니다. 시스템 프로그래밍이나 하드웨어 제어 같은 매우 복잡하고 반복 연산이 많은 프로그램은 파이썬과 어울리지 않지만 파이썬은 다른 언어로 만든 프로그램 (C, JAVA)을 파이썬 프로그램에 포함시킬 수 있습니다.

 

"파이썬으로 할 수 있는 것 | 할 수 없는 것"

파이썬으로는 GUI 프로그래밍(메뉴, 버튼 등이 있는 것), 웹 프로그래밍, DB 프로그래밍, 데이터 분석(DA)등의 일을 할 수 있습니다. 하지만 위에서 말했던 시스템과 밀접한 프로그래밍 영역 (ex: 대단히 빠른 속도를 요구하거나 하드웨어를 직접 건드려야 하는 프로그램), 모바일 프로그래밍의 작업은 아직 부족합니다. 안드로이드에서 파이썬으로 만든 프로그램이 실행되도록 지원하긴 하지만 이것만으로 앱을 만들기는 어렵습니다. 즉 안드로이드, 아이폰 앱을 개발하는 것은 아직 어렵습니다.

 

"내가 생각하는 파이썬의 전망?"

저도 2020년에 빅데이터팀에 취업한 초보 개발자입니다. 제가 프로젝트를 하고 있는 회사에서도 JAVA가 아닌 파이썬을 쓰고 있고 대부분의 큰 규모의 회사에서도 파이썬을 많이 쓰고 있는 것으로 알고 있습니다.

<구글이 가장 많이 애용하는 언어도 파이썬입니다!>

아직까지 JAVA가 많이 사용되고 있지만 앞으로는 파이썬이 JAVA보다 많이 사용하게 될 것이라고 제 개인적으로 생각하고 있습니다.

 

 

 

 

제가 블로그를 만들게 된 이유는 파이썬에 대해서 공부하고 싶으신 분들에게 최대한 쉽게 설명해드리고 싶었기 때문입니다.

책 없이도 최대한 이해하기 쉽게 만들고 내용이 부족하지 않도록 노력하겠습니다!

공부하시다가 잘 이해가 되지 않는 부분이 있으시다면 댓글을 이용하셔서 질문해주세요.

 

 

추가적으로 현재 취업을 준비하고 계신데 궁금하신 점이나 기타 궁금하신 점이 있으시다면 댓글에 남겨주세요!

정성껏 대답해드리겠습니다! :)

728x90

'Python' 카테고리의 다른 글

# 파이썬 - 6 (기초3)  (0) 2021.05.11
#파이썬 - 5 (기초2)  (3) 2020.07.05
#파이썬 - 4 (기초)  (0) 2020.07.04
#파이썬 - 3 (Visual Studio Code 설정)  (2) 2020.07.02
#파이썬 - 2 (설치)  (2) 2020.07.01

+ Recent posts