ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Python Programming Basic - Append. 문자열 포맷팅
    Python/Python Basic Lesson 2020. 3. 2. 20:42

     

    변수값을 문자열을 표현하기 위한 기호

     

    포맷 설명
    %s 문자열에 대응
    %d 실수에 대응
    %f 정수에 대응

     

     


     

    Example. 문자열 대응

     

    s = ['a', 'b', 'c']
    
    for i in s:
        print('문자는 %s' %i)   # 문자열 포맷(%s)
    
    
    
    
    문자는 a
    문자는 b
    문자는 c

     

     

     

     

    Example. 실수 대응

     

    s = [1.2, 2,5, 3.9]
    
    for i in s:
        print('실수는 %f' %i)   # 실수형 포맷(%s)
    
    
    
    
    실수는 1.200000
    실수는 2.000000
    실수는 5.000000
    실수는 3.900000

     

    s = [1.2, 2,5, 3.9]
    
    for i in s:
        print('문자는 %.2f' %i)   # 소수 2번째 표현 실수형 포맷(%s)
    
    
    
    
    실수는 1.20
    실수는 2.00
    실수는 5.00
    실수는 3.90

     

     

     

     

    Example. 정수 대응

     

    intData = [2, 3, 4, 5]
    
    for i in s:
        print('숫자는 %d' %i)   # 소수 2번째 표현 실수형 포맷(%s)
    
    
    
    
    숫자는 2
    숫자는 3
    숫자는 4
    숫자는 5

     

     

     

    문자열에서 % 기호를 출력하고 싶을 때

     

    percent = 2
    print('올해 한국 경제는 %d % 입니다.' %percent)
    
    
    # TypeError: 발생
    TypeError: not enough arguments for format string
    
    
    
    # %%로 % 문자열을 표기
    print('올해 한국 경제는 %d %% 입니다.' %percent)
    
    
    
    올해 한국 경제는 2 % 입니다.

     

     

     

    2개 이상의 변수를 출력하고 싶을 때

     

    dic = {'a':1, 'b':2, 'c':3}
    
    for i, j in dic.items():
        print('문자는 %s %s' %(i,j) )
    
    
    
    문자는 a
    문자는 b
    문자는 1
    문자는 1.3

     

     

     

    연산이나 문자열을 합친 결과를 출력하고 싶을 때

     

    dic = { 1:2, 3:4, 5:6 }
    
    for i, j in dic.items():
        print('합은 %d' %(i+j) )   # 산술
        
    
    
    합은 3
    합은 7
    합은 11
    
    
    
    
    dic = { 'a':'b', 'c':'d', 'e':'f' }
    
    for i, j in dic.items():
        print('문자 합차기 %s' %(i+j) )    # 문자 합치기
        
    
    
    
    문자 합차기 ab
    문자 합차기 cd
    문자 합차기 ef

     


     

    .format을 이용한 방식

     


    * 데이터 타입을 지정할 필요 없음

    * .format 되는 요소의 출력을 늘리거나, 줄이거나, 순서를 바꿀 수 있는 등 유연하게 하게 출력 가능

     

     

    
    lst = [ 1, 'a', 1.1 , [1, 2] ]
    
    
    
    # lst의 모든 요소 출력
    
    print("{0}, {1}, {2}, {3}".format(lst[0],lst[1],lst[2],lst[3]))
    
    
    1, a, 1.1, [1, 2]
    
    
    ------------------------------------------------------------------
    
    # {1} 요소는 빼고 출력
    
    print("{0}, {2}, {3}".format(lst[0],lst[1],lst[2],lst[3]))
    
    
    1, 1.1, [1, 2]
    
    
    ------------------------------------------------------------------
    
    # {0}과 {1} 순서 바꿔서 출력
    
    print("{1}, {0}, {2}, {3} ".format(lst[0],lst[1],lst[2],lst[3]))
    
    
    1, a, 1.1, [1, 2]
    
    
    ------------------------------------------------------------------
    
    # {2}과 {3} 순서 바꿔서 출력
    
    
    print("{1}, {0}, {2}, {3} ".format(lst[0],lst[1],lst[2],lst[3]))
    
    
    a, 1, 1.1, [1, 2]
    
    
    ------------------------------------------------------------------
    
    # {3}과 {0} 추가
    
    
    print("{1}, {0}, {3}, {2}, {3}, {0} ".format(lst[0],lst[1],lst[2],lst[3]))
    
    a, 1, [1, 2], 1.1, [1, 2], 1 
    

     

     

    왼쪽, 오른쪽, 가운데 정렬

     

    # left
    
    s = 'python'
    
    print('"{:<10}"'.format(s))
    
    "python    "
    
    -----------------------------------------
    
    # right
    
    s = 'python'
    
    print('"{:>10}"'.format(s))
    
    
    "    python"
    
    
    -----------------------------------------
    
    # center
    
    s = 'python'
    
    print('"{:^10}"'.format(s))
    
    "  python  "

     

     

     

     

    인덱스를 이용한 할당

     

    tup = (10, 20, 30)
    
    print('X: {0[0]} Y: {0[1]}  Z: {0[2]}'.format(tup))
    
    
    X: 10 Y: 20  Z: 30

     

     

     

    숫자 천 단위마다 콤마로 구분( , ) 

     

    value = 12345678
    '{:,}'.format(value)
    
    '12,345,678'

     

     

     

    퍼센트 계산

     

    A = 10
    B = 20
    
    print('tax is : {:.2%}'.format(A / B))
    
    tax is : 50.00%

     

     

     

    날짜타입 출력

     

    from datetime import datetime
    
    day = datetime(2020, 5, 25, 0, 0, 0)
    
    print('{:%Y-%m-%d %H:%M:%S}'.format(day))
    
    
    2020-05-25 00:00:00

     

     

Designed by Tistory.