Day_18 - 정규 와 pygame
1. compile (정규 표현 식)
목적: 정규 표현 식 을 정규 대상 특징 으로 변환 합 니 다. 컴 파일 후 대상 을 통 해 관련 대상 방법 을 직접 호출 할 수 있 습 니 다.
re_object = re.compile(r'\d{3}')
re_object.fullmatch('432')
2. fullmatch (정규 표현 식, 문자열)
목적: 문자열 과 정규 표현 식 이 완전히 일치 하도록 합 니 다. 일치 하 는 대상 을 되 돌려 주 었 습 니 다. 일치 하 는 데 실 패 했 습 니 다. None
응용 프로그램: 문자열 내용 이 요구 에 부합 되 는 지 검사 합 니 다. 예 를 들 어 계 정, 비밀번호 검사, 핸드폰 번호, 주민등록번호 등 이 합 법 적 인지 판단 합 니 다.
result = re.fullmatch(r'(\d{3})=([a-z]+)', '342=sjaks')
print(result) # <_sre.sre_match object="" span="(0," match="342=sjaks">
일치 대상
a.span()
기능: 일치 하 는 문자열 이 원래 문자열 의 아래 표 시 된 범위 (결 과 는 요소)
result = re.fullmatch(r'(\d{3})=([a-z]+)', '342=sjaks')
print(result.span()) #
# start, end = result.span()
# print(start, end)
print(result.span(1)) #
print(result.span(2)) #
b. start () 와 end ()
목적: 일치 하 는 문자열 이 원래 문자열 의 시작 표시 와 끝 표시
print('====start ,end====')
print(result.start(), result.end())
print(result.start(1), result.start(2))
c. group()
목적: 일치 하 는 문자열 가 져 오기 (결 과 는 문자열)
print(result.group()) #
print(result.group(1)) #
print(result.group(2)) #
print(result.groups()) # ( )
d. string
목적: 원본 문자열 가 져 오기
print(result.string)
3. match (정규 표현 식, 문자열)
목적: 문자열 의 시작 과 정규 표현 식 을 일치 시 킵 니 다. 일치 하 는 결 과 는 일치 하 는 대상 입 니 다. 그렇지 않 으 면 None 입 니 다.
print(re.match(r'\D\d', 's3skjkjks'))
4. search (정규 표현 식, 문자열)
목적: 문자열 에서 정규 표현 식 에 맞 는 첫 번 째 하위 문자열 을 일치 시 킵 니 다. 일치 하 는 결 과 는 일치 하 는 대상 입 니 다. 그렇지 않 으 면 None 입 니 다.
print(re.search(r'[\u4e00-\u9fa5]{3}', 'hsj ss023 ,skss 30s'))
5. split (정규 표현 식, 문자열)
목적: 정규 요 구 를 충족 시 키 는 하위 문자열 에 따라 문자열 을 절단 합 니 다. (반환 값 은 목록 입 니 다.)
print(re.split(r'\d+', 'asj38jkas0093kjsj78kajs89==asdfj3jkkss'))
6. sub (정규 표현 식, 문자열 1, 문자열 2)
목적: 정규 표현 식 과 일치 하 는 문자열 2 를 문자열 1 로 바 꾸 어 새로운 문자열 을 만 듭 니 다.
print(re.sub(r'\d+', '*', 'jsj93jksj93j5a45s3s '))
print(re.sub(r' |[ ]', '*', ' ? !'))
7. findall (정규 표현 식, 문자열)
목적: 정규 표현 식 을 만족 시 키 는 모든 하위 문자열 (결 과 는 목록) 을 문자열 에서 가 져 옵 니 다. 정규 표현 식 에 그룹 이 있 으 면 그룹 에 일치 하 는 내용 을 직접 가 져 옵 니 다.여러 개의 그룹 목록 에 있 는 요소 가 원조 라면
print(re.findall(r'\d+[a-z]', 'sjh83bkss93ksjhf9922'))
print(re.findall(r'(\d+)[a-z]', 'sjh83bkss93=sjhf9922'))
print(re.findall(r'abc(\d{2}|[A-Z]{2})', '=-aaabc73kkjabcKJL=3'))
8. finditer (정규 표현 식, 문자열)
목적: 정규 표현 식 을 만족 시 키 는 모든 하위 문자열 을 문자열 에서 가 져 옵 니 다. (결 과 는 교체 기 이 고 요 소 는 일치 하 는 대상 입 니 다)
result = re.finditer(r'(\d+)[a-z]', 'sj8khk83jks 310sj=sd')
print(result)
print(next(result).group())
9.re.I
기능: 대소 문자 주의 무시: 일치 하 는 제약 조건 은 함수 의 flags 매개 변수 에 있 습 니 다.
print(re.fullmatch(r'[a-z]{2}', 'SA', re.I))
2. pygame
1. 게임 기본 프레임 워 크
# 1. pygame,
pygame.init()
# 2.
"""
set_mode( ) == set_mode(( , )) - surface
"""
window = pygame.display.set_mode((400, 600))
#
pygame.display.set_caption(' ')
#
"""
fill( )
, int , 0~255; R,G,B
: 、 、
(255, 0, 0)
(0, 255, 0)
(0, 0, 255)
(255, 255, 255)
(0, 0, 0)
"""
window.fill((255, 255, 255))
# ,
pygame.display.flip()
# 3. ( )
while True:
# 4.
for event in pygame.event.get():
# for
# print('======')
if event.type == pygame.QUIT:
# return
# !
exit()
2. 그림 추가
pygame.init()
window = pygame.display.set_mode((400, 600))
pygame.display.set_caption(' ')
window.fill((255, 255, 255))
# 3.
"""
1.
image.load( ) -> (surface)
2. ( )
blit( , )
: , , x y
"""
image = pygame.image.load('images/luffyy.png')
window.blit(image, (0, 0))
# 4.
"""
1.
surface : get_size() -
"""
#
print(window.get_size())
#
print(image.get_size())
width, height = image.get_size()
# window.blit(image, (400-width, 600-height))
"""
2. ( )
transform.scale( , ) ->
transform.rotozoom( , , )
"""
new_image = pygame.transform.scale(image, (50, 50))
new_image = pygame.transform.rotozoom(image, 45, 0.8)
window.blit(new_image, (10, 250))
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
3. 텍스트 보이 기
window = pygame.display.set_mode((400, 600))
pygame.display.set_caption(' ')
window.fill((255, 255, 255))
# ============ ===========
"""
1.
a.
font.SysFont( , ) -
b.
font.Font( , )
"""
# font = pygame.font.SysFont('Times', 40)
font = pygame.font.Font('images/font2.ttf', 40)
"""
2.
render( , True, ) - (Surface)
"""
text = font.render('hello !', True, (255, 0, 0))
w, h = text.get_size()
"""
3.
blit( , )
"""
window.blit(text, (400-w, 600-h))
pygame.display.flip()
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
exit()
4. 도형
pygame.init()
window = pygame.display.set_mode((400, 600))
pygame.display.set_caption(' ')
window.fill((255, 255, 255))
# ============ =============
# 1.
"""
line( , , , , =1)
"""
pygame.draw.line(window, (0, 255, 0), (10, 10), (100, 100), 4)
# 2.
"""
lines( , , , , =1)
"""
point_list = [(200, 200), (250, 10), (300, 200), (150, 100), (350, 100)]
# pygame.draw.lines(window, (255, 0, 0), True, point_list)
# 3.
"""
circle( , , , , =0)
"""
pygame.draw.circle(window, (0, 0, 0), (200, 300), 100, 0)
pygame.draw.circle(window, (255, 0, 0), (200, 300), 90, 0)
# 4.
"""
polygon( , , , )
"""
pygame.draw.polygon(window, (255, 0, 0), point_list, 0)
# 5.
"""
arc( , , , , , )
"""
pygame.draw.arc(window, (0, 255, 255), (10, 470, 150, 200), math.pi/4, math.pi/4*3, 5)
# 6.
pygame.draw.rect(window, (100, 20, 50), (200, 470, 100, 50), 2)
window.fill((255, 255, 255))
pygame.display.flip()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.