PYTHON
파이썬 기본 문법
Jonny
2022. 4. 27. 21:21
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230
데이터 다루기 - 수, 텍스트, 비트
- 파이썬에서는 모든 자료를 객체로 구현
- 내장객체
- 수치형, 문자열, 리스트, 튜플, 딕셔너리, 셋, 파일
- 사용자 생성객체
- 클래스
- 내장객체
- 수 다루기
- 정수, 실수, 복소수
- 연산자 - , +, * , / 등등
- 내장(수학)함수 - abs함수 등
- 라이브러리 모듈 - math 모듈 등
- 텍스트 다루기
- 문자열
- 연산자 +, * , []
- 내장 함수 len 함수 등
- 라이브러리 모듈 string 모듈 등
- 수와 텍스트 변환 (형 변환)
- 비트 다루기
- 시프트 연산자
- 비트 논리 연산자
- 파이썬에서 변수란?(핵심)
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
- 데이터(객체)는 히프 영역에 잡히고, 데이터(객체)의 주소를 저장 하는 변수는 정적 영역과 스택 영역에 잡힘
- 객체에 대한 주소 값이 변수이고, 파이썬에서는 이를 레퍼런스로 취급
- 데이터는 객체의 형태로 독자적으로 저장되고, 변수에는 데이터의 주소가 저장 (변수명은 데이터(객체)에 대한 레퍼런스)
변수
- 실습 1
- 실습 2
수 다루기
- 파이썬은 기본적으로 지원하는 세 종류의 수
- 정수
- 음의 정수, 0, 양의 정수
- 파이썬에서는 메모리가 허용하는 한, 무한대의 정수를 다룰 수 있음(크기는 8-byte)
- 변수 형식 확인
- 실수
- 복소수
- 정수
- 파이썬에서 제공하는 사칙 연산자연산기호
더하기 + 빼기 - 곱하기 * 나눗셈의 몫 구하기(정수 나누기) // 나눗셈의 나머지 구하기 % 나누기(부동소수점 나누기) / - 나눗셈의 몫 연산과 나머지 연산
- 참고
- 10진수, 2진수, 16진수
- 10진수를 16진수 문자열로 변환
- 16진수 데이터를 변수에 할당
- 0x, 0b, 0o
- 16진수 접두사 : 0x
- 2진수 접두사 : 0b
- 8진수 접두사 : 0o
- 10진수를 2진수 문자열로 변환
- 2진수를 변수에 할당
- a = 0b100 a 4 b = 0b1001 b 9 c = 0b11111111 c 255
내장 함수를 이용한 계산
- 절대값, 버림과 반올림
함수설명비고
abs() | 절대값 계산 함수 | 내장 함수 |
round() | 반올림 계산 함수 | 내장 함수 |
trunc() | 버림 계산 함수 | math 모듈 |
abs(10)
10
abs(-10)
10
round(1.4)
1
round(1.5)
2
- math 모듈
import math
math.pi
3.141592653589793
math.e
2.718281828459045
math.trunc(1.4)
1
math.trunc(1.5)
1
# 파이썬 코드에서 "."은 "~의"로 해석
# math.pi는 math의 pi
- 팩토리얼
- 1부터 어떤 양의 정수 n까지의 정수의 곱 ( factorial() )
- math.factorial(5) 120 math.factorial(10) 3628800
- 제곱과 제곱근
함수설명비고
** | 제곱 연산 | 연산자 |
pow() | **와 같습니다 | math 모듈 |
sqrt() | 제곱근 연산 | math 모듈 |
3 ** 3
27
math.pow(3, 3)
27.0
math.sqrt(4)
2.0
math.sqrt(16)
4.0
27 ** (1/3)
3.0
math.pow(81, 0.5)
9.0
텍스트 다루기
- 문자열을 다룰 때의 + 연산자는 두 문자열을 하나로 이어 붙임
-
- 연산자가 문자열을 분리하는 것은 아님!
- 시작 오프셋은 0, 1, 2..
- 끝에서 왼쪽으로 가는 오프셋은 -1, -2 ,-3 ....
- 문자열분리(슬라이싱)는 [와 ] 연산자를 통해 수행
- [start:end:step] : (end-1) 오프셋까지 추출
- [::-1] → 역순으로 추출
hello = 'Hello'
world = 'World'
hello_world = hello + ','+ world
hello_world
'Hello,World'
s = 'Good Morning'
s[0:4] #문자열 S의 0번째 문자부터 4번짜 문자 앞까지를 분리
'Good'
a = 'Good Morning'
b = a[0:4]
c = a[5:12] #슬라이싱을 하더라도 원본은 그대로 유지
a
'Good Morning'
b
'Good'
c
'Morning'
- 특정 위치에 있는 문자를 참조하고 싶을 때는 대괄호 [와 ] 사이에 index번호 하나만 입력
- in 연산자는 원하는 부분이 순서열 안에 존재 하는지를 확인
- len() 순서열 길이를 재는 함수
a = 'Good Morning'
a[0]
'G'
a[8]
'n'
'Good' in a
True
'X' in a
False
len(a)
12
- startswith()
- 원본 문자열이 매개변수로 입력한 문자열로 시작되는지를 판단. True False 반환
- endswith()
- 원본 문자열이 매개변수로 입력한 문자열로 끝나는지를 판단. True False 반환
- find(), rfind()
- 원본 문자열 안에 매개변수로 입력한 문자열이 존재하는지 앞(find), 뒤(rfind)에서 찾는다. 없으면 -1 반환
- count
- 원본 문자열 안에 매개변수로 입력한 문자열이 몇 번 등장하는지를 셈
- replace()
- 원본 문자열에서 찾고자 하는 문자열을 바꾸고자 하는 문자열로 변경
- a = ‘Hello, World’
- b = a.replace(’World’, ‘Korea)
- split()
- 매개변수로 입력한 문자열을 기준으로 원본 문자열을 나누어 리스트를 만듬.
- format()
- a = ‘My name is {0}. i am {1} years old’.format(’Mario’, 40)
- b = ‘My name is {name}. i am {age} years old’.format(name =’yo’, age =25)
수에서 텍스트로, 텍스트에서 수로
print("첫 번째 수를 입력하세요: ")
a = input()
print("두 번째 수를 입력하세요: ")
b = input()
result = int(a) * int(b)
print("{0} * {1} = {2}".format(a, b, result))
#실행결과
=========== RESTART: /Users/an-yohan/Desktop/Python/input_multiply.py ==========
첫 번째 수를 입력하세요:
10
두 번째 수를 입력하세요:
23
10 * 23 = 230