함수 진급 (3)day14

4245 단어
카탈로그
  • 어제 내용
  • 교체기
  • 교체 가능 대상
  • 교체기 대상
  • for순환원리
  • 삼원 표현식
  • 목록 유도식
  • 사전 생성식
  • zip

  • 생성기 표현식
  • 생성기
  • yield

  • 귀속
  • 오늘의 내용
  • 익명 함수
  • 기본 제공 방법
  • 장악
  • 이해
  • 예외 처리
  • assert단언
  • raise 주동 던지기 오류
  • 프로세스 프로그래밍(사상)

  • 어제의 내용


    교체기


    교체기 대상은 반드시 교체 가능한 대상이고, 교체 가능한 대상은 반드시 교체기 대상이 아니다.

    교체 가능 객체

    __iter__ 메서드가 포함된 데이터 유형
    숫자 유형을 제외하고는 모두 교체 가능한 대상이다

    반복자 객체

    __iter____next__ 메소드가 포함된 데이터 유형
    파일만 교체기 대상
    교체 가능한 대상에 __iter__를 더하면 교체기 대상이다

    for 순환 원리

    lt = [1,2]
    lt_iter = lt.__iter__()
    
    while True:
        try:
            print(lt_iter.__next__())
        except StopIteration as e:
            break

    삼원식


    조건성립if조건else조건성립불가

    목록 유도식

    [i for i in range(10)]

    사전 생성식

    {i:i for i in range(10)}

    zip


    여러 개의 교체 가능한 대상을 한 번에 모든 교체 가능한 대상 종의 원소를 읽고 원소로 조합한다

    생성기 표현식

    (i for i in range(10)) 공간 절약형

    생성기


    본질은 교체기, 사용자 정의 교체기, yield 키워드를 포함하는 함수
    def ge():
        yield

    yield

  • 일시 정지 함수
  • next를 통해 yield의 값을 추출
  • 귀속


    함수 호출 함수 자체, 퇴출 조건 있음
    count = 0
    def a():   
        global count
        print(count)
        if count = 100:
            return
        count += 1
        a()

    오늘의 내용


    익명 함수

    lambda   :

    익명 함수는 일반적으로 단독으로 사용하지 않으며 Filter ()/map ()/sorted ()/목록의sort () 내장 방법과 연결됩니다
  • sort/max/min 내장 방법은 원값 정렬
    salary_dict = {
        'nick':2000,
        'wick':3000,
        'jason':5000,
        'egom':10000
    }
    #       
    salary_list = list(salary_dict.items())
    #   1
    def func(i):
        return i[1]
    
    salary_list.sort(key=func)
    print(salary_list)
    #   2
    salary_list.sort(key=lambda i:i[1])
    print(salary_list)
    
  • sorted 새 목록 정렬 다시 만들기
    salary_list = sorted(salary_list,key=lambda i:i[1],reverse = True)
  • 필터 필터 필터(교체기)는 익명 함수의 반환값의 진위를 판단하고 진위는 남긴다
    print(list(filter(lambda i:i[1] > 5000,salary_list)))  # [('egom':10000)]
  • 맵이 익명 함수를 그리거나 비추는 반환값은 맵 ()의 결과 중 하나
    print(list(map(lambda i:i[1]+2000,salary_list)))  # [4000,5000,7000,12000]
  • 기본 제공 방법


    장악하다

  • bytes 변환 2진법
    bytes('  ',encoding = 'utf8')
  • chr/ord
    print(chr(97))  # a
    print(ord('a'))  # 97
  • divmod
    print(divmod(10,4))  #   /  
  • enumerate
    lt = [1,2,3]
    for i,j in enumerate(lt):
        print(i,j)  #   / 
  • eval은 문자열의 인용부호를 제거하고 남긴 것이 무엇인지
    s = '[1,2,3]'
    print(eval(s))  # [1,2,3] type:str
  • hash가변불가해시
    print(hash(1))  #        ,       ,    
  • 이해하다.


    메서드
    역할
    abs
    절대치
    all
    True 또는 False
    any
    오직 하나가 진실이면 진실이고, 그렇지 않으면 가짜이다
    bin
    바이너리로 변환
    oct
    8진법
    hex
    16진법
    dir
    모듈의 모든 메서드 나열
    frozenset
    불가변 집합
    globals/loals
    모든 글로벌 변수/현재 위치의 모든 변수 나열
    pow
    활용단어참조
    round
    반올림
    slice
    슬라이스
    sum
    화해를 구하다
    __import__
    문자열로 모듈 가져오기

    예외 처리


    논리 오류만 포착할 수 있습니다
    try:
          
    except Exception as e:  #     
        print(e)  #     
          
        
    finally:
            #       ,      

    assert 단언


    assert 조건
    assert 1 == 1  #     
    assert 1 == 2  #    

    raise 자발적으로 오류 던지기


    기본 제공 방법 사용

    프로세스 프로그래밍(사상)


    IPO 프로그래밍 = 프로세스 프로그래밍
    프로세스 프로그래밍: 유수선과 유사하게 한 걸음 한 걸음 아래로 내려가다
    장점: 논리적 명료성
    단점: 이전 단계가 틀렸고 다음 단계가 틀렸다

    좋은 웹페이지 즐겨찾기