[SK shiedlus Rookies 23]Python(3-1)_24.10.17

박소민·2024년 10월 26일

Python

목록 보기
6/23
post-thumbnail

함수. 종류

💥내장함수

: 파이썬 설치후 사용 가능하다/ 별도 설치X

    ex) print(), map(), filter(), ..

💥open()

  • 용도 : 파일(외부 리소스)을 엑세스(열기, 읽기, 쓰기, 닫기)를 처리하기 위한 함수
    • 외부 리소스 액세스를 (I/O)하는 경우 반드시 예외 상황 동반 가능성有
      (※ 외부자원 참조=> 오류발생가능성 염두)
          ⤷ *I/O(input/output) = 입력/출력
    • 외부 리소스 open했으면 반드시 close. (≒ 전화통신)
      ↪︎ ⚠️ 닫는 부분의 누락 실수 종종 발생 => 방지 with문
    • 파이썬 : open() <-> 싸이썬 <-> C/C++ 작동 <-> Os단에 파일과 작업
  • 기본형: 파일 생성 및 오픈
    open(파일명, 쓰기모드, 파일타입)
                                    ⤿ *(파일명:~, 모드:~) 
                                 / 쓰기모드:w, 읽기모드:r / 텍스트모드(),바이너리 모드(b)
                              ⤷ 스토리지 내 'a.txt파일 생성.
    완성
    ➲ 한글이 깨지지 않고 잘기록 됨.(인코딩 처리 필요X)
  • with문: 코드간결 & 자동 닫기 처리
    -별칭 문법체계 => 원본 as 별칭 (ex. 별칭 대변하기 어려운 상황)⭐⭐실습> 'a.txt'파일 한줄씨 읽어 출력하기
                               ⤷ *readline: 한줄씩 읽기/ readlines: 여러줄 한번에 읽기

input()

-터미널에서 사용자 입력을 받는 함수
-문자열 리턴
-input( "프롬프트 제시" )

    ⤷ *프롬프트 (prompt): 시스템이 사용자에게 알려 주는 명령 또는 메시지
  1. 사용자 입력 전까지 무한대기

    2.사용자 입력 후 엔터 ➔ input() 함수문자열로 반환
    ⭐⭐실습
    Q.
                    🔽 🔽 🔽
    A.(1)

📚 추가학습 📚
lstrip() : 선행문자 제거
url = 'https://wikidocs.net'
print(url.lstrip('https://')) #'wikidocs.net'

rstrip() : 후행문자 제거
print(url.rstrip('.net')) #'https://wikidocs'

                                    ⤷ 💬 1. 문자열 정렬 : Python (1-1) 참고
                                        2. 공백제거 함수 : Python (1-1) 참고
                                        3. f-strings : Python (1-1) 참고
	                       🔽 🔽 🔽

A.(2) 함수로 감싸 복잡한 작업단위 ➔ 하나의 작업단위 묶기

💥map()

  • map(콜백함수, 이터러블data): 자료구조(주로 list)상 데이터를 하나씩 꺼내어 작업수행 ➔ 다시 리스트로 data값 반환
  1. 요구사항 >> list 상 각 data의 2배 증가 값을 리스트로 반환
    #[2, 4, 6, 8]
                                🔽 🔽 🔽

    📚 추가학습 📚
    %%time : 함수 수행시간 및 효율성 확인 가능

💥fiter()

  • filter( 콜백함수[*Ture 리턴], 데이터 )
    : 특정 조건만족하여 결과 참(True) 데이터만 추출 [=필터링 한다.]
  1. 요구사항>> datas중 짝수만 포함된 리스트를 출력하시오.
                               🔽 🔽 🔽

ord()

  • ord(문자)아스키코드 리턴
  • 특정 텍스트 내, 특정 문자 빈도 계산 가능
    아스키코드
    : 컴퓨터에게 알파벳이나 특수문자와 같은 문자를 전달하기 위해 만들어진 코드. 
      (즉, 프로그램에서 나오는 알파벳은 컴퓨터가 각 알파벳에 
    해당되는는 아스키코드를 인식 후 '알파벳 그래픽'을 띄운 것)
  1. 요구사항>> source_txt에서 알파벳만 추출(정규식)하여, a-z까지 개별 빈도 획득하여, 리스트로 출력.

zip()

: 상호 인덱스 간, 같은 서열 같은 위치에 있는 데이터의 묶음. 데이터셋 구성

외장함수

  • 내장함수 구분을 위한 용어
  • 특정 패키지(모듈집합 ➕ 라이브러리)에 속한 함수
                         ⤷ 패키지(모듈의 집합) ≠ 모듈(*.py)
  • Ex. 수학/과학용 라이브러리(numpy)를 사용
    • 해당 패키지 설치 : pip install 패키지명
      ✔ pip install numpy
    • 아나콘다 같은 툴 활용
      ✔ conda install numpy

<< IF. 해당 패키지 사용 >>
1. 모듈.함수|변수|클레스 사용
2. 모듈 가져오기

-"import~"
    ↪️ 도트 연산자(.)를 통해서 사용
    ↪️ 소속을 표현함
-"from ~ import ~"
          ↪️ just함수(), 소속 밝히지X
  1. 현재 코랩에 설치된 패키지 목록 확인2. 원하는 패키지 필터링

pickle

  • 파이썬 레벨에서 사용
  • 데이터의 타입 원형을 보존하여 저장(덤프), 로드할수 있는 모듈
    ⤷ 바이너리 형태로 저장
  • AI 모델 덤프의 기초 패키지가 된다.

0개의 댓글