2021. 2. 10. 20:30ㆍpython
파이썬 공부하면서 느꼈지만
정말 편하다 인스턴스 생성할 필요도 없고
문자열 처리가 너무 깔끔하다.
함수는 어짜피 코딩해보면서 찾는게 더 낫지만
메모한거 다 복붙해봤다.
파이썬은 자바, c와 다르게 변수타입을 앞에 안적어도 된다
type(변수) 변수의 타입을 반환하는 함수
print() 콘솔 창에 출력
a**b a의 b제곱
a//b a를 b로 나눈 나머지
파이썬에서는 문자열을 작은 따옴표로 묶어도 됨
'', " ", ''' ''', """ """ 으로 문자열을 표현
파이썬은 한 줄씩 읽는다
문자열이 ' ' ," ", '', '', "" ""일 때
문자열에서 이스케이프코드를 해줘야한다.
(\n, \t, \', \\ 등)
문자열이 ''' ''', """ """일 떄는
이스케이프코드를 안해도 된다. 적은 그대로 나온다
문자열 끼리 더할 수 있다.
문자열 a가 있을 때
print(a * 100)의 의미는 문자열a를 100번 출력한다.
##인덱싱, 함수를 부르지 않고 바로 개별 문자에 접근 가능
a = "Life" // a[0] = "L"; 앞에서 0번째 문자
// a[-1] = "e"; 뒤에서 1번째 문자
##슬라이싱
a= "Life" // a[0:4] = "Life" [x:y:z] x이상 y미만 z간격의 문자 x를 적지 않으면 기본값 0, y를 적지 않으면 기본값 끝인덱스, z를 적지 표기안하면 기본값 1이다.
##문자열 포맷팅
자바의 System.out.printf C의 printf
a = "I eat %d apples." % 3
b = "I eat " + str(3)+ " apples" // str()오브젝트를 문자열로 반환해주는 함수
포맷팅을 하면 더 간결하다
두 개 이상의 인자를 받을 때
number = 10
day = "three"
c = I ate %d apples. so I was sick for %s days." % (number, day)
%s가 사기다 인자가 어떤 자료형이든 출력가능
변수에 맞춰 포맷팅 가능
d = "blah blac {} blah".format("안녕")
f = "blah blac {name} blah".format(name="이시영")
{}위치에 인자를 넣는다.
파이썬 3.6부터
name = "int"
g = f"나의 이름은 {name}입니다"
문자열 앞에 f를 붙임으로써 포맷팅가능
문자열.count('x')
문자열안에 x가 몇 개인지 반환하는 함수
문자열.find('x')
문자열안에 앞에서 가장 먼저나오는 x의 인덱스를 반환하는 함수
못찾으면 -1 반환
문자열.index('x')
find와 같으나 없으면 에러가 뜬다
문자열.join("abcd")
문자열을 기준으로 "a문자열b문자열c문자열d문자열" 형태로 쪼개진다
문자열.upper()
문자열.lower()
문자열.strip()
양쪽의 공백을 없애준다.
문자열.replace("x", "y")
문자열 안의 x를 y로 바꾼다
문자열.split("구분자")
구분자(없으면 기본값 띄어쓰기)를 기준으로 리스트를 만든다.
##리스트 자료형
a=["1", "2", "3"]
a[0] = "1"
리스트 안에 리스트를 또 넣을 수 있음
a=["1", "2", "3", ["4", "5"]
a[3] = ["4", "5"]
a[3][0] = "4"
리스트도 인덱싱과 슬라이싱이 가능하다
인덱스가 음수라면 뒤에서 부터
[x:y:z]의 표현 가능
리스트는 연산도 가능
a=[1,2,3]
b=[4,5,6]
a+b=[1,2,3,4,5,6]
a*2 = [1,2,3,1,2,3]
문자열은 replace함수를 쓰지만 리스트는 인덱스를 통해 바로 교체 가능
연속되게 교체도 가능
a=[1,2,3,4]
a[0:2] = [5, 6]
a=[5,6,3,4]
삭제 가능
a[0:2] = []
a= [3,4]
del a[0]
a = [4]
리스트.append(obj)
리스트의 마지막에 obj 추가
리스트.sort()
리스트를 정렬
리스트.reverse()
반대로 뒤집기
리스트.index(obj)
인덱스 찾기
리스트.index(idx, obj)
idx위치에 obj 추가
리스트.remove(obj)
리스트안의 obj를 지움
obj가 다수일 시, 맨 앞의 obj를 지움
리스트.pop()
스택의 pop()과 같음, 마지막 값이 튀어나감(반환)
리스트.count(obj)
obj가 몇개인지 세준다
리스트.extend(리스트)
리스트에 리스트를 추가한다