Skip to content

Instantly share code, notes, and snippets.

@arsho
Last active April 13, 2023 13:43
Show Gist options
  • Save arsho/3101a01714dddb8267e396eebb46dafa to your computer and use it in GitHub Desktop.
Save arsho/3101a01714dddb8267e396eebb46dafa to your computer and use it in GitHub Desktop.
Python builtin methods or functions description using Python
  • Example of Python function: int()
  • Show the internal methods of int:
    dir(int)
    
    # Output:
    ['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floor__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__index__', '__init__', '__int__', '__invert__', '__le__', '__lshift__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 'numerator', 'real', 'to_bytes']
    
  • Show the docstring of int:
    print(int.__doc__)
    
    # Output
    int(x=0) -> integer
    int(x, base=10) -> integer
    
    Convert a number or string to an integer, or return 0 if no arguments
    are given.  If x is a number, return x.__int__().  For floating point
    numbers, this truncates towards zero.
    
    If x is not a number or if base is given, then x must be a string,
    bytes, or bytearray instance representing an integer literal in the
    given base.  The literal can be preceded by '+' or '-' and be surrounded
    by whitespace.  The base defaults to 10.  Valid bases are 0 and 2-36.
    Base 0 means to interpret the base from the string as an integer literal.
    >>> int('0b100', base=0)
    4
    
  • List the exceptions thrown by the method:
    import re
    re.findall(r'\w+Error', int.__doc__)
    # Output: []
    
    re.findall(r'\w+Error', open.__doc__)
    # Output: ['IOError', 'FileExistsError', 'ValueError']
    
@RokeJulianLockhart
Copy link

RokeJulianLockhart commented Apr 13, 2023

int('0b100', base=0)

How is that possible? Isn't base 0 disallowed?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment