在python中内置了很多函数或者类,比如:int,str,list,tuple,等。当然也可以自建函数,这个放在后文讨论。原理如下:
其实python中的类和方法非常非常多,这里只是以点带面,提供一个学习的方法。
(一)int
使用举例
#!/usr/bin/env python3 # -*- coding: utf-8 -*- age = -19 #其实是执行了一个__init__的过程。 print (type(age)) #打印age的类型 age = int(age) re = age.__float__() #将age的类型变成浮点类型,注,本来是int类型。 print(type(re)) #打印re的类型 reslutd = age.__abs__() #绝对值.(-19)=19。 <===>...reslutd=abs(age) reslut = reslutd.__divmod__(3) #divmod得出商和余数,19/4。在写扉页的时候会用到。<===>...reslutd=divmod(age) reslut_fan = reslutd.__rdivmod__(4) #反向求商和余数。4/19 print(reslutd,reslut_fan,reslut) #结果 ''' <class 'int'> <class 'float'> 19 (0, 4) (6, 1) '''
按住Ctrl,点击int,可以在builtins模块中看到int成员,其中int成员里大部分都是带下划线的,这一类的功能大多是通过内置方法就可以直接执行(例子参考上面abs,divmod和下文中add),请看:
def __abs__(self, *args, **kwargs): # real signature unknown """ abs(self) """ pass #取绝对值 def __add__(self, *args, **kwargs): # real signature unknown """ Return self+value. """ pass #相加,print(1+1)其实就是调用了“int”中内置的__add__这个函数,所以可以直接执行。但过程依然是:创建对象,调用方法,得到结果。 def __and__(self, *args, **kwargs): # real signature unknown """ Return self&value. """ pass #融合 def __bool__(self, *args, **kwargs): # real signature unknown """ self != 0 """ pass #变成波尔类型 def __pow__(self, *args, **kwargs): # real signature unknown """ Return pow(self, value, mod). """ pass #取指数 .... def bit_length(self): # real signature unknown; restored from __doc__ """ int.bit_length() -> int Number of bits necessary to represent self in binary. >>> bin(37) '0b100101' >>> (37).bit_length() 6 """ return 0 #返回用最少多少位可以表示当前数字 #举例: a= 59 result = a.bit_length() print(result) #结果 6