## 파이썬 자료형 및 연산
## 파이썬 시퀀스
##문자열 포맷팅
##이스케이프 문자
## 파이썬 자료형 및 연산
문자열 자료는 따옴표('') 또는 큰따옴표("")를 이용해 선언
숫자형에 소수점이 보이면 파이썬은 실수형으로 인식
거듭제곱은 **으로 표시 ex) 2**3 > 2의 3승 > 2*2*2 = 8
*******중요***********
리스트 : [] 안에 숫자 또는 문자를 나열한 자료형, 각 요소는 쉼표로 구분
튜플 : 리스트와 비슷하지만 () 을 사용하고 요소 값을 변경할 수 없다!!!
딕셔너리: {} 안에 "키:값"인 요소로 구성된 자료형, 각 요소는 쉼표로 구분하고 키로 값을 접근
******************
>> 파이썬 논리연산자
if(2==3) > 이것은 false이다. false는 숫자로 0과 같고 true는 1과 같다
a and b > a와 b가 모두 참이면 참
a or b > a 또는 b 둘 중 하나라도 참이면 참
not b > b가 거짓이면 참
* 시퀀스 자료형은 순서를 가지고 나열되어 있는 자료형
ex) 문자열, 리스트, 튜플
## 파이썬 시퀀스
* 시퀀스 자료형 인덱싱 사용
> 인덱싱: 시퀀스자료형의 특정요소에 접근하는 방법
> 변수 뒤에 대괄호를 사용해서 인덱스값 입력
ex)
str_example = "testexample"
print(str_example[0])
결과값 : t
> 음수 인덱스는 "끝에서 몇 번째 값"을 의미
ex)
print(str_example[-1])
결과값 : e
> 시퀀스 안에 시퀀스가 있으면, 대괄호를 두번 사용해서 인덱싱
test_list = [[9, 7 , 5], 2, 3, [1,2,3]]
print(test_list[0][-1])
결과값 : 5
해설 : test_list[0][-1]
>> test_list[0]에서 0번째 > [9,7,5]
>> test_list[0][-1] > [9,7,5]에서 끝에서 첫번째 > 5
따라서 test_list[0][-1]은 5를 인덱싱한다
# 시퀀스 슬라이싱
> 인덱싱이 시퀀스 자료형의 하나의 요소에 접근
> 슬라이싱은 시작 인덱스와 끝 인덱스를 이용해서 시퀀스의 일정 범위에 접근
> 변수명[시작인덱스:끝인덱스:스텝]
시작인덱스 : 범위의 시작 지정, 생략할 경우 자료의 처음부터 슬라이싱
끝인덱스 : 범위의 끝을 지정, 생략할 경우 자료의 끝까지 슬라이싱
스텝 : 스텝은 자료를 취하는 간격을 뜻하며 생략할 경우 1로 지정
ex)
test_data = "example"
print(test_data[0:6:3])
결과값 : em
해설 : 0번째 e, 3 간격 m
print(test_data[0:6:2])
결과값 : eap
해설 : 2간격으로 0부터 6까지 > e a p
> [a:b] : a이상 b 미만 순번의 요소를 슬라이싱
> [a:] : 인덱스 a이상 순번의 요소부터 슬라이싱
> [:b] : 인덱스 b미만까지 순번의 요소를 슬라이싱
>[:] : 시퀀스 처음부터 끝까지 모두 슬라이싱
> 시퀀스는 + 로 시퀀스 자료 합치기 가능
str_test1 + str_test2
> 시퀀스는 *로 반복가능
str_test = "repeat"
print(str_test * 2)
결과값 : repeatrepeat
> 시퀀스 자료의 크기는 len() 함수 이용
리스트와 튜플의 크기는 쉼표로 구분되어 있는 요소의 개수
len()을 문자열에 사용시 띄어쓰기까지 크기로 인식
ex)
str_test1 = "나는 아이다"
str_test2 = "나는아이다"
print(len(str_test1))
결과값 : 6
print(len(str_test2))
결과값 : 5
> 파이썬 in 키워드로 시퀀스 자료의 특정요소값 확인
ex)
str_test = 'testistest'
t = 't' in str_test
t는 True 반환
>>****문자열 안의 ", ' 와 변수에 줄 바꿔서 출력하도록 세팅
문자열 내에 '이 포함되어 있을 경우 "를,
"이 포함되어 있을 경우 '를 사용하여 선언
> str_test = '''test
입니다
여러분'''
이렇게 선언을 하면 print(str_test)를 하면
test
입니다
여러분
이렇게 줄 바뀜이 일어난 상태로 출력이된다.!!!!!!
##문자열 포맷팅
print('안녕 %s, 지금은 테스트 중이죠 %s 씨?' %(name1, name2))
** 주의할점
print('안녕 %s, 지금은 테스트 중이죠 %s 씨?' , %(name1, name2))
처럼 중간에 ,가 들어가면 SyntaxError: invalid syntax
,를 없이 ...씨?" %(name1... 이렇게 써야 한다
IndentationError: unexpected indent
이 에러는 들여쓰기 에러이다
- %s: 문자열을 대입
- %c: 문자 또는 기호 한 개를 대입
- %f: 실수를 대입
- %d: 정수를 대입
##이스케이프 문자
- \n : 줄 바꾸기
- \t : 탭
- \엔터 : 줄 계속
- \\ : \ 기호
- \" : “ 기호
- \' : ' 기호
댓글