dearbeany
[Python] 파이썬 기초문법 본문
인터프리트: 한마디 할 때마다 동시통역해주는 방식 ex) 파이썬
컴파일: 말하는 걸 처음부터 끝까지 듣고 나서 한꺼번에 바꿔주는 방식
round(1.23456, 2) # 1.23456을 소수점 둘째 자리로(셋째 자리에서) 반올림 1.23
round(1.23456, 3) # 1.23456을 소수점 셋째 자리로(넷째 자리에서) 반올림 1.235
몫 구할 때 3가지 방법
(1) / 슬래시 1개 이용해 소숫값 구하기
(2) // 슬래시 2개 이용해 정수값 구하기
a = 10 / 3 # 3.33333
a = 10 // 3 # 3
(3) d, m = divmod(a, b) : a를 b로 나눌 때 몫은 d, 나머지는 m
a = [4, 5, 6, 7] # 4이상 8미만
for i in a:
print(i)
# 위와 동일
for i in range(4, 8):
print(i)
4. 데이터 타입
숫자 - 정수(int), 부동소수점수(float), 복소수(complex)
시퀀스 - 문자열(str), 리스트(list), 튜플(tuple), 사용자 정의 클래스
매핑 - 딕셔너리(dict) key-value
4.2 문자열과 리스트
- 문자열에 들어있는 글자는 바꿀 수 없음
x = 'banana'
# 'nanana'로 바꾸려 할 때
# x[0] = 'n' 문자열에 들어간 글자 변경 불가
x = 'n' + x[1:]
- find() : 문자열에 어떤 글자가 몇 번째 자리에 있는지 알고 싶을 때
- rstrip() : 공백을 제거
- split() : 공백 기준 문자열을 분할한 리스트에 넣어 반환, cf) split('\n') 구분자 지정
s = "hello Python!"
s.find('P'); # 6
h = s[0:6] # h는 'hello '
# 'hello ' 맨 끝 공백 제거 하는 방법 (2)
h[0:5] # 'hello'
h.rstrip() # 'hello'
s.split() # ['hello', 'Python']
s.split()[0] # 'hello'
4.2 리스트
- append(5) : 원소 5를 추가
- sort() : 오름차순 정렬
- insert(0, 2) : 0번에 2를 삽입
- del list[4] : list의 4번 원소 삭제
- pop() : 삭제한 원소 반환
문자열을 리스트로 바꾸기
chars = list('Be happy!')
print(chars) # ['B', 'e', ' ', 'h', 'a', 'p', 'p', 'y', '!']
리스트 원소들의 합 구하기
one_to_ten = list(range(1, 11))
sum(one_to_ten) # 55
4.3 튜플
- 함수를 정의할 때 인자에 별표를 붙여두면 그 이후에 들어오는 것은 모두 튜플에 집어넣는 것
def magu_print(x, y, *rest): # 마구 찍어 함수
print(x, y, rest)
magu_print(1, 2, 3, 5, 6, 7, 9, 10) # 1 2 (3, 5, 6, 7, 9, 10)
- 튜플은 리스트와 달리 원소값을 직접 바꿀 수 없기 때문에, 문자열에서 했던 것처럼 오려붙이는 방법을 써야한다는 것
p = (1,2,3)
q = p[:1] + (5,) + p[2:]
print(q) # (1, 5, 3)
r = p[:1], 5, p[2:]
print(r) # ((1,), 5, (3,))
4.4 딕셔너리
- 해싱기법을 이용하기에 자료가 순서대로 저장되지 않음.(즉, 값을 넣는대로 저장되지X)
- keys() : 딕셔너리 키들을 새로운 리스트에 담음
- values() : 딕셔너리 값들을 새로운 리스트에 담음
- ord() : 문자에 해당하는 코드값을 반환
- chr() : 코드값(숫자)을 입력으로 넣으면 그에 해당하는 문자 반환
5 모듈
- sys : 파이썬 인터프리터를 제어할 수 있는 방법 제공
- os : 운영체제를 제어
- re : 정규표현식을 이용해 문자열을 다룰 수 있음
7. 객체지향
- self : self라는 것은 바로 그 클래스의 객체를 가리킴. 메서드 정의 시 항상 self 인자 써줌.