본문 바로가기
Python

10. 파이썬 - 자주 사용되는 모듈 및 패턴

by 새싹_v 2022. 9. 13.
728x90

 


 

 

type()

📌
값의 자료형 확인해보기
my_integer = 10
my_float = 1.23
my_string = "hello world"
my_list = [1, 2, 3]
my_tuple = (1, 2, 3)
my_set = {1, 2, 3}
my_dictionary = {"key": "value"}
my_boolean = True

print(type(my_integer)) # <class 'int'>
print(type(my_float)) # <class 'float'>
print(type(my_string)) # <class 'str'>
print(type(my_list)) # <class 'list'>
print(type(my_tuple)) # <class 'tuple'>
print(type(my_set)) # <class 'set'>
print(type(my_dictionary)) # <class 'dict'>
print(type(my_boolean)) # <class 'bool'>

 

 

split()

📌
string을 list로 변환하기

사용방법:
.split("구분자")
my_string = "안녕@하세요@새싹@입니다"

mystring_list = my_string.split('@')

print(mystring_list)    #['안녕', '하세요', '새싹', '입니다']

 

 

join()

📌
list를 string으로 변환하기

사용방법:
"사이에 들어갈 문자".join(리스트)
my_string_list = ['안녕','새싹','입니다']

my_string = '@'.join(my_string_list)

print(my_string)    #안녕@새싹@입니다

 

 

replace()

📌
문자 바꾸기

사용법:
'변경할 문자'.replace('변경 전 문자','변경 후 문자')
one_string = '안녕 새싹이야'
two_string = one_string.replace('새싹','꽃')
print(two_string)   #안녕 꽃이야

 

 

pprint()

📌
코드 깔끔하게 출력
pprint는 pretty print의 약자이며, 데이터를 이쁘게 출력
#아래 출력을 보면 print 출력과 pprint 출력 차이를 알 수 있다.

from pprint import pprint

sample_data = {
    "id": "0001",
    "type": "donut",
    "name": "Cake",
    "ppu": 0.55,
    "batters":
        {
            "batter":
                [
                    {"id": "1001", "type": "Regular"},
                    {"id": "1002", "type": "Chocolate"},
                    {"id": "1003", "type": "Blueberry"},
                    {"id": "1004", "type": "Devil's Food"}
                ]
        },
    "topping":
        [
            {"id": "5001", "type": "None"},
            {"id": "5002", "type": "Glazed"},
            {"id": "5005", "type": "Sugar"},
            {"id": "5007", "type": "Powdered Sugar"},
            {"id": "5006", "type": "Chocolate with Sprinkles"},
            {"id": "5003", "type": "Chocolate"},
            {"id": "5004", "type": "Maple"}
        ]
}

print(sample_data)
# {'id': '0001', 'type': 'donut', 'name': 'Cake', 'ppu': 0.55, 'batters': {'batter': [{'id': '1001', 'type': 'Regular'}, {'id': '1002', 'type': 'Chocolate'}, {'id': '1003', 'type': 'Blueberry'}, {'id': '1004', 'type': "Devil's Food"}]}, 'topping': [{'id': '5001', 'type': 'None'}, {'id': '5002', 'type': 'Glazed'}, {'id': 
# '5005', 'type': 'Sugar'}, {'id': '5007', 'type': 'Powdered Sugar'}, {'id': '5006', 'type': 'Chocolate with Sprinkles'}, {'id': '5003', 'type': 'Chocolate'}, {'id': '5004', 'type': 'Maple'}]}

pprint(sample_data)
# {'batters': {'batter': [{'id': '1001', 'type': 'Regular'},
#                         {'id': '1002', 'type': 'Chocolate'},
#                         {'id': '1003', 'type': 'Blueberry'},
#                         {'id': '1004', 'type': "Devil's Food"}]},
#  'id': '0001',
#  'name': 'Cake',
#  'ppu': 0.55,
#  'topping': [{'id': '5001', 'type': 'None'},
#              {'id': '5002', 'type': 'Glazed'},
#              {'id': '5005', 'type': 'Sugar'},
#              {'id': '5007', 'type': 'Powdered Sugar'},
#              {'id': '5006', 'type': 'Chocolate with Sprinkles'},
#              {'id': '5003', 'type': 'Chocolate'},
#              {'id': '5004', 'type': 'Maple'}],
#  'type': 'donut'}

 

 

random

📌
랜덤한 로직이 필요할 때
import random   #random 임포트를 해줘야함

numbers = [1,2,3,4,5]

random.shuffle(numbers) #numbers를 무작위로 섞기
print(numbers)  #[5, 2, 1, 3, 4] [2, 1, 5, 4, 3] 무작위로 출력

random_number = random.randint(1,10) #1~10 사이의 무작위 번호 생성 (10을 포함)
print(random_number) # 5, 2, 1 무작위로 출력

 

 

time

📌
함수의 실행 시간 측정, 시간을 다룰 때 사용하는 모듈
import time #time 임포트해줌

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

time.sleep(1)   #1초대기

end_a = time.time() #시간 멈춤

#코드실행시간 = 코드 끝나는시간 - 코드 시작시간
print(f"코드 실행 시간 : {end_a-start_a:.5f}")  #코드 실행 시간 : 1.01322

 

 

datetime

📌
날짜 다루기
from datetime import datetime, timedelta #임포트하주기

#현재 날짜 및 시간 출력
print(datetime.now())   #2022-09-13 13:26:03.291239

#string을 datetime 날짜로 변경
string_datetime = '22/09/13 13:20'
my_time = datetime.strptime(string_datetime, "%y/%m/%d %H:%M")
print(type(my_time))  #2022-09-13 13:20:00 <class 'datetime.datetime'>

#dtaetime 날짜를 string으로 변환하기
now = datetime.now()
string_datetime = datetime.strftime(now,"%y/%m/%d %H:%M:%S")
print(type(string_datetime))  #22/09/13 13:31:40 <class 'str'>

# 2일 전 날짜 구하기
two_days_ago = datetime.now() - timedelta(days=2)
print(two_days_ago) #2022-09-11 13:35:43.679436
%y 두 자리 연도 / 20
%Y 네 자리 연도 / 2020
%m 두 자리 월 /  01
%d 두 자리 일 / 31
%I 12시간제 시간 / 12
%H 24시간제의 시간 / 23
%M 두 자리 분 / 59
%S 두 자리 초 / 59

 

 

 

 

 

 

위에 글 내용은 오류 사항이 존재할 수 있습니다!

수정 사항이 있을 시 알려주시면 감사하겠습니다.

 

728x90

'Python' 카테고리의 다른 글

12. 파이썬 - mutable자료형, immutable자료형  (0) 2022.09.13
11. 파이썬 - 클래스(class)  (0) 2022.09.13
9. 파이썬 - 반복문 for, while  (0) 2022.09.08
8. 파이썬 - 조건문 if  (0) 2022.09.06
7. 파이썬 - 함수, from과 import  (0) 2022.09.06

댓글