Reviews_
제어문 (if)
- 프로그램의 흐름을 제어
- if 문의 형식
- 조건문 : t/f 로 반환하는 비교연산식/ 답
- if 에 의해 실행되어야할 문장은 같은 들여쓰기
- else: -> if 에 제시된 조건문이 거짓일때 실행되어지는 문장
- elif: -> 여러개의 조건들을 확인해야 할때.
- elif에 의해 조건이 참이 되면 더이상 조건 체크를 하지 않는다.
- 비교연산식 대신, t/f 로 표현될 수 있는 변수를 바로 쓸 수 있음. 변수 자체가 논리식. 변수의 논리값은 python(2) 참고
- 들여쓰기 오류조심
반복문 (while / for)
while / break / continue
- 조건문이 참일때까지 반복.
- while else / for else : 반복문이 빠져나오지 않고 (정상적으로) 끝까지 완수했을떄
실행되어지는 문장 -> else 이하
- 반복문을 빠져나오는 경우에는 else의 문장들이 실행되지 않는다.
- break : 두 키워드가 발동되기 위한 조건 체크 -> 반복문 완전빠져나감
- continue : 그 다음으로 skip
for
- for 변수 in rang(start,end,step) : start default 0, step default 1
- for 변수 in list (열겨형 데이터)
- 반복문과 컬렉션을 함께 쓸때 - 파이썬다운 코드 List Comprehension
a = [1,2,3,4]
result = [num*3 for num in a]
print(result)
실행순서
for num in a -> 1
num * 3 -> 2
a = [1,2,3,4]
result[num*3 for num in a if num % 2 == 0]
print(result)
실행순서
for -> 1
if -> 2
num -> 3
for 문 반복문 중첩해서 사용 가능. (구구단 만들기)
중첩 반복문
전체 반복문 : outer for 문의 횟수 x inner for 문의 반복 횟수 : 8 * 9
outer 첫번째 값 -> inner for 반복
outer의 다음 인덱스 값 -> inner for 반복
for dan in range(2,10): -> 2부터 9까지 연속적인 값.
for num in range (1,10):
print(dan, ' ', 'num', '=', 'dan num')
문자열
문자열의 특징
- 객체값을 변경할 수 없다. (문자열은 immutable한 데이터이다.)
a = [1,2,3] -> a = 리스트 객체
a.append (4) -> a = [1,2,3,4]
S = 'abc'
id(S) -> 123
S = S + 'def'
S = 'abcdef' -> 새로운 값으로 대입.
id(S) -> 125
문자열은 객체값 불변
- 변수의 주소 값을 확인할때 사용하는 함수 : id()
- '문자열',"문자열","""문자열""",'''문자열'''
- 문자열 연결 : + (문자열과 숫자연결 불가->str()함수 이용 )
- 문자열 반복 : *
EscapeSequence
- 문자 앞에 \를 붙여 언어에서 정의되어 있는 원래의 의미를 벗어나는 문자들을 말함.
- \ : 역슬래시
- * : 작은따옴표
- \" : 큰따옴표
- \a : ASCII 벨
- \b : ASCII 백스페이스 *
- \n : ASCII 라인피드 * (줄바꾸기)
- \r : ASCII 캐러지 리턴 * (커서를 앞으로 땡김)
- \t : ASCII 가로 탭 *
- \f : ASCII 폼피드
문자열 연산
S = 'abc;
len(s) -> 3
- 파이썬에서 문자열은 리스트를 통해 관리. 각 글자 하나마다 위치값을 가지고 있음.
-> 앞에서 셀떄
0 1 2 3 4 5
p y t h o n
<- 뒤에서 셀때
-6-5-4-3-2-1
추출[슬라이싱:특정 벡터에서 특정 위치값을 추출]
- 파이썬 문자열은 자바의 배열처럼 동작
- 음수 사용 가능
S ='abcdef'
S[start: end: step]
S[:] : 처음부터 끝까지 슬라이싱 해라
S[:] -> 'abcdef'
S[2:] -> 'cdef' / 0부터 시작
S[:3] -> 'abc' , [:end] -> end-1 까지 슬라이싱
S[start:end:step] -> step 만큼 문자를 건너뛰면서, start 오프셋부터 end-1 오프셋까지 적용
문자열 관련 함수
S= ' ' S.함수명()
- lower() : 소문자 변경
- upper() : 대문자 변경
- count() : 해당 문자열이 몇개 있는 지 출력
- len() : 문자열의 길이를 센다
-> S = 'abcaab'
S.count('a') = 3
- endwidth() : 지정된 문자열로 끝났는지 여부 출력 -> T/F
- startswith()
- find() : 지정된 문자열의 위치값(오프셋 값) 리턴
S.find('c') : 2
S.find('g') : -1 찾지 못한 경우 -1 의 값 리턴.
- 구분문자.join(list)
- split(구분자)
S = '동해물과 백두산이 마르고 닳도록'
S.split() -> ['동해물과', '백두산이','마르고 닳도록' ]
문자열 대입