python面对对象编程

什么是面对对象编程

程序设定的范式

面对对象编程可以是代码程序更加的可控更加让人理解

面对对象编程就是把现实世界变得抽象并建立起对象模型

程序就是不同对象之间相互调用的逻辑

例:人 动物 车

这些都是现实世界的东西那就可以在这段代码中抽象出这三种模型

这些模型之间都有一些联系

例:人养宠物 宠物又属于动物那么人和动物就有关系

人会购买车 会驾驶车 那么人和车又有关系

如果我们要在代码例实现这些关系的话那么久形成了面对对象的程序

实际就是不同对象相互调用的逻辑

我们抽象出的人在代码中属于类的这种概念

在现实世界我们抽象出的每一个对象在代码例就称之为类

对有每个人都会有 姓名 性别 年龄 像这些可以描述人的称之为属性

人是抽象出来的像 小明 小红 这些具体的人就叫实例

像人到具体的人就叫实例化

类的定义与实例化

在pytho里 通过class关键词来定义一个类比如我们需要定义一个人的类。按照 Python 的编程习惯,类名以大写字母开头可以这样定义:

class Person:  pass

需要注意,在这个Person类的定义里面,并没有继承任何类,除了这样定义以外,还可以有以下两种定义方式

 class Person(): pass  class Person(object):  pass

这三种情况有什么区别呢?在Python3中,是没有区别的,但是在Python2中,则有一定的区别。
在Python2中,对于第一种定义的方法,Person类只有有限的几个内建函数'__doc__', '__module__', 'name',而对于第二种、第三种定义的方法,则会继承Python object对象的更多的内建函数,可以更便捷的操作对象。这是Python2版本的差异。在Python3中,我们只需要知道这三种方式都可以定义一个类即可。

定义了类之后,就可以对类进行实例化了,实例化是指,把抽象的类,赋予实物的过程。比如,定义好Person这个类后,就可以实例化多个Person出来了。
创建实例使用类名+(),类似函数调用的形式创建:

 class Person(object):  pass xiaohong = Person() xiaoming = Person()
 

实例属性的定义

虽然前面我们已经通过Person类创建出xiaoming、xiaohong等实例,但是这些实例看上去并没有任何区别。在现实世界中,一个人拥有名字、性别、年龄等等的信息,在Python中,可以通过以下的方式赋予实例这些属性,并且把这些属性打印出来

xiaohong.name = 'xiaohong'
xiaohong.sex = 'girl'
xiaohong.age = 13

print(xiaohong.name)
print(xiaohong.sex)
print(xiaohong.age)

除此以外,这些属性也可以和普通变量一样进行运算。比如xiaohong长大了一岁:

xiaohong.age = xiaohong.age + 1

实例属性的初始化

通过前面的方式定义一个实例的属性非常方便,但也有一

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值