자료형 - 숫자


    number = 17   
    print(type(number), number) # <class 'int'> 17
   
    number = 17.0
    print(type(number), number) # <class 'float'> 17.0

파이썬의 숫자형에는 크게 두 종류가 있는데, 정수형(int)과 부동소수형(float)이다. 
물론, 이 글의 맨 아래에 등장하는 복소수형(complex)도 있다.



    number = 17/3
    print(type(number), number) # <class 'float'> 5.666666666666667

    number = 4/2
    print(type(number), number) # <class 'float'> 2.0

정수형을 나눗셈 연산하면 부동소수형이 된다.



    number = 17//3
    print(type(number), number) # <class 'int'> 5
   
    number = round( 17/3 )
    print(type(number), number) # <class 'int'> 6
   
    number = round( 17/3 , 2)
    print(type(number), number) # <class 'int'> 5.67
   
    number = 17%3
    print(type(number), number) # <class 'int'> 2    


나눗셈 연산의 결과를 정수형으로 얻고 싶은 때에는 // 연산자를 사용할 수 있는데 소숫점 이하 부분은 버려진다. 이 외에도 round() 함수를 사용해서 반올림 시킬 수도 있다. round() 함수의 두번째 매개변수는 소숫점 이하 자릿수. 그리고 다른 프로그래밍 언어와 마찬가지로 나머지 연산자(%)가 존재한다.



    number = int( 17.6)
    print(type(number), number) # <class 'int'> 17   
       
    number = float( 17)
    print(type(number), number) # <class 'float'> 17.0

int()와 float()은 언뜻보기에 형변환 함수인 듯하지만, 실제로는 int와 float 클래스의 인스턴스를 생성하는 것이다.



    number = 2.98e10   
    print(type(number), number) # <class 'float'> 29800000000.0

공학적 표기법을 사용할 수도 있고,


    number = 0b0101 # 2진수 표기법
    print(type(number), number) # <class 'int'> 5

    number = 0o17 # 8진수 표기법
    print(type(number), number) # <class 'int'> 15
   
    number = 0x3f # 16진수 표기법
    print(type(number), number) # <class 'int'> 63

2진수, 8진수 혹은 16진수로 표기하는 것도 가능하며,

    
    number = 3-2j # 복소수
    print(type(number), number) # <class 'complex'> (3-2j)
   
    print(number.real) # 실수부
    print(number.imag) # 허수부   
복소수 표현도 있다.


댓글

이 블로그의 인기 게시물

Project Euler - 3

메인 스크립트

Project Euler - 1