Python里面的函数名.变量名

最近在看机器学习的相关内容,然后从GitHub上面下载了一些代码,看到Python里面函数名.变量名一种代码风格很奇怪,于是在此记录一下。

源码

# 绘制决策树
def createTree(newTree, titleName):
    # 新建一个figure设置背景颜色为白色
    fig = plt.figure(1, facecolor='white')
    # 清除figure
    fig.clf()
    axprops = dict(xticks=[], yticks=[])
    # 创建一个1行1列1个figure,并把网格里面的第一个figure的Axes实例返回给ax1作为函数createPlot()
    # 的属性,这个属性ax1相当于一个全局变量,可以给plotNode函数使用
    createTree.ax1 = plt.subplot(111, frameon=False, **axprops)
    # 获取树的叶子节点
    plotTree.totalW = float(getNumLeafs(newTree))
    # 获取树的深度
    plotTree.totalD = float(getTreeDepth(newTree))
    # 节点的x轴的偏移量为-1/plotTree.totlaW/2,1为x轴的长度,除以2保证每一个节点的x轴之间的距离为1/plotTree.totlaW*2
    plotTree.x0ff = -0.5 / plotTree.totalW
    plotTree.y0ff = 1.0
    plotTree(newTree, (0.5, 1.0), '')
    plt.title(str(titleName), fontsize=14, color='red')
    plt.show()

然后参考别人的博客对此有了大致的了解,这样声明的变量相当于C/C++里面的静态变量 ,也就是随着函数的不断调用也只会初始化一次,同时从面向对象的角度来说,函数本身也是对象,于是这样的变量就相当于函数的属性。
参考资料

你可能感兴趣的:(python基础学习,python,开发语言)