ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • console 입출력과 형변환
    Python 2020. 10. 8. 09:28
    반응형

    [Console 입력]

     

    1. 공백없는 한 단어만 입력받기

    var1 = input()

     

    2. 공백을 기준으로 구분된 여러 단어들 입력받기

    # input으로 받은 문자열을 split에 명시된 문자로 구별
    # map을 사용하여 int형으로 변환
    # list로 받아서 변수에 대입
    var2, var3 = list(map(int, input().split()))

     

    3. 보다 빠른 입력 함수 sys.stdin.readline()를 사용하기

    import sys
    inputData = sys.stdin.readline().rstrip() # ①
    inputNumbers = list(map(int, inputData.split())) # ②
    print(inputNumbers)

    ① 표준 입력에서 readline()으로 입력된 문자열을 읽어온다. 이 때 문자열에는 carriage return(줄바꿈)이 포함되어 있기 때문에 rstrip() 함수를 사용하여 carriage return을 제거해야 정확한 입력 문자열을 얻어올 수 있다.

    ② 입력 문자열을 공백문자 단위로 나눠 담은 반복가능 객체를 생성하고 각 반복 요소에 대해 int()를 적용하여 정수형으로 casting한 결과를 list에 저장하여 사용한다.

     

     

    [Console 출력]

    data = "1,2,3"
    
    print(data)
    print(data, "4",sep=",",end=",5\n") # sep:여러개의 출력 요소간 구분자를 지정, end:출력 종결자를 지정

     

     

     

     

    [형변환 - casting]

     

    python의 data type들

    구분 자료형
    Text Type str
    Numeric Type int, float, complex
    Sequence Type list, tuple, range
    Mapping Type dict
    Set Type set, frozenset
    Boolean Type bool
    Binary Type bytes, bytearray, memoryview

     

    python data type 확인 - type() 내장함수를 사용

    data = 10
    print(type(data))

     

    Text Type <-> Numeric Type 간 형변환

    # numeric to text
    int_data = 5				# from int
    print(type(str(int_data)))		# to str
    
    float_data = 5.0			# from float
    print(type(str(float_data)))		# to str
    
    # text to numeric
    str_data_1 = '5'			# from str
    str_data_2 = '5'
    print(type(int(str_data_1)))		# to int
    print(type(float(str_data_2)))		# to float
    

     

    정수(int) <-> 실수(float) 간 형변환

    float_data = 10.7
    int_data = int(float_data)
    print(int_data)			# 소수점 이하를 버리고 변환 됨에 주의 한다. 10.7 -> 10
    print(type(int_data))
    
    int_data = 10
    float_data = float(int_data)
    print(float_data)
    print(type(float_data))

     

     

    list <-> set (모든 sequence type 간에는 변환이 가능하다.)

    list_data = [2, 3, 3, 4, 1, 1, 5]
    set_data = set(list_data)
    print(type(set_data))
    print(set_data, end='\n\n')	# set type은 중복을 허용하지 않으므로 list의 중복된 요소는 한번씩만 들어간다.
    
    set_data = {3, 2, 4, 1, 5}
    print(set_data)	# set type은 순서가 없고 출력 시 오름차순으로 정렬하여 결과를 보여준다.
    list_data = list(set_data)
    print(type(list_data))
    print(list_data)
    
    #list -> set -> list 순으로 형변환 할 경우 원본 list에서 중복된 원소를 제거하면서 오름차순으로 졍렬된 list를 얻을 수 있다.

     

     

    'Python' 카테고리의 다른 글

    유용한 표준 라이브러리  (0) 2020.12.24
    Python 기본 정렬과 커스텀 정렬  (0) 2020.12.24
    문자열 뒤집기  (0) 2020.12.21
    2차원 리스트 초기화 시 주의할 점  (0) 2020.10.12
    class 사용하기  (0) 2020.09.28

    댓글

Designed by Tistory.