파이썬 심화

김엣취·2024년 7월 11일

Python

목록 보기
7/9

모듈

type()

type(자료명)

내가 원하는 자료의 자료타입을 알 수 있음

split()

문자열.split("구분자")

('')안에 들어간걸 기준으로 문자열을 나눠 리스트로 만듦

join()

"사이에 들어갈 문자".join(리스트)

''안에 들어간걸 기준으로 리스트 요소들의 사이를 메꿔 string으로 만듦

replace()

"변경할 문자".replace("변경 전 문자", "변경 후 문자")

특정 문자를 원하는 문자로 바꿀 수 있음

pprint()

from pprint import pprint

pprint(프린트 하려는 것)

print보다 더 예쁘게 print해줌

random()

import random

random.종류 많으니 알아서(랜덤 돌리려는것)

랜덤 기능을 사용할 수 있음

time()

import time

start_time = time.time() # 현재 시간 저장

time.sleep(1) # 1초간 대기

end_time = time.time()

# 코드가 종료된 시간 - 코드가 시작된 시간으로 실행 시간 구하기 (단위 : 초)
print(f"코드 실행 시간 : {end_time-start_time:.5f}") # 코드 실행 시간 : 1.00100

코드 실행속도를 알 수 있게해줌

datetime()

from datetime import datetime, timedelta

# 현재 날짜 및 시간 출력
print(datetime.now()) # 2023-02-22 15:55:32.277095

# string을 datetime 날짜로 변경하기
string_datetime = "23/12/25 13:20"
datetime_ = datetime.strptime(string_datetime, "%y/%m/%d %H:%M")
print(datetime_) # 2023-12-25 13:20:00

# datetime 날짜를 string으로 변환하기
now = datetime.now()
string_datetime = datetime.strftime(now, "%y/%m/%d %H:%M:%S")
print(string_datetime) # 22/09/04 04:04

# 3일 전 날짜 구하기
three_days_ago = datetime.now() - timedelta(days=3)
print(three_days_ago) # 2023-02-19 16:27:52.526502
# datetime의 format code 더 제세한건 여기서 확인 가능합니다.

%y : 두 자리 연도 / 20, 21, 22
%Y : 네 자리 연도 / 2020, 2021, 2022
%m : 두 자리 월 / 01, 02 ... 11 ,12
%d : 두 자리 일 / 01, 02 ...  30, 31
%I : 12시간제 시간 / 01, 02 ... 12
%H : 24시간제의 시간 / 00, 01 ... 23
%M : 두 자리 분 / 00, 01 ... 58, 59
%S : 두 자리 초 / 00, 01 ... 58, 59

날짜 관련 모듈

조건문 심화

any(), all() 함수

all() : 요소들이 모두 True일 경우 True 리턴
any() : 요소들 중 하나라도 True일 경우 True 리턴

if all([True, True, True, False, True]):
    print("통과!") # False가 존재하기 때문에 분기문을 통과하지 못함

if any([False, False, False, True, False]):
    print("통과!") # True가 1개 이상 존재하기 때문에 분기문을 통과함

class 심화

class 부모class():
	메소드:
    	코드
class 자식class(부모class):
	메소드:
    	코드

부모class에 있던 메소드를 자식class에서 다시 지정해주면, 자식class 사용 시 자식class것이 나옴. (다시 지정하지 않은 부모class 메소드는 그대로 사용됨)

자식class에서 메소드를 다시 지정해주는걸 overriding 이라 한다.

파일, 디렉토리 다루기(glob)

파일 다루기
대충 코드로 파일 열고 쓰거나 읽기모드로 뭐 하고 닫기 내용
with 쓰면 일일하게 안 닫아줘도 됨

itertools

먼저, 이터레이터란?

이터레이터(iterator)는 값을 차례대로 꺼낼 수 있는 객체(object)입니다.
참고로 이터레이터는 반복자라고 부르기도 합니다.

이터레이터에 dir(확인할 자료) 해보면 __iter__메서드가 나옴

itertools

itertools는 효율적인 루핑을 위한 이터레이터를 만드는 함수입니다.
더 많은 이터레이터의 기능들

requests

터미널에 pip install requests 써야함

파이썬에서 http 통신을 가능하게 해주는 모듈임
beautifulsoup과 함께 웹 크롤링을 하거나 api 통신이 필요할 때 사용됨

requests 요청에는 크게 네가지 종류의 method가 존재함

  • GET : 데이터 정보 요청 (브라우저 -> 서버 크롤링할때?)
  • POST : 데이터 생성 요청 (서버 -> 브라우저로 정보 던지기?)
  • PUT : 데이터 수정 요청
  • DELETE : 데이터 삭제 요청

requests를 요청하면 서버에서는 응답(response)을 내려주며,
응답은 내용(content)와 상태코드(status code)를 받아오게 됨

content는 서버에서 사용자에게 주는 응답 본문이며,
status는 서버가 어떤 상태인지를 표현해줌

json 다루기

json은 javascript Object Notation의 약자로 데이터를 저장하거나 데이터 통신을 할 때 주로 사용됨
string인걸 dict로 만들어줌

# json 모듈을 사용하기 위해 import 합니다.
import json
import requests

# 해당 사이트는 요청에 대한 응답을 json 형태의 문자열로 내려줍니다.
url = "https://jsonplaceholder.typicode.com/"

r = requests.get(f"{url}users/1")
print(type(r.text))  # <class 'str'>

# 문자열 형태의 json을 dictionary 자료형으로 변경합니다.
response_content = json.loads(r.text)
print(type(response_content))  # <class 'dict'>

# dictionary 자료형이기 때문에 key를 사용해 value를 확인할 수 있습니다.
print(f"사용자 이름은 {response_content['name']} 입니다.")

# result output
"""
사용자 이름은 Leanne Graham 입니다.
"""

csv 다루기

필요할 때 구글링해도 괜찮을 내용같음.

데코레이터(decorator)

데코레이터

0개의 댓글