Language/Python

Python - float(), 실수(float)를 반환하는 클래스

TechNote.kr 2018. 1. 2. 17:25
728x90


float



>>> float(x)


전달한 숫자 혹은 문자열, x를 기반으로 실수 값을 돌려준다.


문자열을 argument로 넘겨줄 경우 해당 문자열은 부호가 있는 정수나 실수여야 한다. 

([+|-]nan 또는 [+|-]inf eh argument가 될 수 있다.)


문자열이 아니라면 integer, long integer 또는 float 형의 숫자가 전달되어야 한다. 


만약 argument가 전달되지 않는다면 0.0을 반환한다. 


__builtin__ module에 포함된 class 이다. 



예제)


인자로 숫자를 의미하는 문자열이 전달되었을 경우

>>> float("1.2")
1.2
>>> float("-3")
-3.0


인자로 [+|-]nan 또는 [+|-]inf 가 전달되었을 경우

>>> float('nan')
nan
>>> float('-nan')
nan
>>> float('inf')
inf
>>> float('-inf')
-inf


인자로 일반 문자열이 전달되었을 경우

>>> float("abc")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: abc

인자로 숫자가 전달되었을 경우

>>> float(3.2)
3.2
>>> float(-7)
-7.0

float는 일반 function이 아니고 class 이다. 


따라서 해당 class에 포함된 다양한 method 사용이 가능하다. 



string 변환 method 사용의 예)

>>> float("3.26").__str__()
'3.26'



>>> help(float)


Help on class float in module __builtin__:


class float(object)

 |  float(x) -> floating point number

 |

 |  Convert a string or number to a floating point number, if possible.

 |

 |  Methods defined here:

 |

 |  __abs__(...)

 |      x.__abs__() <==> abs(x)

 |

 |  __add__(...)

 |      x.__add__(y) <==> x+y

 |

 |  __coerce__(...)

 |      x.__coerce__(y) <==> coerce(x, y)

 |

 |  __div__(...)

 |      x.__div__(y) <==> x/y

 |

 |  __divmod__(...)

 |      x.__divmod__(y) <==> divmod(x, y)

 |

 |  __eq__(...)

 |      x.__eq__(y) <==> x==y

 |

 |  __float__(...)

 |      x.__float__() <==> float(x)

 |

 |  __floordiv__(...)

 |      x.__floordiv__(y) <==> x//y

 |

 |  __format__(...)

 |      float.__format__(format_spec) -> string

 |

 |      Formats the float according to format_spec.

 |

 |  __ge__(...)

 |      x.__ge__(y) <==> x>=y

 |

 |  __getattribute__(...)

 |      x.__getattribute__('name') <==> x.name

 |

 |  __getformat__(...)

 |      float.__getformat__(typestr) -> string

 |

 |      You probably don't want to use this function.  It exists mainly to be

 |      used in Python's test suite.

 |

 |      typestr must be 'double' or 'float'.  This function returns whichever of

 |      'unknown', 'IEEE, big-endian' or 'IEEE, little-endian' best describes the

 |      format of floating point numbers used by the C type named by typestr.

 |

 |  __getnewargs__(...)

 |

 |  __gt__(...)

 |      x.__gt__(y) <==> x>y

 |

 |  __hash__(...)

 |      x.__hash__() <==> hash(x)

 |

 |  __int__(...)

 |      x.__int__() <==> int(x)

 |

 |  __le__(...)

 |      x.__le__(y) <==> x<=y

 |

 |  __long__(...)

 |      x.__long__() <==> long(x)

 |

 |  __lt__(...)

 |      x.__lt__(y) <==> x<y

 |

 |  __mod__(...)

 |      x.__mod__(y) <==> x%y

 |

 |  __mul__(...)

 |      x.__mul__(y) <==> x*y

 |

 |  __ne__(...)

 |      x.__ne__(y) <==> x!=y

 |

 |  __neg__(...)

 |      x.__neg__() <==> -x

 |

 |  __nonzero__(...)

 |      x.__nonzero__() <==> x != 0

 |

 |  __pos__(...)

 |      x.__pos__() <==> +x

 |

 |  __pow__(...)

 |      x.__pow__(y[, z]) <==> pow(x, y[, z])

 |

 |  __radd__(...)

 |      x.__radd__(y) <==> y+x

 |

 |  __rdiv__(...)

 |      x.__rdiv__(y) <==> y/x

 |

 |  __rdivmod__(...)

 |      x.__rdivmod__(y) <==> divmod(y, x)

 |

 |  __repr__(...)

 |      x.__repr__() <==> repr(x)

 |

 |  __rfloordiv__(...)

 |      x.__rfloordiv__(y) <==> y//x

 |

 |  __rmod__(...)

 |      x.__rmod__(y) <==> y%x

 |

 |  __rmul__(...)

 |      x.__rmul__(y) <==> y*x

 |

 |  __rpow__(...)

 |      y.__rpow__(x[, z]) <==> pow(x, y[, z])

 |

 |  __rsub__(...)

 |      x.__rsub__(y) <==> y-x

 |

 |  __rtruediv__(...)

 |      x.__rtruediv__(y) <==> y/x

 |

 |  __setformat__(...)

 |      float.__setformat__(typestr, fmt) -> None

 |

 |      You probably don't want to use this function.  It exists mainly to be

 |      used in Python's test suite.

 |

 |      typestr must be 'double' or 'float'.  fmt must be one of 'unknown',

 |      'IEEE, big-endian' or 'IEEE, little-endian', and in addition can only be

 |      one of the latter two if it appears to match the underlying C reality.

 |

 |      Override the automatic determination of C-level floating point type.

 |      This affects how floats are converted to and from binary strings.

 |

 |  __str__(...)

 |      x.__str__() <==> str(x)

 |

 |  __sub__(...)

 |      x.__sub__(y) <==> x-y

 |

 |  __truediv__(...)

 |      x.__truediv__(y) <==> x/y

 |

 |  __trunc__(...)

 |      Return the Integral closest to x between 0 and x.

 |

 |  as_integer_ratio(...)

 |      float.as_integer_ratio() -> (int, int)

 |

 |      Return a pair of integers, whose ratio is exactly equal to the original

 |      float and with a positive denominator.

 |      Raise OverflowError on infinities and a ValueError on NaNs.

 |

 |      >>> (10.0).as_integer_ratio()

 |      (10, 1)

 |      >>> (0.0).as_integer_ratio()

 |      (0, 1)

 |      >>> (-.25).as_integer_ratio()

 |      (-1, 4)

 |

 |  conjugate(...)

 |      Return self, the complex conjugate of any float.

 |

 |  fromhex(...)

 |      float.fromhex(string) -> float

 |

 |      Create a floating-point number from a hexadecimal string.

 |      >>> float.fromhex('0x1.ffffp10')

 |      2047.984375

 |      >>> float.fromhex('-0x1p-1074')

 |      -4.9406564584124654e-324

 |

 |  hex(...)

 |      float.hex() -> string

 |

 |      Return a hexadecimal representation of a floating-point number.

 |      >>> (-0.1).hex()

 |      '-0x1.999999999999ap-4'

 |      >>> 3.14159.hex()

 |      '0x1.921f9f01b866ep+1'

 |

 |  is_integer(...)

 |      Return True if the float is an integer.

 |

 |  ----------------------------------------------------------------------

 |  Data descriptors defined here:

 |

 |  imag

 |      the imaginary part of a complex number

 |

 |  real

 |      the real part of a complex number

 |

 |  ----------------------------------------------------------------------

 |  Data and other attributes defined here:

 |

 |  __new__ = <built-in method __new__ of type object>

 |      T.__new__(S, ...) -> a new object with type S, a subtype of T




728x90