python通过函数属性实现全局变量的方法

yipeiwu_com7年前Python基础

本文实例讲述了python通过函数属性实现全局变量的方法。分享给大家供大家参考。具体分析如下:

python的函数可以定义属性,而且是全局的,这个非常好用,例如用于数字累加,你不用专门去定义一个全局变量,使用函数的属性即可。

def add(x=1):
  try:
    add.sum += x
  except AttributeError:
    add.sum = x
  return add.sum
print add(3)
print add(4)
print add(10)
class Ax(object):
  def __init__(self, val=0):
    self.sum = val
     
  def __call__(self, x=1):
    self.sum += x
    return self.sum
add = Ax()    
print add(3)
print add(4)
print add(10)

希望本文所述对大家的Python程序设计有所帮助。

相关文章

pip安装Python库时遇到的问题及解决方法

pip安装Python库时遇到的问题及解决方法

笔者电脑系统是win7,同时安装了Python2.7和Python3.6,但是在通过命令行直接使用“pip install XXX”安装Python库时出现了以下的错误信息: Fatal...

使用django实现一个代码发布系统

使用django实现一个代码发布系统

一 前期说明: 我运行项目的环境是nginx+php,存储代码用的是gitlab, python版本:3.6 django版本:2.2.1 mysql版本:5.7 二 大体思路 1 需要...

Python中的id()函数指的什么

Python官方文档给出的解释是 id(object) Return the “identity” of an object. This is an integer (or long i...

深入浅析Python传值与传址

1. 传值与传址的区别 传值就是传入一个参数的值,传址就是传入一个参数的地址,也就是内存的地址(相当于指针)。他们的区别是如果函数里面对传入的参数重新赋值,函数外的全局变量是否相应改变:...

基于numpy.random.randn()与rand()的区别详解

numpy 中有一些常用的用来产生随机数的函数,randn()和rand()就属于这其中。 numpy.random.randn(d0, d1, …, dn) 是从标准正态分布中返回一个...