본문 바로가기
프로그래밍 언어/python

파이썬 공부 시작[목표: cospro2급] [기간:24.02.05~24.03.01]

by 피스타0204 2024. 2. 6.

[목표: cospro2급] 

[기간:24.02.05~24.03.01]

 

파이썬의 장점은 기본 모듈을 제공하고 짧은 코드를 짤 수 있다는 점이라고 생각합니다. c, c++처럼 문자열의 길이를 구하는 함수도 다른 모듈을 가져와서 해결해야 하는 언어와 달리 사용자 편의성이 높은 것이 장점입니다.

 

 

<1> 24.02.05

파이썬 출력

연습문제▼

 

JUNGOL

 

jungol.co.kr

0)주석

파이썬에서 주석은 두가지 방법으로 달 수 있습니다.

줄바꿈 없이 한 문장으로 주석을 달고자 할 경우, #을 앞에 적고 주석을 답니다.

여러 줄짜리 주석을 달고자 할 경우, ''' 주석내용 ''' 이나 """ 주석내용""" 을 사용합니다. 이 방법은 정석적인 방법이 아니므로 #을 추천합니다. 파이참, vs, vscode에는 드래그한 문장을 주석으로 바꾸어주는 단축키가 존재합니다.

 

Window : CTRL + /

Mac OS : Command + /

 

1) 기본 출력

파이썬에서 print문으로 출력합니다.

print("Hello, world!")

print문은 쉼표가 들어갈 때마다 자동으로 띄어쓰기가 들어갑니다.

print("1plus1", "=", "Gwi yo mi")
#1plus1 = Gwi yo mi

또, print문을 새로 작성할 때마다 줄바꿈이 됩니다.

print('kor',90)
print('mat',80)
print('eng',100)
print('sum',270)
'''kor 90
mat 80
eng 100
sum 270'''

 

한 줄에 결괏값 출력하기

03-3에서 for 문을 공부할 때 만들었던 구구단 프로그램에서 보았듯이 한 줄에 결괏값을 계속 이어서 출력하려면 매개변수 end를 사용해 끝 문자를 지정해야 한다.

>>> for i in range(10):
...     print(i, end=' ')
...
0 1 2 3 4 5 6 7 8 9 >>>

end 매개변수의 초깃값은 줄바꿈(\n) 문자이다.

 

2) 문자열 연산

파이썬에서는 문자열*5와 같은 문자열 연산을 제공한다.

문자열 더하기

>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'

문자열 곱하기

print("=" * 10)
#==========

 

3)이스케이프 코드

파이썬에서 줄바꿈은 \n 으로 하거나 위의 print문의 특징을 이용합니다.

print("Score:\n100\nGREAT!")

 

이스케이프 코드(출처: 점프투 파이썬)

\n 문자열 안에서 줄을 바꿀 때 사용
\t 문자열 사이에 탭 간격을 줄 때 사용
\\ \를 그대로 표현할 때 사용
\' 작은따옴표(')를 그대로 표현할 때 사용
\" 큰따옴표(")를 그대로 표현할 때 사용
\r 캐리지 리턴(줄 바꿈 문자, 커서를 현재 줄의 가장 앞으로 이동)
\f 폼 피드(줄 바꿈 문자, 커서를 현재 줄의 다음 줄로 이동)
\a 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다)
\b 백 스페이스
\000 널 문자

이 중에서 활용 빈도가 높은 것은 \n, \t, \\, \', \"이다. 나머지는 프로그램에서 잘 사용하지 않는다.

+a) 포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다.

>>> "Error is %d%%." % 98
'Error is 98%.'

 

4) 문자열 포매팅

문자열 포매팅에는 세가지 방법이 있습니다.

첫번째, 문자열 포매팅 기본 문법을 사용하는 것과

print("%d%slus%d = Gwi yo mi"%(1,'p',1))
#1plus1 = Gwi yo mi

두번째, 포매팅 함수({}.format)를 사용하는 법이 있습니다.

print("{0} 번째 프로그램입니다.\n{0} 번째 프로그램입니다.".format(3))
#1plus1 = Gwi yo mi

세번째, 파이썬 3.6버전부터는 f문자열 포매팅 방법을 사용할 수 있습니다.

>>> name = '홍길동'
>>> age = 30
>>> f'나의 이름은 {name}입니다. 나이는 {age}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'

 

5)문자열 정렬과 공백포함

 

포매팅 기본 문법에서>

>>> "%10s" % "hi"
'        hi'

%10s는 전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 그 앞의 나머지는 공백으로 남겨 두라는 의미이다.

print("%4s%s\n%3s%3s\n%2s%5s\n%s%7s\n%2s%5s\n%3s%3s\n%4s%s"%('@','@','@','@','@','@','@','@','@','@','@','@','@','@'))
'''
   @@
  @  @
 @    @
@      @
 @    @
  @  @
   @@
'''

 

포매팅 함수({}.format)에서>

>>> "{0:<10}".format("hi")
'hi        '
>>> "{0:>10}".format("hi")
'        hi'
>>> "{0:^10}".format("hi")
'    hi    '

>>> "{0:=^10}".format("hi")
'====hi===='
>>> "{0:!<10}".format("hi")
'hi!!!!!!!!'

>>> y = 3.42134234
>>> "{0:0.4f}".format(y)
'3.4213'

>>> "{0:10.4f}".format(y)
'    3.4213'

#중괄호 문자를 포매팅 문자가 아닌 문자 그대로 사용하고 싶은 경우에는 2개를 연속해서 사용하면 된다.
>>> "{{ and }}".format()
'{ and }'

f문자열 포매팅에서>

>>> f'{"hi":<10}'  # 왼쪽 정렬
'hi        '
>>> f'{"hi":>10}'  # 오른쪽 정렬
'        hi'
>>> f'{"hi":^10}'  # 가운데 정렬
'    hi    '

>>> f'{"hi":=^10}'  # 가운데 정렬하고 '=' 문자로 공백 채우기
'====hi===='
>>> f'{"hi":!<10}'  # 왼쪽 정렬하고 '!' 문자로 공백 채우기
'hi!!!!!!!!'

>>> y = 3.42134234
>>> f'{y:0.4f}'  # 소수점 4자리까지만 표현
'3.4213'
>>> f'{y:10.4f}'  # 소수점 4자리까지 표현하고 총 자리수를 10으로 맞춤
'    3.4213'

#f 문자열에서 {}를 문자 그대로 표시하려면 다음과 같이 2개를 동시에 사용해야 한다.
>>> f'{{ and }}'
'{ and }'

6)문자열 슬라이싱

stringName[시작 인덱스, 끝나는 인덱스+1]

a = "       @@"
print(a[4:9])
print(a[5:8],a[6:8])
print(a[6:8],a[4:8])
print(a[7],a[2:8])
print(a[6:8],a[4:8])
print(a[5:8],a[6:8])
print(a[4:9])

 

 

7) 문자열 길이 구하기

len함수를 사용한다.

>>> a = "Life is too short"
>>> len(a)
17

 

참고자료 : 점프투 파이썬▼

https://wikidocs.net/13#_1

 

02-2 문자열 자료형

`[동영상 강의]` : [점프 투 파이썬 02-2 문자열](https://www.youtube.com/watch?v=cKjE94_CITc&list;=PLGSQkvB9T6rvnDo…

wikidocs.net