1. 파이썬(Python): 1990년 암스테르담의 귀도 반 로섬(Guido Van Rossum)이 개발한 인터프리터 언어.
*인터프리터 언어란 한 줄 씩 소스 코드를 해석한 뒤 바로 실행해 결과를 확인할 수 있는 언어이다.
2. 파이썬으로 할 수 있는 일
(1) 시스템 유틸리티 제작
(2) GUI 프로그래밍
(3) C/C++와의 결합
(4) 웹 프로그래밍
(5) 수치 연산 프로그래밍 Numpy 수치 연산 모듈
(6) 데이터베이스 프로그래밍
데이터베이스에 접근하기 위한 도구들: 사이베이스(Sybase), 인포믹스(Infomix), 오라클(Oracle), 마이에스큐엘(MySQL), 포스트그레스큐엘(PostgreSQL)
*피클(pickle): 파이썬에서 사용하는 자료를 변형 없이 그대로 파일에 저장하고 불러오는 일을 하는 모듈
(7) 데이터 분석, 사물 인터넷
3. 숫자형(Number)
(1) 정수형(Integer)
a=1234
a=-233
a=0
(2) 실수형(Floating-point)
a=1.4
a=-3.14
*컴퓨터식 지수 표현 방식
a=4.56E10
a=4.24e-10
(3) 8진수(Octal)와 16진수(Hexadecimal)
8진수를 만들기 위해서는 숫자가 0o 또는 0O로 시작하면 된다.
a=0o188
16진수를 만들기 위해서는0x로 시작하면 된다.
a=0x8ff
b=0xABC
4. 숫자형을 활용하기 위한 연산자
(1) 사칙연산
>>>a=1
>>>b=2
>>>a+b
3
>>>a*b
2
>>>a/b
0.5
(2) x의 y제곱을 나타내는 ** 연산자
>>>a=3
>>>b=4
>>>a**b
81
(3) 나눗셈 후 나머지를 반환하는 % 연산자
>>>7%3
1
>>>3%7
3
(4) 나눗셈 후 몫을 반환하는 // 연산자
>>>7//4
1
5. 문자열 자료형
-문자열(String)이란 문자, 단어 등으로 구성된 문자들의 집합을 의미함.
(1) 파이썬에서 문자열을 만드는 방법
① 큰따옴표(")로 양쪽 둘러싸기
"Hello World"
② 작은따옴표(')로 양쪽 둘러싸기
'Python is fun'
③ 큰따옴표 3개를 연속(""")으로 써서 양쪽 둘러싸기
"""Life is too short, You need python"""
④ 작은따옴표 3개를 연속(''')으로 써서 양쪽 둘러싸기
'''Life is too short, You need python'''
(2) 문자열 안에 작은따옴표(') 포함시키기
Problem
>>> color='Dasom's favorite color is navy'
File ",stdin>", line 1
color='Dasom's favorite color is navy'
^
SyntaxError: invalid syntax
Solution
>>>color="Dasom's favorite color is navy"
>>>color
"Dasom's favorite color is navy"
(3) 문자열에 큰따옴표(") 포함시키기
>>> say='"python is very easy." he says.'
>>> say
"python is very easy." he says.
(4) 백슬래시(\)를 사용해서 작은따옴표(')와 큰따옴표(")를 문자열에 포함시키기
>>> color='Dasom\'s favorite color is navy'
say= "\"Python is very easy.\" he says."
6. 여러 줄인 문자열을 변수에 대입하고 싶을 때
Life is too short
You need python
(1) 줄을 바꾸는 이스케이프 코드 '\n' 삽입하기
multiline = "Life is too short\nYou need python"
-가독성이 떨어짐.
-줄이 길어짐.
(2) 연속된 작은따옴표 3개(''') 또는 큰따옴표 3개(""") 사용하기
>>>multiline='''
Life is too short
You need python
'''
>>> multiline = """
Life is too short
You need python
"""
*이스케이프 코드: 프로그래밍할 때 사용할 수 있도록 미리 정의해 둔 문자조합.
| 코드 | 설명 |
| \n | 문자열 안에서 줄을 바꿀 때 사용 |
| \t | 문자열 사이에 탭 간격을 줄 때 사용 |
| \\ | 문자 \를 그대로 표현할 때 사용 |
| \' | 작은 따옴표(')를 그대로 표현할 때 사용 |
| \" | 큰따옴표(")를 그대로 표현할 때 사용 |
| \r | 캐리지 리턴(줄 바꿈 문자, 현재 커서를 가장 앞으로 이동) |
| \f | 폼 피드(줄 바꿈 문자, 현재 커서를 다음 줄로 이동) |
| \a | 벨 소리(출력할 때 PC 스피커에서 '삑' 소리가 난다) |
| \b | 백스페이스 |
| \000 | 널 문자 |
7. 문자열 연산하기
(1) 문자열 더해서 연결하기(Concatenation)
>>> head = "Python"
>>> tail = " is fun!"
>>> head + tail
'Python is fun!'
(2) 문자열 곱하기
>>> a = "python"
>>> a * 2
'pythonpython'
(3) 문자열 곱하기 응용
# multistring.py
print("=" * 50)
print("My Program")
print("=" * 50)
(4) 문자열 길이 구하기
>>> a="Life is too short"
>>> len(a)
17
8. 문자열 인덱싱과 슬라이싱
-인덱싱(Indexing)이란 무엇인가를 '가리킨다'는 의미, 슬라이싱(Slicing)은 무엇인가를 '잘라낸다'는 의미
(1) 문자열 인덱싱
>>> a = "Life is too short, You need Python"
>>> a[3]
'e'
"파이썬은 0부터 숫자를 센다."
(2) 문자열 인덱싱 활용하기
>>> a = "Life is too short, You need Python"
>>> a[0]
'L'
>>> a[12]
's'
>>> a[-1]
'n'
(3) 문자열 슬라이싱(Slicing)
>>> a = "Life is too short, You need Python"
>>> b = a[0] + a[1] + a[2] + a[3]
>>> b
'Life'
a = "Life is too short, You need Python"
a[0:4]
'Life'
*슬라이싱 기법으로 a[시작 번호: 끝 번호]를 지정할 때 끝 번호에 해당하는 것은 포함하지 않는다.
a[시작 번호: 끝 번호]에서 끝 번호 부분을 생략하면 시작 번호부터 그 문자열의 끝까지 뽑아낸다.
>>>a[19:]
'You need Python'
a[시작 번호: 끝 번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝 번호까지 뽑아낸다.
>>> a[:17]
'Life is too short'
a[시작 번호: 끝 번호]에서 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지를 뽑아낸다.
>>> a[:]
'Life is too short, You need Python'
슬라이싱에서도 인덱싱과 마찬가지로 마이너스 기호를 사용할 수 있다.
>>> a[19:-7]
'You need'
*Pithon이라는 문자열을 Python으로 바꾸기
>>> a = "Pithon"
>>> a[1]
'i'
a[1] = 'y'
=> immutable한 자료형: 문자열의 요솟값은 바꿀 수 있는 값이 아니기 때문에 오류 발생!
Solution
>>> a = "Pithon"
>>> a[:1]
'P'
>>> a[2:]
'thon'
>>> a[:1] + 'y' + a[2:]
'Python'
9. 문자열 포매팅(Formatting): 문자열 안에 어떤 값을 삽입하는 방법
(1) 숫자 바로 대입
>>> "I eat %d apples." %3
'I eat 3 apples.'
-%d: 문자열 포맷 코드
(2) 문자열 바로 대입
>>> "I eat %s apples." % "five"
'I eat five apples.'
(3) 숫자 값을 나타내는 변수로 대입
>>> number = 3
>>> "I eat %d apples." % number
'I eat 3 apples.'
(4) 2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate %d apples. so I was sick for %s days." % (number, day)
'I ate 10 apples. so I was sick for three days.'
10. 문자열 포맷 코드
| 코드 | 설명 |
| %s | 문자열(String) |
| %c | 문자 1개(Character) |
| %d | 정수(Integer) |
| %f | 부동 소수(Floating-point) |
| %o | 8진수 |
| %x | 16진수 |
| %% | Literal % (문자 '%' 자체) |
*포매팅 연산자 %d와 %를 같이 쓸 때는 %%를 쓴다.
>>> "Error is %d%." % 98
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: incomplete format
=> 문자열 안에 %d와 같은 포매팅 연산자가 없으면 %는 홀로 쓰여도 상관 없음!
Solution
>>> "Error is %d%%." % 98
'Error is 98%'
11. 포맷 코드와 숫자 함께 사용하기
(1) 정렬과 공백
>>> "%10s" % "hi"
' hi'
>>> "%-10sjane" % 'hi'
'hi jane'
(2) 소수점 표현하기
>>> "%0.4f" % 3.42134234
'3.4213'
>>> "%10.4f" % 3.42134234
' 3.4213'
(3) format 함수를 사용한 포매팅
>>> "I eat {0} apples".format(3)
'I eat 3 apples'
>>> "I eat {0} apples".format("five")
'I eat five apples'
>>> number =3
>>> "I eat {0} apples".format(number)
'I eat 3 apples'
2개 이상의 값 넣기
>>> number = 10
>>> day = "three"
>>> "I ate {0} apples. so I was sick for {1} days.".format(number, day)
'I ate 10 apples. so I was sick for three days.'
이름으로 넣기
>>> "I ate {number} apples. so I was sick for {day} days.".format(number=10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
인덱스와 이름을 혼용해서 넣기
>>> "I ate {0} apples. so I was sick for {day} days.".format(10, day=3)
'I ate 10 apples. so I was sick for 3 days.'
왼쪽 정렬
>>> "{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'
{ 또는 } 문자 표현하기
>>> "{{ and }}".format()
'{ and }'
12. f 문자열 포매팅
>>> age = 30
>>> f'나는 내년이면 {age+1}살이 된다.'
'나는 내년이면 31살이 된다.'
딕셔너리
>>> d = {'name':'홍길동', 'age':30}
>>> f'나의 이름은 {d["name"]}입니다. 나이는 {d["age"]}입니다.'
'나의 이름은 홍길동입니다. 나이는 30입니다.'
정렬
>>>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}'
'3.4213'
>>> f'{y:1-.4f}'
' 3.4213'
{} 문자 표시
>>> f'{{ and }}'
'{ and }'
13. 문자열 관련 함수
(1) 문자 개수 세기(count)
>>>a = "happy"
>>>a.count('p')
2
(2) 위치 알려주기 1(find)
>>> a = "Python is the best choice"
>>> a.find('b')
14
>>> a.find('k')
-1
(3) 위치 알려주기 2(index)
>>> a = "Life is too short"
>>> a.index('t')
8
>>> a.index('k')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: substring not found
(4) 문자열 삽입(join)
>>> ",".join('abcd')
'a,b,c,d'
>>> ",".join(['a', 'b', 'c', 'd'])
'a,b,c,d'
(5) 소문자를 대문자로 바꾸기(upper)
>>> a = "hi"
>>> a.upper()
'HI'
(6) 대문자를 소문자로 바꾸기(lower)
>>> a = "HI"
>>> a.lower()
'hi'
(7) 왼쪽 공백 지우기(lstrip)
>>> a = " hi "
>>> a.lstrip()
'hi '
(8) 오른쪽 공백 지우기(rstrip)
>>> a= " hi "
>>> a.rstrip()
' hi'
(9) 양쪽 공백 지우기(strip)
>>> a = " hi "
>>> a.strip()
'hi'
(10) 문자열 바꾸기(replace)
>>> a = "Life is too short"
>>> a.replace("Life", "Your leg")
'Your leg is too short'
(11) 문자열 나누기(split)
>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']'Major > Computer Science' 카테고리의 다른 글
| [파이썬 자료구조] 03. 알고리즘의 성능 (0) | 2025.04.18 |
|---|---|
| [파이썬 자료구조] 02. 재귀와 수학적 귀납법 (0) | 2025.04.16 |
| [파이썬 자료구조] 01. 자료구조 개요 (0) | 2025.04.15 |
| [python web programming] 1. 파이썬 가상환경 (0) | 2025.02.23 |
| 기본 shell 명령어들 정리 (1) | 2025.02.22 |