python中类的属性
python中类的属性
python中的类叫class object,类的实例叫instance object.
类 Class Objects
类拥有两种操作,1.类属性 attribute references 2.实例化instantiation
1.类属性就相当于专属于一个类的变量(即某些语言中的类的静态公共变量static public),使用方法是:类名称.类属性名称
2.实例化则是创建一个类的实例的方法,使用方法是:类名称()
在使用实例化方法后,将会创建一个空的类实例,一般的python类的定义中会有一个特殊的方法来初始化,这个方法就是__init__(),当调用了类的实例化方法后,__init__()方法会立刻被这个类的实例调用.也就是说,__init__()不是构造函数,而是一个普通的方法.
类的实例 Instance Objects
类的实例只拥有一种操作,这就是 1.属性调用 attribute references.
属性调用指 1.数据属性 2.方法
数据属性
数据属性不需要预先定义!当数据属性初次被使用时,它即被创建并赋值(they spring into existence when they are first assigned to) 看下面的例子
>>> class test:
... pass
... t=test()
... t.name='notus'
... print t.name
...
notus
我们在类Test中并没有定义name这个数据属性,但是在代码中却可以直接使用,这就是数据属性.
如何定义类的属性
现在,抛开广义上对属性attribute的解释,在实际编程中经常用的属性这个词,在python的class中有两种属性:类属性,数据属性.(大多数编程语言都有这样两种属性).类属性属于类,数据属性属于类的实例.我们假设有类Test,则一般这两种属性的用法是
>>> class test:
... pass
... t=test()
... t.name='notus'
... print t.name
... test.mode='auto'
... print test.mode
...
notus
auto
数据属性name和类属性mode均没有在类中被定义,你要做的,只是在需要的时候使用他们即可.
其实大家看到类属性和数据属性的最直观的区别是数据属性(定义的类实例,类的实例化)使用方法是:类名称()——t=test(),类属性类名称.类属性名称test.mode。
如何预先给属性赋值
class Test:
def ask(theInstance):
theInstance.name='notus'
Test.mode='auto'
##print Test.mode
t=Test()
##print t.name
t.ask()
print Test.mode
print t.name
类Test有方法ask.注意看程序中被注释掉的
相关文档:
http://blog.csdn.net/myan/archive/2008/01/07/2028545.aspx
http://blog.csdn.net/gashero/archive/2007/06/03/1636030.aspx
我感觉还是python应用更广一些,Ruby的RoR做Web框架好一些吧,至于perl,现在感觉实在有几分苦涩…… ......
2007-08-22 22:46
一、用SOAPpy访问dotnet webservice
dotnet的webservice
<WebMethod()> _
Public Function HelloWorld() As String
Return "H ......
twisted是一个专门用于python的网络开发的框架。可以说是现在python中新的一支至力于发展高性能网络开发的框架,发展很稳定。
http://twistedmatrix.com/trac/
http://www-128.ibm.com/developerworks/cn/linux/network/l-twist/part1/index.html
http://wiki.woodpecker.org.cn/moin/PyTwisted ......
#!/usr/bin/python
#coding=utf-8
import Image,ImageDraw,ImageFont,os,string,random,ImageFilter
def initChars():
"""
允许的字符集合,初始集合为数字、大小写字母
usage: initChars()
param: None
return: list
返回允许的字符集和
for: picChecker类初始字符集合
todo: ......