类
和其他语言比较,python添加一个class使用更少的语法和语义。它是C++和Modula-3 class机制的混合体。python提供了面向对象编程的标准特性。class的继承继承允许多个父类。子类可以继承父类的任何方法。子类的方法可以调用父类的同名的方法。和模块一样对象可以拥有都多成员变量。他们在运行时被创建,在创建后可以被修改。
命名空间:是一个名称到对象的一个映射。大多数命名空间都是用字典实现的。命名空间可以使内建(build -in)的名称,比如abs(),也可以是模块的全局变量,也可以是方法的局部变量。某种意义上说对象的属性也是命名空间。需要注意的是不同命名空间中的名称是没有任何关系的,这一点和java中的命名空间是一样的。
严格来讲,模块中的变量就是属性。模块是一种模块对象,而模块中的方法就是它的一个属性。
data.py:
s = 'Hello, world.'
a = 'hehe'
hello.py:
import data
print(data.s)
del data.s
print(dir(data))
print(data.s)
result:
Hello, world.
['__builtins__', '__cached__', '__doc__', '__file__', '__name__', '__package__', 'a']
Traceback (most recent call last):
File "D:\workspace\test\src\test\hello.py", line 7, in <module>
print(data.s)
AttributeError: 'module' object has no attribute 's'
如果用‘del’删除这个属性,错误信息中会说没用这个模块“属性”。
命名空间创建的时间和生命周期也是不同的。包含build-in的变量在解释器启动的时候就创建了。并且一直存活。模块的全局命名空间在模块被读取的时候创建。一直存活到解释器撤销它。
局部变量被创建时在方法被调用的时候。在方法返回或者抛出异常的时候就会销毁局部变量。
global和nonlocal(3.X中可用):
关于他们的解释这里引用别人的文章:http://www.cnblogs.com/itech/archive/2011/12/31/2308640.html
分享到:
相关推荐
Python学习笔记--皮大庆,非常适合零基础入门。对应英文版本《How to think like a computer scientist》
强烈推荐《How to think like a computer scientist》,对应中文版本《Python学习笔记--皮大庆》,非常适合零基础入门。
Python学习笔记--皮大庆
python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python scrapy 爬虫 python爬虫学习笔记-scrapy框架(1) python ...
Python学习笔记--笔记2
Python学习笔记-
Python基础入门教程,适合Python初学者,文档内容包括, 目录 前言 i 第一章 程序 1 1.1 程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 什么是调试 . . . . . . . . . . . . . . . ....
Python 学习笔记 - v1.0
python笔记,python学习笔记-机器学习库numpy
Python学习笔记-WSGI接口
python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf python 学习笔记——线性回归预测模型.pdf ...
王纯业的Python学习笔记非常适合初学者入门的Python教程
带书签_Python 学习笔记-雨痕-第二版,本笔记分为三个部分(Python语言、标准库和扩展库)以及附录。其中,Python语言部分包括基本环境、内置类型、表达式、函数、迭代器、模块、类、异常、装饰器、描述符和元类。 ...
Python学习笔记-10.类(Class)1.pdf
python学习笔记-excel用例输入.pdf
Python学习笔记-基于socket基础的http服务端程序
python学习笔记-excel用例输入借鉴.pdf