정규 표현식
문자열을 검색하거나 조작하는 강력한 도구로, 데이터 입력의 유효성을 검사하거나 패턴을 기반으로 문자열을 찾는 데 사용된다.
import re
ss = '1234 abc 가나다라ABC_555_6'
# 정확한 문자열 찾기
print(re.findall(r'123', ss)) # 출력: ['123']
# 숫자 찾기
print(re.findall(r'[0-9]', ss)) # 출력: ['1', '2', '3', '4', '5', '5', '5', '6']
# 하나 이상의 연속된 숫자 찾기
print(re.findall(r'[0-9]+', ss)) # 출력: ['1234', '555', '6']
# 0회 이상의 연속된 숫자 찾기
print(re.findall(r'[0-9]*', ss)) # 출력: 숫자가 아닌 문자 사이의 빈 문자열도 포함
# 0회 또는 1회 나타나는 숫자 찾기
print(re.findall(r'[0-9]?', ss)) # 출력: 개별 숫자와 빈 문자열도 포함
# 정확히 2개의 연속된 숫자 찾기
print(re.findall(r'[0-9]{2}', ss)) # 출력: ['12', '34', '55']
# 2회에서 3회 나타나는 연속된 숫자 찾기
print(re.findall(r'[0-9]{2,3}', ss)) # 출력: ['123', '555']
# 임의의 문자로 시작하고 'bc'로 이어지는 문자열 찾기
print(re.findall(r'.bc', ss)) # 출력: ['abc']
# '1'로 시작하는 문자열 찾기
print(re.findall(r'^1+', ss)) # 출력: ['1']
# '1'이 아닌 문자 찾기
print(re.findall(r'[^1]', ss)) # 출력: '1'을 제외한 모든 문자
조건문
특정 조건에 따라 코드 블록을 실행할지 여부를 결정한다.
if, elif, else 문을 사용하여 다양한 조건을 처리할 수 있다.
var = 2
if var >= 3:
print('크다')
print('참일때 수행')
print('계속')
# 출력: 계속
var = 5
if var >= 3:
print('참일때 수행')
print('계속')
print('3보다 크다')
else:
print('거짓인 경우 실행 숫자가 적음')
print('end1')
# 출력: 참일때 수행 계속 3보다 크다 end1
money = 1000
age = 23
if money >= 200:
item = 'apple'
if age >= 30:
msg = 'young'
print('item, msg =', item, msg)
# 출력: item, msg = apple
jumsu = 95
if jumsu >= 90:
print('우수')
elif jumsu >= 70:
print('보통')
else:
print('저조')
print('end3')
# 출력: 우수 end3
jum = int(input('점수 입력?'))
if 90 <= jum <= 100:
grade = '우수3'
elif 70 <= jum < 90:
grade = '보통3'
else:
grade = '저조3'
print('결과' + str(jum) + '등급=' + grade)
# 사용자 입력 예시:
# 점수 입력? 56
# 결과56등급=저조3
a = 3
re = a * 2 if a > 5 else a + 2
print('re=', re) # 출력: re= 5
# 변형 삼항 연산자 (튜플 사용)
print((a + 2, a * 2)[a > 5]) # 출력: 5