python中默认规则:
- 包名和文件名都是小写
- 类名称单词首字母大写
- 函数名称小写,多个字母下划线隔开
类/函数/对象
# coding=utf-8
class ClassA(object):
string1 = "这是一个字符串。"
__string2 = 0 # 私有变量
def instancefunc(self):
print ('这是一个实例方法。')
print (self)
@classmethod
def classfunc(cls):
print ('这是一个类方法。')
print (cls)
@staticmethod
def staticfun():
print ('这是一个静态方法。')
#类定义了__init__()方法,类的实例化操作会自动调用
def __init__(self,realpart,imagpart):
self.r = realpart
self.i = imagpart
#私有方法不能被用
def _foo(self):
print("这是私有方法")
#对象调用举例
test = ClassA(3.0,-4.5) # 初始化一个ClasssA的对象,test是类ClassA的实例对象
test.instancefunc() # 对象调用实例方法
test.staticfun() # 对象调用静态方法
test.classfunc() # 对象调用类方法
test._foo() #报错,私有方法不能被调用
print(test.string2) # 报错,实例不有访问私有变量
print (test.string1) # 对象调用类变量,访问类属性
print(test.r,test.i) #输出结果:3.0 -4.5
#类调用举例
ClassA.instancefunc(test) # 类调用实例方法,需要带参数,这里的test是一个对象参数
ClassA.instancefunc(ClassA) # 类调用实例方法,需要带参数,这里的ClassA是一个类参数
ClassA.staticfun() # 类调用静态方法
ClassA.classfunc() # 类调用类方法
备注:
- 类:描述相同属性和方法的对象的集合。
- class开头,小括号里面表示类的父类,涉及到继承,默认object是所有类的父类。
- python类的分类:
(1) 具体一个父类
(2) object
(3) 空白
- 方法:类中定义的函数
- def开头就表示定义一个函数
- 包括实例方法,类方法,静态方法,类方法和静态方法定义的时候上面有一个@标记。
-
实例化:创建一个类的实例,类的具体对象。
-
对象:类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。
- 类变量:定义在类中且在函数体之外,在整个实例化的对象中是公用的。
- 实例变量:类声明中属性是用变量来表示的,在类声明的内部但是在类的其他成员方法之外声明的。
-
self:代表类的实例——类的方法与普通的函数区别在于第一个参数名称为self
-
类的专有方法:
_init_ : 构造函数,在生成对象时调用
_del_ : 析构函数,释放对象时使用
_repr_ : 打印,转换
_setitem_ : 按照索引赋值
_getitem_: 按照索引获取值
_len_: 获得长度
_cmp_: 比较运算
_call_: 函数调用
_add_: 加运算
_sub_: 减运算
_mul_: 乘运算
_truediv_: 除运算
_mod_: 求余运算
_pow_: 乘方