• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python基础教程之对象和类的实际运用

python基础教程之对象和类的实际运用

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python 面向对象,python 3面向对象编程,python类和对象,python 实例化对象,python中的对象等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

我们熟悉了对象和类的基本概念。我们将进一步拓展,以便能实际运用对象和类。

调用类的其它信息

上一讲中提到,在定义方法时,必须有self这一参数。这个参数表示某个对象。对象拥有类的所有性质,那么我们可以通过self,调用类属性。

class Human(object):
    laugh = 'hahahaha'
    def show_laugh(self):
        print self.laugh
    def laugh_100th(self):
        for i in range(100):
            self.show_laugh()

li_lei = Human()         
li_lei.laugh_100th()
</div>
这里有一个类属性laugh。在方法show_laugh()中,通过self.laugh,调用了该属性的值。

还可以用相同的方式调用其它方法。方法show_laugh(),在方法laugh_100th中()被调用。

通过对象可以修改类属性值。但这是危险的。类属性被所有同一类及其子类的对象共享。类属性值的改变会影响所有的对象。

__init__()方法

__init__()是一个特殊方法(special method)。Python有一些特殊方法。Python会特殊的对待它们。特殊方法的特点是名字前后有两个下划线。

如果你在类中定义了__init__()这个方法,创建对象时,Python会自动调用这个方法。这个过程也叫初始化。
class happyBird(Bird):
    def __init__(self,more_words):
        print 'We are happy birds.',more_words

summer = happyBird('Happy,Happy!')
</div>
这里继承了Bird类,它的定义见上一讲。

屏幕上打印:
We are happy birds.Happy,Happy!
</div>
我们看到,尽管我们只是创建了summer对象,但__init__()方法被自动调用了。最后一行的语句(summer = happyBird...)先创建了对象,然后执行:
summer.__init__(more_words)

'Happy,Happy!' 被传递给了__init__()的参数more_words
</div>

对象的性质

我们讲到了许多属性,但这些属性是类的属性。所有属于该类的对象会共享这些属性。比如说,鸟都有羽毛,鸡都不会飞。

在一些情况下,我们定义对象的性质,用于记录该对象的特别信息。比如说,人这个类。性别是某个人的一个性质,不是所有的人类都是男,或者都是女。这个性质的值随着对象的不同而不同。李雷是人类的一个对象,性别是男;韩美美也是人类的一个对象,性别是女。

当定义类的方法时,必须要传递一个self的参数。这个参数指代的就是类的一个对象。我们可以通过操纵self,来修改某个对象的性质。比如用类来新建一个对象,即下面例子中的li_lei, 那么li_lei就被self表示。我们通过赋值给self.attribute,给li_lei这一对象增加一些性质,比如说性别的男女。self会传递给各个方法。在方法内部,可以通过引用self.attribute,查询或修改对象的性质。

这样,在类属性的之外,又给每个对象增添了各自特色的性质,从而能描述多样的世界。

class Human(object):
    def __init__(self, input_gender):
        self.gender = input_gender
    def printGender(self):
        print self.gender

li_lei = Human('male') # 这里,'male'作为参数传递给__init__()方法的input_gender变量。
print li_lei.gender
li_lei.printGender()
</div>
在初始化中,将参数input_gender,赋值给对象的性质,即self.gender。

li_lei拥有了对象性质gender。gender不是一个类属性。Python在建立了li_lei这一对象之后,使用li_lei.gender这一对象性质,专门储存属于对象li_lei的特有信息。

对象的性质也可以被其它方法调用,调用方法与类属性的调用相似,正如在printGender()方法中的调用。

总结

通过self调用类属性

__init__(): 在建立对象时自动执行

类属性和对象的性质的区别

</div>

您可能想查找下面的文章:

  • 在python的类中动态添加属性与生成对象
  • Python中对象迭代与反迭代的技巧总结
  • python 打印出所有的对象/模块的属性(实例代码)
  • 全面了解python中的类,对象,方法,属性
  • 在python的类中动态添加属性与生成对象
  • Python中对象迭代与反迭代的技巧总结
  • 浅谈python中的面向对象和类的基本语法
  • Python检测一个对象是否为字符串类的方法
  • Python中获取对象信息的方法
  • Python中动态获取对象的属性和方法的教程

相关文章

  • 深入理解Python中装饰器的用法
  • python制作一个桌面便签软件
  • Python抓取京东图书评论数据
  • python3中int(整型)的使用教程
  • python根据文件大小打log日志
  • 实例解析Python设计模式编程之桥接模式的运用
  • 微信 用脚本查看是否被微信好友删除
  • Python使用sftp实现上传和下载功能(实例代码)
  • 在Python中使用判断语句和循环的教程
  • 简单上手Python中装饰器的使用

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python使用multiprocessing创建进程的方法
    • Python设计模式中单例模式的实现及在Tornado中的应用
    • Python搭建HTTP服务器和FTP服务器
    • python写xml文件的操作实例
    • Python中装饰器的一个妙用
    • python登录pop3邮件服务器接收邮件的方法
    • Python3基础之函数用法
    • python sort、sorted高级排序技巧
    • python中PIL安装简单教程
    • Python中常见的数据类型小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有