在python中内置了很多函数或者类,比如:int,str,list,tuple,等。当然也可以自建函数,这个放在后文讨论。原理如下:

  python函数(一)调用函数

  其实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
int成员

相关文章: