如何寻找python基础内容的源码
最近突然想看一些源码了,想从最基础的看起,比如int类,str类的定义,但是我没能找到这些基础东西的源码在哪{:10_250:}求帮助 本帖最后由 永恒的蓝色梦想 于 2020-4-15 16:03 编辑这些类的源代码全都是C哦
int源码
str源码 在idle里面输入help(函数)就OK了 github 上的 cpython 项目 >>>help(int)
Help on class int in module builtins:
class int(object)
|int() -> 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
|
|Methods defined here:
|
|__abs__(self, /)
| abs(self)
|
|__add__(self, value, /)
| Return self+value.
|
|__and__(self, value, /)
| Return self&value.
|
|__bool__(self, /)
| self != 0
|
|__ceil__(...)
| Ceiling of an Integral returns itself.
|
|__divmod__(self, value, /)
| Return divmod(self, value).
|
|__eq__(self, value, /)
| Return self==value.
|
|__float__(self, /)
| float(self)
|
|__floor__(...)
| Flooring an Integral returns itself.
|
|__floordiv__(self, value, /)
| Return self//value.
|
|__format__(self, format_spec, /)
| Default object formatter.
|
|__ge__(self, value, /)
| Return self>=value.
|
|__getattribute__(self, name, /)
| Return getattr(self, name).
|
|__getnewargs__(self, /)
|
|__gt__(self, value, /)
| Return self>value.
|
|__hash__(self, /)
| Return hash(self).
|
|__index__(self, /)
| Return self converted to an integer, if self is suitable for use as an index into a list.
|
|__int__(self, /)
| int(self)
|
|__invert__(self, /)
| ~self
|
|__le__(self, value, /)
| Return self<=value.
|
|__lshift__(self, value, /)
| Return self<<value.
|
|__lt__(self, value, /)
| Return self<value.
|
|__mod__(self, value, /)
| Return self%value.
|
|__mul__(self, value, /)
| Return self*value.
|
|__ne__(self, value, /)
| Return self!=value.
|
|__neg__(self, /)
| -self
|
|__or__(self, value, /)
| Return self|value.
|
|__pos__(self, /)
| +self
|
|__pow__(self, value, mod=None, /)
| Return pow(self, value, mod).
|
|__radd__(self, value, /)
| Return value+self.
|
|__rand__(self, value, /)
| Return value&self.
|
|__rdivmod__(self, value, /)
| Return divmod(value, self).
|
|__repr__(self, /)
| Return repr(self).
|
|__rfloordiv__(self, value, /)
| Return value//self.
|
|__rlshift__(self, value, /)
| Return value<<self.
|
|__rmod__(self, value, /)
| Return value%self.
|
|__rmul__(self, value, /)
| Return value*self.
|
|__ror__(self, value, /)
| Return value|self.
|
|__round__(...)
| Rounding an Integral returns itself.
| Rounding with an ndigits argument also returns an integer.
|
|__rpow__(self, value, mod=None, /)
| Return pow(value, self, mod).
|
|__rrshift__(self, value, /)
| Return value>>self.
|
|__rshift__(self, value, /)
| Return self>>value.
|
|__rsub__(self, value, /)
| Return value-self.
|
|__rtruediv__(self, value, /)
| Return value/self.
|
|__rxor__(self, value, /)
| Return value^self.
|
|__sizeof__(self, /)
| Returns size in memory, in bytes.
|
|__str__(self, /)
| Return str(self).
|
|__sub__(self, value, /)
| Return self-value.
|
|__truediv__(self, value, /)
| Return self/value.
|
|__trunc__(...)
| Truncating an Integral returns itself.
|
|__xor__(self, value, /)
| Return self^value.
|
|bit_length(self, /)
| Number of bits necessary to represent self in binary.
|
| >>> bin(37)
| '0b100101'
| >>> (37).bit_length()
| 6
|
|conjugate(...)
| Returns self, the complex conjugate of any int.
|
|to_bytes(self, /, length, byteorder, *, signed=False)
| Return an array of bytes representing an integer.
|
| length
| Length of bytes object to use.An OverflowError is raised if the
| integer is not representable with the given number of bytes.
| byteorder
| The byte order used to represent the integer.If byteorder is 'big',
| the most significant byte is at the beginning of the byte array.If
| byteorder is 'little', the most significant byte is at the end of the
| byte array.To request the native byte order of the host system, use
| `sys.byteorder' as the byte order value.
| signed
| Determines whether two's complement is used to represent the integer.
| If signed is False and a negative integer is given, an OverflowError
| is raised.
|
|----------------------------------------------------------------------
|Class methods defined here:
|
|from_bytes(bytes, byteorder, *, signed=False) from builtins.type
| Return the integer represented by the given array of bytes.
|
| bytes
| Holds the array of bytes to convert.The argument must either
| support the buffer protocol or be an iterable object producing bytes.
| Bytes and bytearray are examples of built-in objects that support the
| buffer protocol.
| byteorder
| The byte order used to represent the integer.If byteorder is 'big',
| the most significant byte is at the beginning of the byte array.If
| byteorder is 'little', the most significant byte is at the end of the
| byte array.To request the native byte order of the host system, use
| `sys.byteorder' as the byte order value.
| signed
| Indicates whether two's complement is used to represent the integer.
|
|----------------------------------------------------------------------
|Static methods defined here:
|
|__new__(*args, **kwargs) from builtins.type
| Create and return a new object.See help(type) for accurate signature.
|
|----------------------------------------------------------------------
|Data descriptors defined here:
|
|denominator
| the denominator of a rational number in lowest terms
|
|imag
| the imaginary part of a complex number
|
|numerator
| the numerator of a rational number in lowest terms
|
|real
| the real part of a complex number 六小鸭 发表于 2020-4-15 15:49
在idle里面输入help(函数)就OK了
帮助信息不是源代码 int源码
str源码 int类型这些都是C语言实现的,并不是用python写的 感谢大家的帮助,之前还以为int类型的源码也是用python写的,现在打算先看一下能不能弄懂c语言实现的代码,然后在去找点简单的包的源码看一下 CHNwldcmzy 发表于 2020-4-15 16:09
感谢大家的帮助,之前还以为int类型的源码也是用python写的,现在打算先看一下能不能弄懂c语言实现的代码, ...
如果C不是很好的话,建议不要尝试
页:
[1]