Python Basic #1

DA_LEESUNHO·2025년 12월 3일

Independent Study

목록 보기
4/4

복습 겸 중요사항 정리


가상환경 설치

### 터미널 경로 확인 필요
python -m venv venv		# 설치
venv\scripts\activate   # 실행
deactivate				# 실행종료

여러 프로젝트 진행 시 호환성 문제가 없도록 (관리하기 용이하도록)
각 폴더(프로젝트 별) 내 가상환경 구성

자료형

문자, 숫자(정/실수), 논리형, None
크롤링 진행 시 대부분 문자열(str) 로 추출 (추후 진행시 유의하기)
문자열 연산 (+ , *) -> 문자 이어붙이기, 반복하기

문자열(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)}
profile
성장과 회고를 기록하는 일기장

0개의 댓글