문자열 매서드
count: 문자열 내에서 어떤 문자열이 얼마나 나오나
find: 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 메서드
없을 경우 -1 return
index: 문자열 내에서 특정 문자열이 처음 나오는 위치를 찾아주는 매서드
없을 경우 밸류에러 (트라이 익셉트 사용)
join: 특정 문자열을 기준으로 다른 문자열들을 합쳐주는 메서드
ex) os.path.join 경로를 합쳐주기 위해서 사용
upper: 모든 소문자를 대문자로
lower: 모든 대문자를 소문자로
문자열을 검색 할때 대소문자에 구애받지 않고 하고 싶을때
"python"
"Python"
"PYTHON"
"PyThoN"
== python
PYTHON == python
false
replace 문자열 내에서 특정 문자열을 다른 문자열로 바꿈
split: 문자열을 특정 문자를 기준으로 나눔(리스트 형태로 반환)
리스트 메서드
len: 문자열의 길이를 반환
del: 리스트에서 특정 요소를 삭제
del numbers
append : 맨끝에 요소추가
sort: 리스트를 오름차순으로 정렬 reverse = True 반대로 정렬
sorted : sort와 원본값을 변환하지 않는 차이
reverse: 요소들 순서를 반대로 뒤집음
index: 리스트에서 특정 요소의 위치를 반환
insert : 리스트에 특정 위치에 삽입
remove; 딜리트와 같음
pop: 마지막 요소를 꺼낸후 , 그 요소를 삭제
count; 특정요소의 갯수를 셈
extend: 리스트를 확장하여 새로운 요소들을 추가
+= 연산자를 이용해 구현 할 수도 있다.
딕션너리 메서드
딕셔너리 초기화 :
해시: hash 처럼 활용됨
딕션너리 쌍추가
mydict['grape'] = 4
예 render
del 특정요소를 삭제
특정 키값에 밸류없으면
keys : 키들의 리스트
values: 밸류들의 리스트
items: 키 밸류를 튜플형태의 리스트로 반환1
튜플 [(key, val1), (key, val1), (key, val1)] 상수화된 리스트
clear: 모든요소 삭제
get 딕셔너리에서 지정한 키에 대응하는 값을 반환
키가없으면 None 값 반환
request.POST.get['key']
in: 해당'키'가 딕션너리 안에 있는지 확인
프로세스와 스레드
실행중인 프로그램 프로세스
실행하기 전까지는 데이터 덩어리인데 실행하면 프로세스가 되고 메모리에 할당됨
포그라운드 프로세스
사용자가 볼수 있는 공간에서 실행되는 프로세스
백그라운드 프로세스
사용자가 볼 수 없는 공간에서 실행되는 프로세스
사용자와 직접 상호작용이 가능한 특별한 백그라운드 프로세스
사용자와 상호작용하지 않는 프로세스 )데몬, 서비스
프로세스 제어 블록 PCB
모든 프로세스는 실해응 위해 CPU가 필요하다.
but, CPU 자원은 한정되어 있다.
빠르게 번갈아 수행되는 프로세스들을 관리해야
이를 위해 사용하는 자료구조가 프로세스 제어 블록
pcb에 담기는 대표적인 정보
id PID ! 특정 프로세스를 식별하기 위해 부여되는 고유한번호
레지스터 값
프로세스 상태 작업관리자> 세부정보> 상태
cpu 스케줄링 정보
메모리 정보 !
사용한 파일과 입출력장치 정보 ! 할당된 입출력장치, 사용중인 파일 정보
프로세스의 메모리 영역
커널영역
사용자영역
스택영역 데이터가 일시적으로 저장되는 공간, 잠깐 쓰다가 말 값들이 저장되는 곳 매개변수, 지역변수
힙 영역 사용자가 직접 할당할 수 있는 영역
데이터 영역 잠깐 썻다가 없앨 데이터가 아닌 프로그램이 실행되는 동안 유지될 데이터 저장, 전역변수
코드 영역 실행할 수 있는 코드, 기계어로 이루어진 명령어 저장 Read only
힙영역과 스택 영역에 대한 상태는 가변적
프로세스와 스레드
똑같은 프로세스를 2번 3번 4번 실행하면 메모리에 2, 3, 4번 적재가 됨
스레드
실행 흐름이 하나인 프로세스 (단일 스레드 프로세스)
스레드들은 각기 다른 스레드 id
프로그램 카운터 값을 포함한 레지스터값, 스택을 가질 뿐
스레드는 프로세스의 자원을 공유 한다.
프로세스끼리는 자원을 공유하지 않는다.
파이썬으로 프로세스, 쓰레드 다루기 multiprocecing , threding
타입별 메서드
파이썬 멀티프로세싱과 멀티 스레드 코드 작성