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
논리 연산자
- andor- 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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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
Trueand 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.)
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (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 6Author And Source
이 문제에 관하여(10. 파이썬 - 불, 문자열, 리스트와 튜플), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@palza4dev/TIL-10.-파이썬-불-문자열-리스트와-튜플저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)