복습 겸 중요사항 정리
### 터미널 경로 확인 필요
python -m venv venv # 설치
venv\scripts\activate # 실행
deactivate # 실행종료
여러 프로젝트 진행 시 호환성 문제가 없도록 (관리하기 용이하도록)
각 폴더(프로젝트 별) 내 가상환경 구성
문자, 숫자(정/실수), 논리형, None
크롤링 진행 시 대부분 문자열(str) 로 추출 (추후 진행시 유의하기)
문자열 연산 (+ , *) -> 문자 이어붙이기, 반복하기
인덱스와 순서가 존재
슬라이싱 가능
email="da_leesunho@velog.io"
email[:11] # da_leesunho
email[11:] # @velog.io
email[:-1] # da_leesunho@velog.i
email[::-1] # li.golev@ohnuseel_ad
"python".upper() # PYTHON
" abc de ".strip() # abc de
"a,b,c".split(",") # [a, b, c]
split 함수의 경우, 리스트로 담아준다
여러 개의 데이터, 순서가 있으며 값 변경이 가능하다
-> 비슷한 값들을 다룰 때 사용
scores=[60, 40, 20, 40, 70]
scores.append(100) # [60, 40, 20, 40, 70, 100]
scores.count(40) # 2
scores[0:3] # [60, 40, 20]
반복문 + 조건문 -> 한 줄로 줄여주는 것
이름이 필요 없을 때, 효율적으로 작성하고자 할 때
[표현식 반복문 조건식]
키:값 -> 값에 대한 정보를 자세히 표현해 줄 때, 순서 x
user={"name":"Tom","age":25}
user["name"] # "Tom"
user["job"] # Error 발생 (프로그램 종료)
user.get("job") # None (밑 코드로 진행 유지)
user["job"] = developer # 새 키/값 추가
email = da_leesunho@velog.io
username = email.split("@")[0]
domain = email.split("@")[1]
# or
username, domain = email.split("@")
# username = da_leesunho, domain = velog.io
data1="1,200"
data2="10.5%"
data3=" 300 "
data1_=int(data1.replace(",","")) # 1200
data2_=float(data2.replace("%",""))/100 # 0.105
data3_=int(data3.strip()) # 300
[표현식 반복문 조건식]
## 60 이상만 추출한 리스트 생성 -> for 문
scores=[95, 50, 82, 100, 59, 88]
passed = []
for i in scores:
if i >= 60:
passed.append(i) ## [95, 82, 100, 88]
or
## 리스트 컴프리헨션
scores=[95, 50, 82, 100, 59, 88]
passed = [i for i in scores if i>=60] # [95, 82, 100, 88]
## 90 이상 PASS 이외 FAIL
scores=[95, 50, 82, 100, 59, 88]
result = []
for i in scores:
if i>=90:
result.append("PASS")
else:
result.append("FAIL") # ['PASS', 'FAIL', 'FAIL', 'PASS', 'FAIL', 'FAIL']
or
result=["PASS" if i>=90 else "FAIL" for i in scores] # ['PASS', 'FAIL', 'FAIL', 'PASS', 'FAIL', 'FAIL']
info = "name=Tom, age=20, city=Seoul"
items = info.split(",") # ['name=Tom', ' age=20', ' city=Seoul']
result={}
for i in items:
key, value = i.split("=")
result[key.strip()] = value
or
result = {k.strip():v for k, v in (i.split("=") for i in items)}