类的声明和定义
创建类:
class ClassName:
'类的帮助信息'
class_suite
例子:
class Student:
'学生信息'
studentcount=0
def __init__(self,number,name,score);
self.number=number
self.name=name
self.score=score
Student.studentcount+=1
def display(self)
print "Number:",self.number, ",name:",self.name,",score:",self.score
def displayCount(self)
print "Total number%d" %Stident.studentcount
创建实例对象
“创建 Student类的第一个对象”
stu1=Student("001","Jane",98)
“创建Student类的第二个对象”
stu2=Student("002","Peter",89)
访问属性
使用点号来访问对象的属性“.”
stu1.display()
stu2.diaplay()
添加、修改、删除属性
stu1.age=21
stu2.age=22
stu1.score=93
del stu1,age
函数的方式访问属性
getattr(obj,name,[default]);访问对象的属性
hasattr(obj,name);检查是否存在一个属性
satattr(obj,name,value);设置一个属性,如果属性不存在,会创建一个属性
delattr(obj,name);删除属性
实例:
#!/usr/bin/python
# _*_ coding:UTF-8 _*_
class Student:
'学生信息'
studentcount=0
def __init__(self,number,name,score):
self.number=number
self.name=name
self.score=score
Student.studentcount+=1
def display(self):
print( "Number:",self.number, ",name:",self.name,",score:",self.score)
def displayCount(self):
print ("Total number%d" %Stident.studentcount)
stu1=Student("001","Jane",98)
stu2=Student("002","Peter",89)
stu1.display()
stu2.display()
stu1.score=93
stu1.display()
stu2.display()
del stu2
stu1.display()
stu2.display()
输出:
Number: 001 ,name: Jane ,score: 98
Number: 002 ,name: Peter ,score: 89
Number: 001 ,name: Jane ,score: 93
Number: 002 ,name: Peter ,score: 89
Number: 001 ,name: Jane ,score: 93
下划线说明:
-
__foo__: 定义的是特殊方法,一般是系统定义名字 ,类似 __init__() 之类的。
-
_foo: 以单下划线开头的表示的是 protected 类型的变量,即保护类型只能允许其本身与子类进行访问,不能用于 from module import *
-
__foo: 双下划线的表示的是私有类型(private)的变量, 只能是允许这个类本身进行访问了。