Day_18 - 정규 와 pygame

7759 단어
1. re 모듈 관련 방법
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()

좋은 웹페이지 즐겨찾기