面向过程编程:
看中的是解决问题的过程,首先分析出解决问题的步骤,然后按照分析出来的步骤进行解决问题,这就是面向过程编程。面向过程编程主要使用到函数知识,将每个步骤的过程封装在一个函数里再依次调用。
什么样的代码才是面向对象?
从简单来说,如果程序中的所有功能都是用 类 和 对象 来实现,那么就是面向对象编程了。
类的定义和实例化
python定义简单类如下。
class Car(object):
pass
c1=Car()
我们定义了一个Car类,其中什么方法也没有实现。c1是我们实例化的类Car,成为对象。
类属性
每次我们想使用描述符的时候都不得不定义描述符类,这样看起来非常繁琐。Python特性提供了一种简洁的方式用来向属性增加数据描述符。一个属性签名如下所示:
Python
property(fget=None, fset=None, fdel=None, doc=None) -> property attribute
1
property(fget=None, fset=None, fdel=None, doc=None) -> property attribute
fget、fset和fdel分别是类的getter、setter和deleter方法。我们通过下面的一个示例来说明如何创建属性:
Python
class Accout(object):
def __init__(self):
self._acct_num = None
def get_acct_num(self):
return self._acct_num
def set_acct_num(self, value):
self._acct_num = value
def del_acct_num(self):
del self._acct_num
acct_num = property(get_acct_num, set_acct_num, del_acct_num, "Account number property.")
class Accout(object):
def __init__(self):
self._acct_num = None
def get_acct_num(self):
return self._acct_num
def set_acct_num(self, value):
self._acct_num = value
def del_acct_num(self):
del self._acct_num
acct_num = property(get_acct_num, set_acct_num, del_acct_num, "Account number property.")
如果acct是Account的一个实例,acct.acct_num将会调用getter,acct.acct_num = value将调用setter,del acct_num.acct_num将调用deleter。
“我们相信人人都可以成为一个IT大神,现在开始,选择一条阳光大道,助你入门,学习的路上不再迷茫。这里是北京尚学堂,初学者转行到IT行业的聚集地。"
如果有什么问题也可以关注IT百战程序员(baizhanchengxuyuan)