python随笔(四)---------python对象和类

在写下面的内容的时候我想了一下,什么是对象什么是类
对象其实就是类的实例化,我们可以把生活中的真是世界看成是由许多的类所组成的。对象可以是有生命的,也可以是没有生命的。

而类是具有相同属性及相同行为的一组对象。类其实就是用户定义的一个数据类型。可以用来实例化对象。

本人语文表述一项很菜,如果看不懂大家可以百度下,其实多写写代码就能体会到。我以前就是没有很好的理解随着不断写代码自己才体会到。

我想记录下看python书时一些类的基本概念

类的构造方法和内置属性

其实过构造方法就是在创建对象是,对象本身自动运行的函数。
python中__init__为构造函数。
当用户要在对象内指向对象本身的时候,可以使用关键字self。类似于C++ C#中的this
在这里插入图片描述
前面写了一篇博客讲了一下函数的内置属性。与函数类似其实类也有内置的一些属性
所有的python的类都有下面的一些内置属性
(1) classname .__dict __
类的内置属性是以字典的方式存储的。
例如运用上面写的类
在这里插入图片描述(2) classname .__doc __
返回此类的文件字符串
功能和函数的内置功能一样
(3)classname .__name __
返回此类的名称
在这里插入图片描述
(4) classname.__moudule __
返回包含此类的模块名称
一般都是__main __
在这里插入图片描述
(5) classname.__bases __
该属性是一个tuple对象,返回此类的基类名称
在这里插入图片描述
大家可以多写点体会一下

类实例的内置属性

所有的python类实例都具有下面属性
obj.__dict __
obj.__class __ 返回创建此类实例所有的类的名称

类的内置方法

类的内置方法有很多 包括一些计算方面的内置方法此类方法可以进行重写
例如一些方法
__init __
__str __(self)
__repr __(self)
__del __(self)
__hash __(self)
__call __(self)

类似的方法很多 大家自己写下看看每个函数的作用是什么

重载运算符

上面写的内置方法就包括这些,有很多是用来替换运算符的功能,称为重载运算符
__add __ (a,b) 方法等于 a + b.
在python解释器中使用这些运算符函数:
首先 加载operator模块 然后调用operator模块的运算符函数
在这里插入图片描述
还有很多 例如
__sub __(a,b) 等于a - b
__mul __(a,b) 等于a * b
__mod __(a,b) 等于a%b

类的继承

所谓类的继承就是新类继承旧类的属性和方法
这种行为称为派生子类
继承的新类称为派生类
被继承的旧类称为基类
派生类可以新增或改写基类的任何方法

派生类的语法:
class <类的名称> [(基类1,基类2. …)]:
[“文件字符串”]
<语句>

python 支持类的多继承

类的多态

类的多态就是类可以有许多相同名称但参数类型不同的函数。
由于python函数的参数不必生命数据的类型。可以利用动态数据类型,python仍然可以处理对象的多态。

由于是动态数据类型,python必须等到运行该函数时才知道该函数的类型,这种特征称为运行期绑定
C++C# 可以允许类内有许多个相同的名称却有不同参数的函数存在。
但时python却不允许这样做,如果python的类内有多个相同名称的函数却有不同的参数的函数,python 会使用类内最后一个声明的函数。
解决上面的问题,可以使用函数的参数数目,来决定调用类中的哪一个函数
这种方法具体的自己还没有使用过
大家可以自己实验一下
等我做过之后再给大家符图

写了这么多有点累了 哈哈
其实关于类还有很多
例如类的封装 类的命名空间 等
python中有一类为元类
所谓元类就是一个用来当作创建其他类的模板的类。
昨天学校放假自己出去玩了一天 也没有怎么学习
现在该去学Linux运维了 python就先写到这了
明天可以写一个小项目将图片转换为字符图片
网上也有很多这个项目的源码
其实这种小项目真的很好玩
哈哈 大学还有毕设先去忙了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值