2장 - 파이 재료
2.1. variable
- 소문자, 대문자, 숫자, underscore (_) -> only can use for variable
- reserved word can't be used for var ( False, None, True, and, as, assert,break, class, continue, def, del, elif, else, if, except, finally, for, from, global, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield )
2.2. num
2.2.1. int (정수)
- +123 : 그냥 123
- 음수 표현: -를 숫자 앞에 붙인다.
- 나눗셈에는 2가지 방식이 있다: / -> 부동소수점, // -> 정수(소수점 제외 결과)
- 0으로 나누면 예외 (ZeroDivisionError)
a = 95
a -= 3
a
divmod(9, 5)
# 소숫점을 제외한 몫과 나머지를 나누는 함수
2.2.3. 진수
숫자 앞에 다음을 붙이면 2, 8, 16진수를 사용할 수 있다.
- 2진수: 0b, 0B
- 8진수: 0o, 0O
- 16진수: 0x, 0X
2.2.4. 형변환
int()함수: 정수형으로 변환
- True는 0, False는 1
2.3. 문자열 string
in Python, string is immutable.
- 빈문자열; '', "" 등... -> 문자열을 합칠 때 공백 입력 가능
bottles = 99
# base = ''
base += 'current inventory: '
base += str(bottles)
print(base)
2.3.3. 이스케이프 문자
파이썬은 문자열 안의 일부 문자의 의미를 다르게 해석 -> 특정 효과 부여 가능 back slash () 사용
- \n : 줄바꿈 기호
- \t : tab
- \" 로 이중인용 표현 가능
- \를 입력하고 싶을때는 \로
testimony = "\"I did nothing!\" he said."
print(testimony)
testimony += "\\"
print(testimony)
2.3.4 결합: +
파이썬은 문자열 결합시 공백을 자동으로 넣지 않음 (print()는 인자 사이에 공백을 붙임)
2.3.5. 복제하기 : *
- 연산자를 활용해 문자열 복제
# 2.3.5 예제
start = 'Na ' * 4 + "\n"
middle = 'hey '*3 + "\n"
end = 'Goodbye.'
print(start + start + middle + end)
2.3.6.문자 추출: []
letters[5] 와 같은 형태로 특정 문자열을 뽑을 수 있다. 문자열은 불변하기 때문에 특정 인덱스에 문자 삽입, 변경할 수 없다
대신 replace(), indexing slice 등을 활용해서 바꿀 수 있다
2.3.7 슬라이스 [start:end:stop]
- [:] 처음부터 끝까지 전체 추출
- [start:] start부터 끝까지 추출
- [:end] from the start to (end - 1)
- [start:end] from the start to (end-1)
2.3.8. 길이: len()
len() 형식으로 문자열의 길이를 잴 수 있음 문자열 함수는 string.function(arguments) 형식으로 사용
2.3.9. 나누기: split()
todos.split(',') : , (쉼표)를 기준으로 string을 split한다
- 구분자를 지정하지 않으면 공백 문자를 자동으로 사용 (\n, ' ', 'tab)
2.3.10. 결합하기: join()
문자열 list를 하나의 문자열로 결합. 결합할 문자열 지정한 다음에 리스트를 결합
- string.join(list) 형태로 사용
- ex) '\n'.join(lines)
2.3.11. 문자열 다루기
파이썬의 많은 문자열 함수를 활용해서 다양하게 사용 가능
# all 자로 시작하는가?
poem.startswith('all')
# wet... 으로 끝나는가 ? (줄바꿈 문자도 있다)
poem.endswith('and wet...\n')
#첫번째로 the 가 나오는 오프셋은?
word = 'the'
poem.find(word)
#마지막으로 the 가 나오는 오프셋?
poem.rfind(word)
# the 가 몇개 나오는가?
poem.count(word)
#시가 글자, 숫자로만 이뤄졌는가?
poem.isalnum()
2.3.12 대소문자, 배치
내장함수- strip : 시퀀스 삭제
- 문자열은 불변하기 때문에 setup 문자열을 바꿀 수 없다. 단지 값을 설정하고 함수를 수행한 뒤 새로운 문자열로 결과를 반환하는것 뿐이다
2.3.13. 대체: replace
- 인자로 바꿀 문자열, 대체할 문자열, 횟수를 입력.
- 횟수를 생략하면 처음만 바꿈
print(setup.replace('duck', 'cat'))
print(setup.replace('a', 'a famous', 100)) # 단어의 중간에 들어있는 a도 바꾼다.
# 바꾸고 싶지 않다면 regular expression을 활용해서 바꾸지 않으면 된다.
'etc > introducing python: 처음 시작하는 파이썬' 카테고리의 다른 글
vim 작업 취소, undo, undo 되돌리기! (0) | 2017.03.12 |
---|---|
5장: 파이 포장하기- 모듈, 패키지, 프로그램 (0) | 2017.01.18 |
6장: 객체와 클래스 (0) | 2017.01.18 |
4장: 파이 크러스트- 코드 구조 (0) | 2017.01.13 |
3장: 파이 채우기; list, tuple, dictionary, set (리스트, 튜플, 딕셔너리, 셋) (0) | 2017.01.11 |