首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

大佬程序员带小白入门Python,花30天整理最详细的面向对象案例,涨知识了!

Python作为人工智能首选编程语言,也是最近大家知道比较火的编程语言,Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。下面有大牛级别程序员带小白入门Python,花7天整理最全面向对象教程!供参考学习!

下面小编还是要推荐自己建立的裙Python学习:五七七九零一二九四 这里有推荐的学习路线,基础视频学习资料和电子教程文档和Python安装工具及Python技术学习交流和分享。

面向对象三大特性:

多态: 可对不同类的对象使用同样的操作。

封装:对外部世界隐藏对象的工作细节。

继承:以普通的类为基础建立专门的类对象。

多态

面向对象程序设计最有趣的特性是多太,它是是让大多数人犯晕的特性。所以,先来介绍这个。

多态意思是“有多种形式”。多态意味着就算不知道变量所引用的对象类是什么,还是能对它进行操作,而它也会根据对象(或类)类型的不同而表现出不同的行为。

从最简单的开始

任何不知道对象到底是什么类型,但是又要对对象“做点什么”的时候,都会用到多态。这不仅限于方法----很多内建运算符和函数都有多态的性质,考虑下面这个例子:

封装

封装是对全局作用域中其它区域隐藏多余信息的原则。

封装听起来有些像多态,因为他们都是 抽象的原则---他们都会帮助处理程序组件而不用过多关心多余细节,就像函数做的一样。

但是封装并不等同于多态。多态的可以让用户对于不知道是什么类(或对象类型)的对象进行方法调用,而封装是可以不用关心对象是如何构建的而直接进行使用。

创建一个有对象(通过像调用函数一样调用类)后,将变量c绑定到该对象上。可以使用setName 和 getName 方法(假设已经有)

继承

我们不想把同一段代码写好几,之前使用的函数避免了这种情况。但现在又有个更微妙的问题。如果已经有了一个类,又想建立一个非常类似的类,只是添加几个方法。

比如有动物类,我们又想在动物类的基础上建立鸟类、鱼类,哺乳动物类。

类和对象是面向对象编程的两个主要方面。类创建一个新类型,而对象是这个类的实例。这类似于你有一个int类型的变量,这存储整数的变量是int类的实例(对象)。

类和对象变量

我们已经讨论了类与对象的功能部分,现在我们来看一下它的数据部分。事实上,它们只是与类和对象的名称空间绑定的普通变量,即这些名称只在这些类与对象的前提下有效。

有两种类型的域——类的变量和对象的变量,它们根据是类还是对象拥有这个变量而区分。

类的变量由一个类的所有对象(实例)共享使用。只有一个类变量的拷贝,所以当某个对象对类的变量做了改动的时候,这个改动会反映到所有其他的实例上。

对象的变量由类的每个对象/实例拥有。因此每个对象有自己对这个域的一份拷贝,即它们不是共享的,在同一个类的不同实例中,虽然对象的变量有相同的名称,但是是互不相关的。通过一个例子会使这个易于理解。

如何工作:

这是一个很长的例子,但有助于说明类和对象变量的本质。这儿,population属于Robot类,因此是一个类变量。name变量属于对象(用self给其赋值),因此是一个对象变量。

因此,我们使用Robot.population来引用population类变量,而不是用self.population来引用。我们在该对象的方法中用self.name来引用对象变量name。记住类和对象变量之间这个简单的差别。也要注意一个与类变量有相同名字的对象变量会隐藏类变量!

好了,今天就分享到这里,Python是一个面向对象的编程语言,理解这些概念会在将来有助于你进一步深入学习Python,如果您也在学习Python,欢迎留言或转发给身边想学习Python的人,希望给想学习Python更多帮助,祝在学习编程开发者,早日成为开发大牛!

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180302A08PX200?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券