12주차 수 1108 (라이브러리) :: newb

ABOUT ME

Today
Yesterday
Total
  • 12주차 수 1108 (라이브러리)
    광주인력개발원 일일포스팅(메모장) 2023. 11. 8. 18:22
    728x90
    반응형

    자료구조

    자료들을 저장하는 여러 가지 구조들을 자료구조(data structure), 또는 데이터구조라 부른다

     

                                                              자료구조

                                ┌───────┌───── │────┐──────┐                

                          수지형         딕셔너리     부울형       세트          시퀀스

         ┌─────── │────────┐                            ───── │───────┐   

    정수형      부동소수점형    복소수형                    문자열       리스트          튜플

     

     

    시퀀스(sequence)

    요소(element)로 구성

    요소 간에는 순서가 있다.

    시퀀스의 요소들은 번호가 붙어져 있다.

    내장 시퀀스(str, bytes, byrearray, list, tuple, range)

     

    ( 0.1 + 0.2 ) == 0.3

    False

    0.1 + 0.2

    0.30000000000000004

     

    동일한 연산을 지원

    인덱싱(indexing),  슬라이싱, 덧셈 연산, 곱셈 연산

    내장함수 적용가능 : 시퀀스의 길이를 반환하는 len() 함수, 최대값과 최소값을 찾는 max(), min() 함수

     

    튜플 패킹

    t = ('apple', 'banana', 'grape')

     

    파이썬 인터프리터가 자동으로 패킹을 해준다. 

     

    튜플 언패킹

    (s1, s2, s3) = t

     

    enumerate() 사용하기

    시퀀스형 데이터에서 인덱스와 엘리먼트를 같이 꺼내준다.

     

    fruits = [ "apple",":banana","grape"]

    for index, value in enumerate(fruits):

                     print(index, value)

     

    ## 파이썬 site packages 설치 경로 알아보기

     

    터미널 python -m site --user-site 

     

    (base) PS C:\Users\user\python_basic>  python -m site --user-site
    C:\Users\user\AppData\Roaming\Python\Python311\site-packages
    (base) PS C:\Users\user\python_basic>

    라이브러리

    • 다른 사람들이 만들어 둔 함수들의 모음.
    • 자주 사용하는 기능을 쉽게 재사용할 수 있고 다른 사람과도 공유…
    • 표준 라이브러리 : 파이썬이 설치 될 떄 자동으로 설치 되는 라이브러리
    • 외부 라이브러리 : 기본 외에 별도로 설치해서 사용하는 라이브러리
    • 외부 라이브러리 설치 : pip install 라이브러리 명, conda install 라이브러리 명
    • 사용법 : import 라이브러리 명
    ! conda list numpy

    # packages in environment at C:\Users\user\anaconda3:
    #
    # Name                    Version                   Build  Channel
    numpy                     1.24.3          py311hdab7c0b_1  
    numpy-base                1.24.3          py311hd01c5d8_1  
    numpydoc                  1.5.0           py311haa95532_0

    !conda install numpy -y

     

    from datetime import datetime
    from pytz import timezone
    from datetime import timedelta
    print(datetime.now()) # 현재 날짜 시간 가져옴

    2023-11-08 15:26:23.035182

    print(datetime.now(timezone('UTC'))) # 타임존 기준 현재 날짜 시간 가져옴

    2023-11-08 06:26:23.256839+00:00

    x = datetime.now(timezone('Asia/Seoul'))
    print(type(x))

    <class 'datetime.datetime'>

    print(x.year, x.month, x.day, x.hour, x.minute, x.second, x.microsecond)

    2023 11 8 15 29 1 712735

    print(x.date(), x.time())
    

    2023-11-08 15:29:01.712735

    print(x.weekday())
    

    2

    0  1  2 3...   6

    월화수목....일

    x.strftime('%Y년%m월%d일')

    '2023년11월08일'

     

    파이썬은 help를 이용해서 어떻게 써야할지 알아볼 수 있다.

    help('datetime.datetime.strftime')

    Help on method_descriptor in datetime.datetime:

    datetime.datetime.strftime = strftime(...)
        format -> strftime() style string.

     

    x.strftime('%Y/%m/%d/')

    '2023/11/08/'

    x = datetime.strptime('2023-11-07', '%Y-%m-%d')
    
    x.month
    

    11

    x = datetime.strptime('2023년11월07일', '%Y년-%m월-%d일')
     
    x.day
    

    8

    print(x - timedelta(days=9))

    2023-10-30 15:29:01.712735+09:00

    9일 빼기

     

    from dateutil.relativedelta import relativedelta

    조금 더 정확한 라이브러리

    print(x - relativedelta(months=2))

    2023-09-08 15:29:01.712735+09:00

    2개월 뺴기

    print(x +relativedelta(years=2))

    2025-11-08 15:29:01.712735+09:00

    2년 더하기

     

    import math
    math.pi

    3.141592653589793

    728x90
    반응형
Designed by Tistory.