오리엔테이션과 ZOOM 사용법 및 aivle-edu 사용법을 익히고, 이제는 실전에 들어갈 차례다.
수업은 파이썬으로 이루어진다. 앞으로 고 - 급 기술 블로거가 되어보자.
기본중의 기본
in = 특정 단어가 문장 안에 있는지
not in = 특정 단어가 문장 안에 없는지
\n = 줄 바꾸기, ‘’’문장’’’ = 문장에 적은 그대로 출력 가능
역슬래시 넣기 \\
print구문 내 ,마다(문장을 이어쓸 때마다) 특정 구문 넣기 == sep = ‘x’ ex) print(a,’123’,’12’,sep=’1’)
문자열 메소드
.format() = 변수를 불러올 수 있음. 보통 string안의 {}로 구현 가능
f’~’ = format인데, ~(문장) 안에 {} 넣고, {}안에 변수 설정함으로서 구현 가능.
format의 경우, {}안에 변수:.nf = 변수에 소수점 n개 기재
변수:,f = 변수에 1000단위쉼표 기재
변수:,.nf = 변수에 소수점n개 기재하고 1000단위 쉼표 기재
^n은 n개 공백을 주고 가운데 정렬
x^는 n개 공백을 다른 문자 x로 채우기
.upper() = 전체 대문자
.lower() = 전체 소문자
.capitalize() = 첫 번째 문자만 대문자
‘문자’.join(변수) = 변수(리스트 형태) 안의 값 사이에 문자를 넣어서 문자열로 결합시킴
.split() = () 안 문자를 기준으로 문장 분할하여 리스트로 만듦
.split()[x] = x번째 리스트 항 출력
@@ .split(x)[]이 문자열(‘’)을 리스트([])로, ‘’.join(x)이 리스트([])를 문자열(‘’)로
list(range(a,b,c)) 연속되는 번호를 리스트 안으로 구성 가능(a부터 b까지 c값만큼 증가)
.replace(‘바꿀 문자 대상’,’바꾼 문자’) == 문자열을 변경한다.
.lstrip() = 왼쪽 공백 없애기
.rstrip() = 오른쪽 공백 없애기
.strip() = 양쪽 공백 없애기
리스트
= []형태로 묶여있는 리스트. 어떤 것이든 다 들어갈 수 있다.(리스트 조차도 가능)
** ()는 튜플, {}는 디렉토리
인덱싱 = 정수형 위치 인덱스로 원하는 요소를 조회하는 것 []값은 0부터 시작하고, -1부터 역순.
인덱싱으로는 문자 변경이 불가능하다.
슬라이싱 = 범위를 지정해서 일정 범위를 조회하는 것 [x:b]x번째부터 시작, b-1번째까지 슬라이싱
리스트 = 리스트는 불완전복사(그냥 대신 해주는 것 뿐)
리스트 = 리스트[:] 는 완전복사(범위를 지정해서 리스트에 실제 데이터를 추가해줌)
리스트는 평균을 구하는 함수가 없다.
.split(x)메소드 : x 문자를 구분자로, 문자열 분리후 리스트로 변환.(공백이 기본 구문자)
ex) x = [1,2,3,4,5,6,7,8]이면
x.split(‘,’)로 리스트로 변경 가능.(각 리스트 위치마다 문자 들어가겠지.)
x.join(s)메소드 : x를 구분자로, 요소들을 연결한 문자열로 변환한다.
Ex) x = [1,2,3,4,5,6,7,8]이면
(‘,’)join(x)로 ‘12345678’로 변경 가능.
****.split()은 ‘문자열’을 리스트로, ‘’.join()은 리스트을 ‘문자열’로 바꾼다. int는 의미 없다.
list(range(시작,끝,더해지는 수)) = 감소할때는 –로 가능 == 수를 나열하는 함수
문자열로 리스트 만들기 = list 함수
list_str = [‘PYTHON’]라는 문자열이 있으면
list(list_str)을 넣음으로서 [‘P’,’Y’,’…] 각 글자를 하나씩 쪼갤 수 있다.(리스트를 만드는 함수니까)
단, 문자만 가능하고 숫자는 불가능.(‘123456’)은 되는데 (123456)은 안된다.
.append() 메소드 = 리스트 맨 뒤에 하나를 추가한다. 원래는
x=x+[]겠지만, x.append()하면 바로 자료가 추가된다.
.insert(위치,요소) = 리스트의 특정 위치에 요소 추가
.extend(리스트) = 리스트 뒤에 리스트를 붙인다.
.len() = 리스트 길이(값 개수)를 구한다.
del 리스트명[요소 순서] = 리스트 내 특정 요소를 삭제한다
del 리스트명[a:b] = 리스트 내 특정 범위 요소를 삭제한다
.remove() = 리스트 내 입력한 요소를 삭제한다
.clear() = 리스트 전체를 삭제한다([]로도 가능)
.pop() = 리스트 내 요소를 삭제함과 동시에 변수선언시 변수에 요소를 추가한다.
.upper() = 리스트 전체 대문자로
.reverse() = 리스트 순서를 반대로
.sort() = 리스트 요소를 오름차순으로. (reverse = True 하면 내림차순)
list ( map(요소 타입, 리스트변수)) = 특정 리스트의 모든 요소를 기재한 요소 타입을 사용해서 변환시킨다.
a = list(map(int,a) 와 같은 형태로 많이 쓰인다.
- 주요 문제
a=[‘h’,’a’,’p’,’p’,’y’]를 대문자로 바꾸자.
a= ‘/’.join(a).upper().split(‘/’)
1. 리스트의 각 항마다 ‘/’를 추가시킨 문자열로 만든다. = join이 문자열로 바뀌는 것을 잊지 말자
2. 대문자화 시킨다.
3. ‘/’를 기준으로 각 항을 분리시킨 리스트를 만든다. = split는 리스트화 시킨다는 것을 잊지 말자
a.sort().reverse()가 되지 않는 이유는? = 리스트의 메소드는 반환이 아닌 변환을 한다. sort로 변환한 이후 아무것도 반환하지 않았기 때문에 reverse에 들어갈 수 있는 변수가 없는 것!
튜플
()로 묶어진다.
tuple()로 튜플 형태로 변환 가능.
튜플 자체는 크게 중요하지 않다. 하지만, 이후 enumerate() 함수 사용시 유용하니, 잊지 말자!
집합
{}로 묶어진다.
set()로 집합 형태로 변환 가능
집합 안의 같은 자료는 단수로 취급.
순서의 의미도 없다.
len() 함수 로 원소 개수 확인 가능
in연산자로 요소가 속해 있는지 확인 가능
.append()메소드 통해서 요소 추가 가능
.update([‘요’,’소’,’들’]) 메소드 통해 여러 요소 추가 가능
.pop(‘요소’)메소드 통해서 무작위로 요소 하나 삭제하며, 동시에 삭제한 요소를 반환시킬 수 있다.
.remove(‘요소’) 메소드로 요소 제거 가능하며, 없으면 에러난다.
.discard(‘요소’) 메소드로 요소 제거 가능하며, 없어도 에러 안난다.
.clear() 메소드로 모든 요소 삭제 가능
딕셔너리
집합기호를 사용하며, {}, key 값과 value값을 사용해서 value를 산출해낸다.
{ key : value }
dictonary[‘key값’] 통해서 value값을 찾아낸다(몇번째 요소인지는 중요하지 않다. = 기본형이 집합이니까!)
dictonary[‘key값’] = 새로운 값 으로 딕셔너리 요소 변경 가능.
key값에는 튜플까지는 와도 리스트가 오지는 못한다(key값은 변화하면 안되는데 리스트는 변화가 가능하므로)
물론 value값에는 리스트가 올 수 있음(변경 가능하므로)
dict()함수로 딕셔너리 형식으로 변환 가능
del dictonary[‘요소’] 로 지정한 요소 삭제 가능
dictonary = {}형태로 모든 요소 삭제 가능
.pop(‘요소’)메소드 통해서 무작위로 요소 하나 삭제하며, 동시에 삭제한 요소를 반환시킬 수 있다.
.popitem()메소드로 무작위 요소 삭제 가능. pop과 마찬가지로 key&value를 튜플 형태로 반환받는다.
.get(‘key’,’대응되는 value 없는 경우 변경하는 value값’) 메소드로 key값 넣고, 지정된 value 확인 가능
###.get()은 대응되는 value 없으면 그 값을 대신 넣어줄 수 있는 메소드이니 참고###
.keys()메소드로 전체 key 정보 반환
.values()메소드로 전체 value 정보 반환
.items()메소드로 전체 key&value 정보 반환
아직까지 다른 기술블로그처럼 복잡한 코드 작업은 필요 없어보인다.
하고 보니 초라하지만, 시작이 반이다. 벌써 절반이나 왔다. 화이팅!