10. 파이썬 - 불, 문자열, 리스트와 튜플
1. 불과 비교, 논리 연산자
불리언 타입 bool
True
와 False
가 예약어로 미리 지정되어 있기 때문에 첫 문자를 항상 대문자로 사용해야한다.
bool()
: 인수로 전달된 데이터의 참과 거짓 판단
- 비어있으면
False
, 비어있지 않으면 True
- 정수 0, 실수 0.0 일때
False
비교 연산자 (무조건 bool 반환)
<
≤
==
≠
(값을 비교)
is
와 is not
(객체를 비교)
# 숫자가 같은지 비교 (기준은 첫번째 값)
>>> 10 < 20
True
# 문자열이 같은지 비교
>>> 'Python' == 'python'
False
# 객체가 같은지 비교
>>> 1 == 1.0
True # 값은 같다
>>> 1 is 1.0
False # 정수 객체와 실수 객체
>>> 1 is not 1.0
True
논리 연산자
and
or not
# and : 두 값이 모두 t일때 t
>>> False and True
False
# or : 하나라도 t이면 t
>>> True or False
True
# not : 논리값 뒤집기
>>> not True and False or not False
False and False or True
False or True
True
# not, and, or 순으로 판단
-
비교 연산자를 먼저 판단하고 논리 연산자를 판단한다.
-
단락평가에 따라 논리 연산자의 결과가 달라질 수 있다.
and 일때 첫 번째 값이 거짓이면 바로 거짓으로 결정
or 일때 첫 번째 값이 참이면 바로 참으로 결정
마지막 평가를 실시한 값을 그대로 반환한다.
# 두번째까지 평가해야 되서 두번째 값 반환
>>> True and 'Python'
'Python'
>>> 'Python' and True
True
# 첫번째만 평가하면 되서 첫번째 값 반환
>>> True or 'Python'
True
>>> 'Python' or True
'Python'
2. 문자열
-
문자열안에 따옴표'
를 넣으려면 다른 따옴표"
로 묶어준다.
혹은 따옴표 바로 앞에 \
(역슬래시)를 붙인다.
-
여러줄로 된 문자열은 따옴표 세개 '''
, """
혹은 개행 문자 \n
을 넣어 줄을 바꾼다.
개행문자도 하나의 문자로 인식된다. len()
함수로 확인가능
-
한 줄이 너무 길면 \
를 넣고 줄바꿈을 하면 계속 입력 가능하다.
-
+
로 연결 할 수 있고 *
로 반복 연결 할 수 있다.
-
문자열도 인덱스로 접근 가능하다. (한글도 동일)
→ 슬라이싱 가능
특정 문자의 개수 및 위치
count()
함수 : 인자로 받은 문자가 몇개 포함되어 있는지 확인
find()
나 index()
함수 : 인자로 받은 문자가 처음으로 등장하는 인덱스를 확인
py = "python programming"
print(py.count('p')) # 2
print(py.find('o')) # 4
print(py.index('o')) # 4
# 포함되어 있지 않은 경우
print(py.find('z')) # -1 (없으면 무조건 -1을 반환)
print(py.index('o')) # ValueError
대소문자 변환
upper()
함수 : 모든 문자를 대문자로 변환
lower()
함수 : 모든 문자를 소문자로 변환
py = "Python"
print(py.upper()) # PYTHON
print(py.lower()) # python
# 원본은 변하지 않는다.
print(py) # Python
문자열 변경하기
-
replace()
함수 : 첫번째 인자에 해당하는 문자를 찾아서 두번째 인자로 변경한다.
해당하는 문자가 없으면 원본 그대로 반환한다.
py = "파이썬 공부는 너무 재밌어요!"
# '파이썬'을 '자바'로 변경
print(py.replace("파이썬", "자바"))
# 자바 공부는 너무 재밌어요!
print(py)
# 파이썬 공부는 너무 재밌어요!
# (원본은 변하지 않는다.)
문자열 나누기
split()
함수 : 인자로 받은 문자를 기준으로 해당 문자열을 나눠서 하나의 리스트로 반환
py = "파이썬 공부는 너무 재밌어요!"
print(py.split(' ')) # 띄어쓰기 기준
# ['파이썬', '공부는', '너무', '재밌어요!']
print(py.split()) # 공백 기준 (띄어쓰기, 탭, 줄바꿈 등)
# ['파이썬', '공부는', '너무', '재밌어요!']
print(py)
# 파이썬 공부는 너무 재밌어요!
# (원본은 변하지 않는다.)
3. 리스트와 튜플
리스트 만들기
# 빈 리스트 만들기
>>> a = []
>>> a
[]
>>> b = list()
>>> b
[]
# 여러 자료형을 저장
>>> person = ['james', 17, 175.3, True]
>>> person
['james', 17, 175.3, True]
range
를 사용해 리스트 만들기
-
range(횟수)
는 연속된 숫자가 들어있는 리스트를 반환한다.
-
횟수(끝)
로 지정한 숫자는 포함하지 않는다.
-
파이썬3에서 range(횟수)
는 range 객체를 만든다.
-> 메모리를 적게 사용할 수 있다. 파이썬 2.7xrange
와 같음.
# range(횟수)
>>> range(10)
range(0, 10)
# 10을 포함하지 않는다.
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 리스트 = list(range(시작, 끝))
# 시작과 끝 숫자 지정 (끝은 포함하지 않는다.)
>>> b = list(range(5, 12))
>>> b
[5, 6, 7, 8, 9, 10, 11]
# 리스트 = list(range(시작, 끝, 증가폭))
# 증가폭을 지정한다. (끝은 포함하지 않는다.)
>>> c = list(range(-4, 10, 2))
>>> c
[-4, -2, 0, 2, 4, 6, 8]
>>> d = list(range(10, 0, -1))
>>> d
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
튜플 만들기
-
튜플은 리스트처럼 요소를 일렬로 저장하지만,
안에 저장된 요소를 변경, 추가, 삭제 할 수 없다.
-
튜플 = (값, 값, 값) / 튜플 = 값, 값, 값
-
요소가 한 개인 튜플 만들기
튜플 = (값, ) / 튜플 = 값,
range
를 사용해 튜플 만들기
# 튜플 = tuple(range(횟수))
# 튜플 = tuple(range(시작, 끝))
# 튜플 = tuple(range(시작, 끝, 증가폭))
>>> c = tuple(range(-4, 10, 2))
>>> c
(-4, -2, 0, 2, 4, 6, 8)
튜플을 리스트로, 리스트를 튜플로 만들기
# tuple 안에 리스트 넣어서 새 튜플 만들기
>>> a = [1, 2, 3]
>>> tuple(a)
(1, 2, 3)
# list 안에 튜플 넣어서 새 리스트 만들기
>>> b = (4, 5, 6)
>>> list(b)
[4, 5, 6]
# 안에 문자열을 넣으면?
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
>>> tuple('Hello')
('H', 'e', 'l', 'l', 'o')
리스트와 튜플로 변수 만들기
# 변수 여러개를 한 번에 만들기
# 변수의 개수와 요소의 개수는 같아야 한다.
>>> a, b, c = [1, 2, 3]
>>> print(a, b, c)
1 2 3
>>> d, e, f = (4, 5, 6)
>>> print(d, e, f)
4 5 6
# 리스트 언패킹
>>> x = [1, 2, 3]
>>> a, b, c = x
>>> print(a, b, c)
1 2 3
# 튜플 언패킹
>>> y = (4, 5, 6)
>>> d, e, f = y
>>> print(d, e, f)
4 5 6
Author And Source
이 문제에 관하여(10. 파이썬 - 불, 문자열, 리스트와 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@palza4dev/TIL-10.-파이썬-불-문자열-리스트와-튜플
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
True
와 False
가 예약어로 미리 지정되어 있기 때문에 첫 문자를 항상 대문자로 사용해야한다.bool()
: 인수로 전달된 데이터의 참과 거짓 판단- 비어있으면
False
, 비어있지 않으면True
- 정수 0, 실수 0.0 일때
False
<
≤
==
≠
(값을 비교)is
와 is not
(객체를 비교)# 숫자가 같은지 비교 (기준은 첫번째 값)
>>> 10 < 20
True
# 문자열이 같은지 비교
>>> 'Python' == 'python'
False
# 객체가 같은지 비교
>>> 1 == 1.0
True # 값은 같다
>>> 1 is 1.0
False # 정수 객체와 실수 객체
>>> 1 is not 1.0
True
and
or not
# and : 두 값이 모두 t일때 t
>>> False and True
False
# or : 하나라도 t이면 t
>>> True or False
True
# not : 논리값 뒤집기
>>> not True and False or not False
False and False or True
False or True
True
# not, and, or 순으로 판단
비교 연산자를 먼저 판단하고 논리 연산자를 판단한다.
단락평가에 따라 논리 연산자의 결과가 달라질 수 있다.
and 일때 첫 번째 값이 거짓이면 바로 거짓으로 결정
or 일때 첫 번째 값이 참이면 바로 참으로 결정
마지막 평가를 실시한 값을 그대로 반환한다.
# 두번째까지 평가해야 되서 두번째 값 반환
>>> True and 'Python'
'Python'
>>> 'Python' and True
True
# 첫번째만 평가하면 되서 첫번째 값 반환
>>> True or 'Python'
True
>>> 'Python' or True
'Python'
-
문자열안에 따옴표
'
를 넣으려면 다른 따옴표"
로 묶어준다.혹은 따옴표 바로 앞에
\
(역슬래시)를 붙인다. -
여러줄로 된 문자열은 따옴표 세개
'''
,"""
혹은 개행 문자
\n
을 넣어 줄을 바꾼다.개행문자도 하나의 문자로 인식된다.
len()
함수로 확인가능 -
한 줄이 너무 길면
\
를 넣고 줄바꿈을 하면 계속 입력 가능하다. -
+
로 연결 할 수 있고*
로 반복 연결 할 수 있다. -
문자열도 인덱스로 접근 가능하다. (한글도 동일)
→ 슬라이싱 가능
특정 문자의 개수 및 위치
count()
함수 : 인자로 받은 문자가 몇개 포함되어 있는지 확인find()
나index()
함수 : 인자로 받은 문자가 처음으로 등장하는 인덱스를 확인
py = "python programming"
print(py.count('p')) # 2
print(py.find('o')) # 4
print(py.index('o')) # 4
# 포함되어 있지 않은 경우
print(py.find('z')) # -1 (없으면 무조건 -1을 반환)
print(py.index('o')) # ValueError
대소문자 변환
upper()
함수 : 모든 문자를 대문자로 변환lower()
함수 : 모든 문자를 소문자로 변환
py = "Python"
print(py.upper()) # PYTHON
print(py.lower()) # python
# 원본은 변하지 않는다.
print(py) # Python
문자열 변경하기
-
replace()
함수 : 첫번째 인자에 해당하는 문자를 찾아서 두번째 인자로 변경한다.해당하는 문자가 없으면 원본 그대로 반환한다.
py = "파이썬 공부는 너무 재밌어요!"
# '파이썬'을 '자바'로 변경
print(py.replace("파이썬", "자바"))
# 자바 공부는 너무 재밌어요!
print(py)
# 파이썬 공부는 너무 재밌어요!
# (원본은 변하지 않는다.)
문자열 나누기
split()
함수 : 인자로 받은 문자를 기준으로 해당 문자열을 나눠서 하나의 리스트로 반환
py = "파이썬 공부는 너무 재밌어요!"
print(py.split(' ')) # 띄어쓰기 기준
# ['파이썬', '공부는', '너무', '재밌어요!']
print(py.split()) # 공백 기준 (띄어쓰기, 탭, 줄바꿈 등)
# ['파이썬', '공부는', '너무', '재밌어요!']
print(py)
# 파이썬 공부는 너무 재밌어요!
# (원본은 변하지 않는다.)
3. 리스트와 튜플
리스트 만들기
# 빈 리스트 만들기
>>> a = []
>>> a
[]
>>> b = list()
>>> b
[]
# 여러 자료형을 저장
>>> person = ['james', 17, 175.3, True]
>>> person
['james', 17, 175.3, True]
range
를 사용해 리스트 만들기
-
range(횟수)
는 연속된 숫자가 들어있는 리스트를 반환한다.
-
횟수(끝)
로 지정한 숫자는 포함하지 않는다.
-
파이썬3에서 range(횟수)
는 range 객체를 만든다.
-> 메모리를 적게 사용할 수 있다. 파이썬 2.7xrange
와 같음.
# range(횟수)
>>> range(10)
range(0, 10)
# 10을 포함하지 않는다.
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 리스트 = list(range(시작, 끝))
# 시작과 끝 숫자 지정 (끝은 포함하지 않는다.)
>>> b = list(range(5, 12))
>>> b
[5, 6, 7, 8, 9, 10, 11]
# 리스트 = list(range(시작, 끝, 증가폭))
# 증가폭을 지정한다. (끝은 포함하지 않는다.)
>>> c = list(range(-4, 10, 2))
>>> c
[-4, -2, 0, 2, 4, 6, 8]
>>> d = list(range(10, 0, -1))
>>> d
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
튜플 만들기
-
튜플은 리스트처럼 요소를 일렬로 저장하지만,
안에 저장된 요소를 변경, 추가, 삭제 할 수 없다.
-
튜플 = (값, 값, 값) / 튜플 = 값, 값, 값
-
요소가 한 개인 튜플 만들기
튜플 = (값, ) / 튜플 = 값,
range
를 사용해 튜플 만들기
# 튜플 = tuple(range(횟수))
# 튜플 = tuple(range(시작, 끝))
# 튜플 = tuple(range(시작, 끝, 증가폭))
>>> c = tuple(range(-4, 10, 2))
>>> c
(-4, -2, 0, 2, 4, 6, 8)
튜플을 리스트로, 리스트를 튜플로 만들기
# tuple 안에 리스트 넣어서 새 튜플 만들기
>>> a = [1, 2, 3]
>>> tuple(a)
(1, 2, 3)
# list 안에 튜플 넣어서 새 리스트 만들기
>>> b = (4, 5, 6)
>>> list(b)
[4, 5, 6]
# 안에 문자열을 넣으면?
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
>>> tuple('Hello')
('H', 'e', 'l', 'l', 'o')
리스트와 튜플로 변수 만들기
# 변수 여러개를 한 번에 만들기
# 변수의 개수와 요소의 개수는 같아야 한다.
>>> a, b, c = [1, 2, 3]
>>> print(a, b, c)
1 2 3
>>> d, e, f = (4, 5, 6)
>>> print(d, e, f)
4 5 6
# 리스트 언패킹
>>> x = [1, 2, 3]
>>> a, b, c = x
>>> print(a, b, c)
1 2 3
# 튜플 언패킹
>>> y = (4, 5, 6)
>>> d, e, f = y
>>> print(d, e, f)
4 5 6
Author And Source
이 문제에 관하여(10. 파이썬 - 불, 문자열, 리스트와 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@palza4dev/TIL-10.-파이썬-불-문자열-리스트와-튜플
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# 빈 리스트 만들기
>>> a = []
>>> a
[]
>>> b = list()
>>> b
[]
# 여러 자료형을 저장
>>> person = ['james', 17, 175.3, True]
>>> person
['james', 17, 175.3, True]
range
를 사용해 리스트 만들기range(횟수)
는 연속된 숫자가 들어있는 리스트를 반환한다.
횟수(끝)
로 지정한 숫자는 포함하지 않는다.
파이썬3에서 range(횟수)
는 range 객체를 만든다.
-> 메모리를 적게 사용할 수 있다. 파이썬 2.7xrange
와 같음.
# range(횟수)
>>> range(10)
range(0, 10)
# 10을 포함하지 않는다.
>>> a = list(range(10))
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 리스트 = list(range(시작, 끝))
# 시작과 끝 숫자 지정 (끝은 포함하지 않는다.)
>>> b = list(range(5, 12))
>>> b
[5, 6, 7, 8, 9, 10, 11]
# 리스트 = list(range(시작, 끝, 증가폭))
# 증가폭을 지정한다. (끝은 포함하지 않는다.)
>>> c = list(range(-4, 10, 2))
>>> c
[-4, -2, 0, 2, 4, 6, 8]
>>> d = list(range(10, 0, -1))
>>> d
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
튜플은 리스트처럼 요소를 일렬로 저장하지만,
안에 저장된 요소를 변경, 추가, 삭제 할 수 없다.
튜플 = (값, 값, 값) / 튜플 = 값, 값, 값
요소가 한 개인 튜플 만들기
튜플 = (값, ) / 튜플 = 값,
range
를 사용해 튜플 만들기# 튜플 = tuple(range(횟수))
# 튜플 = tuple(range(시작, 끝))
# 튜플 = tuple(range(시작, 끝, 증가폭))
>>> c = tuple(range(-4, 10, 2))
>>> c
(-4, -2, 0, 2, 4, 6, 8)
# tuple 안에 리스트 넣어서 새 튜플 만들기
>>> a = [1, 2, 3]
>>> tuple(a)
(1, 2, 3)
# list 안에 튜플 넣어서 새 리스트 만들기
>>> b = (4, 5, 6)
>>> list(b)
[4, 5, 6]
# 안에 문자열을 넣으면?
>>> list('Hello')
['H', 'e', 'l', 'l', 'o']
>>> tuple('Hello')
('H', 'e', 'l', 'l', 'o')
# 변수 여러개를 한 번에 만들기
# 변수의 개수와 요소의 개수는 같아야 한다.
>>> a, b, c = [1, 2, 3]
>>> print(a, b, c)
1 2 3
>>> d, e, f = (4, 5, 6)
>>> print(d, e, f)
4 5 6
# 리스트 언패킹
>>> x = [1, 2, 3]
>>> a, b, c = x
>>> print(a, b, c)
1 2 3
# 튜플 언패킹
>>> y = (4, 5, 6)
>>> d, e, f = y
>>> print(d, e, f)
4 5 6
Author And Source
이 문제에 관하여(10. 파이썬 - 불, 문자열, 리스트와 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@palza4dev/TIL-10.-파이썬-불-문자열-리스트와-튜플저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)