Python 类与作用域——一些测试

/* 一 */
>>> class T ():
        a = 0
        b = a

>>> T.b
0
>>> del T

/* 二 */
>>> class T ():
        a = 0
        b = T.a

Traceback (most recent call last):
  File "<pyshell#9>", line 1, in <module>
    class T ():
  File "<pyshell#9>", line 3, in T
    b = T.a
NameError: name ‘T‘ is not defined

/* 三 */
>>> class T ():
        def a (self):
            print (‘a‘)
        def ab (self):
            a (self)
            print (‘b‘)

>>> T.ab (‘test‘)
Traceback (most recent call last):
  File "<pyshell#19>", line 1, in <module>
    T.ab (‘test‘)
  File "<pyshell#18>", line 5, in ab
    a (self)
NameError: name ‘a‘ is not defined
>>> del T

/* 四 */
>>> class T ():
        def a (self):
            print (‘a‘)
        def ab (self):
            T.a (self)
            print (‘b‘)

>>> T.ab (‘test‘)
a
b
>>> del T

/* 五 */
>>> class T ():
        a = 0
        def pa (self):
            print (a)

>>> T.pa (‘test‘)
Traceback (most recent call last):
  File "<pyshell#27>", line 1, in <module>
    T.pa (‘test‘)
  File "<pyshell#25>", line 4, in pa
    print (a)
NameError: name ‘a‘ is not defined
>>> del T

/* 六 */
>>> class T ():
    a = 0
    def pa (self):
        print (T.a)

>>> T.pa (‘test‘)
0
>>> del T
>>> 

--date-- 2015-05-31

时间: 2024-09-29 18:01:58

Python 类与作用域——一些测试的相关文章

第六章 Python类(面向对象编程)

什么是面向对象编程? 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构.Python就是这种编程语言. 面向对象程序设计中的概念主要包括:对象.类.继承.动态绑定.封装.多态性.消息传递.方法. 1)对象:类的实体,比如一个人. 2)类:一个共享相同结构和行为的对象的集合.通俗的讲就是分类,比如人是一类,动物是一类. 3)继承:类之间的关系,比如猫狗是一类,他们都有四条腿,狗继承了这个四条腿,拥有了这个属性. 4)动态绑定:在不

python变量和作用域

1.作用域介绍 python中的作用域分4种情况: L:local,局部作用域,即函数中定义的变量: E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: G:globa,全局变量,就是模块级别定义的变量: B:built-in,系统固定模块里面的变量,比如int, bytearray等. 搜索变量的优先级顺序依次是:作用域局部>外层作用域>当前模块中的全局>python内置作用域,也就是LEGB. x = int(2.9) # int

Python 类与其对象的创建和应用

1.创建新类Athlete,创建两个唯一的对象实例sarah james,他们会继承Athlete类的特性 >>> class Athlete: def __init__(self,a_name,a_dob=None,a_times=[]): self.name=a_name self.dob=a_dob self.times=a_times >>> sarah=Athlete('Sarah Sweeney','2002-07-02',['2:58','2.34','1

python类:类方法和静态方法

http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调用:静态方法可以由类名或对象名进行调用.在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆.在python中,方法分为三类实例方法.类方法.静态方法. @classmethod和@staticmethod 他们的使用场景并不一样.在python中,两种方法的主要区别在于参数 类内部普

细说python类2——类动态添加方法和slots(转)

先说一下类添加属性方法和实例添加属性和方法的区别, 类添加属性属于加了一个以类为全局的属性(据说叫静态属性),那么以后类的每一个实例化,都具有这个属性.给类加一个方法也如此,以后类的每一个实例化都具备这个方法(但是据说叫动态方法.)但是给实例加一个属性,作用域就是这个实例,是与类没关系的(据说这种属性叫动态属性). Python类的实例可以动态的添加属性.举个例子,声明一个类A >>> class A(object):...   def __init__(self):...     pr

Python Web 性能和压力测试 multi-mechanize

http://www.aikaiyuan.com/5318.html 对Web服务做Performance & Load测试,最常见的工具有Apache Benchmark俗称ab和商用工具LoadRunner.ab简单直接,功能也相对较弱,但我们经常看到的对一些Web server或者Framework的性能测试用的ab做的,而LoadRunner功能也确实很强大,各种大型软件公司.软件外包企业几乎是必备了,用起来很High,当然其价格也确实很High 这里要介绍的multi-mechaniz

python函数的作用域

以下内容参考自runoob网站,以总结python函数知识点,巩固基础知识,特此鸣谢! 原文地址:http://www.runoob.com/python3/python3-function.html 变量作用域python函数的作用域和引用范围 Python 中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的. 变量的作用域决定了在哪一部分程序可以访问哪个特定的变量名称.Python的作用域一共有4种,分别是: L (Local) 局部作用域 E (Enclosi

Python 函数的作用域

python中的作用域有4种: 名称 介绍 L local,局部作用域,函数中定义的变量: E enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的: B globa,全局变量,就是模块级别定义的变量: G built-in,系统固定模块里面的变量,比如int, bytearray等. 搜索变量的优先级顺序依次是(LEGB): 作用域局部 > 外层作用域 > 当前模块中的全局 > python内置作用域. number = 10 # numbe

Python 5.函数作用域与递归(基础篇)

本章大纲: -变量作用域- 变量由作用范围限制 两种不同的作用域: 全局(global):在函数外部定义 局部(local):在函数内部定义 变量的作用范围 全局变量 在整个程序范围都有效 全部变量可以在局部范围里面使用 局部变量在局部范围内可以使用 局部变量无法在全局范围内使用 LEGB原则 L(Local)局部作用域 E(Enclosing function locale)外部嵌套函数作用域(命名空间) G(Global module)全局变量,函数定义所在模块的命名空间 B(Buildin