当前位置: 首页 > news >正文

需要找做网站的深圳建网站找哪家

需要找做网站的,深圳建网站找哪家,智慧团建网址,哪里有学平面设计的学校基本概念 面向对象编程是最有效的软件编写方法之一。理解面向对象编程可以让你像程序员那样从一个更加宏观的角度去理解代码,并大大提高程序员之间的合作效率。面向对象编程的两个核心概念是对象和类 **对象:**对象是能帮助我们解决问题的具体东西。比如…

基本概念

面向对象编程是最有效的软件编写方法之一。理解面向对象编程可以让你像程序员那样从一个更加宏观的角度去理解代码,并大大提高程序员之间的合作效率。面向对象编程的两个核心概念是对象

  • **对象:**对象是能帮助我们解决问题的具体东西。比如一辆汽车,一个人,也可以是一个乐高玩具。每个对象都具有各自的特征,如状态特征(属性)和行为特征(方法)。

  • **类:**类是对象共同特征的描述,他是对象的特征某种意义上的一种集合,是一种抽象上的定义。如果将对象理解为一栋楼房,那么类就相当于有是这个楼房的设计图。

在python中,我们可以根据类来创建对象。这一过程叫做实例化。通过实例化,我们可以去调用类的实例进行一系列的操作,以完成我们想要完成的任务。

类的创建与使用

类的创建

我们首先创建一个Lego类:

class Lego:def __init__(self, price, pieces, name):self.price = priceself.pieces = piecesself.name = namedef discount(self):print(f"The discountprice is {0.88*self.price}.")def time(self):print(f"The time cost is {0.4*self.pieces}mins.")

解释与说明:

  • 代码第1行,class的意思是类,这种写法即表示定义了一个名字为Lego的类

  • 代码第2~5行,是对类里面的属性进行初始化。init会默认被python自动调用。“self”的用途是:当python调用这个方法来创建Dog的实例的时候,会将实例自动传入self这个变量,相当于self就成为了一个实例的代表。后面的price、pieces、name都是Lego的属性,或者理解为“特点”。比如在Lego这个类中,其特点有:价格price、积木数pieces、积木名称name。注意,初始化可以给属性赋予别的值。比如,也可以这样初始化:self.price = 0.

  • 代码第7~8行,定义了第一个函数,并传入了参数self,其函数作用是输出打完八八折后的乐高价格。注意在python中我们可以使用"·"进行实例属性的调用,如self.price

  • 代码第10~11行,定义了第二个函数,并传入了参数self,其函数作用是输出拼完这个乐高需要花的时间

实例的创建

依然是上面的类,我们先创建一个乐高实例:

city = Lego(398, 356, Legocity)

这样我们就得到了一个price=398,pieces=356,name=Legocity的实例(注意self不需要单独传入参数)。

创建完实例后,我们就可以用city.price来调用属性的值,用city.discount来调用方法。

实例的修改

实例的属性可以直接进行修改,比如:

city.price = 698

此外,也可以在类中多加一个和修改属性相关的方法,并调用该方法进行修改。这样的方式看似繁琐,但是实际上方便后续代码修改,对于大型代码工程建议使用后者。

继承

在python中,并不是所有类都需要从头开始。有些类只是在另外一些类上进行增添修改,如果仍然将别的类的代码全部复制一遍,则会提高代码的复杂度。针对这种情况,python中有一种方式——继承,可以让一个类继承另外一个类继而可以使用那个类的所有属性和方法,而被继承的类称为父类,继承的类称为子类。

子类方法–init–的继承

我们原先的Lego类的代码里增添一个新的子类Legocity,Legocity是Lego的一种类别,所以正好有“父类”与“子类”的关系。

class Lego:def __init__(self, price, pieces, name):self.price = priceself.pieces = piecesself.name = namedef discount(self):print(f"The discountprice is {0.88*self.price}.")def time(self):print(f"The time cost is {0.4*self.pieces}mins.")class Legocity(Lego):def __init__(self, price, pieces, name):super().__init__(price, pieces, name)

解释与说明:

  • 代码第13行,Legocity后面的括号内的Lego说明其继承的是Lego类
  • 代码第15行,super函数是继承的关键,该函数可以调用其父类的方法,这样之后Legocity类就拥有Lego类的所有属性和方法了

给子类定义属性和方法

class Legocity(Lego):def __init__(self, price, pieces, name):super().__init__(price, pieces, name)self.legocode = 10283def printcode(self):print(f"{legocode}")

解释与说明:

  • 代码第4行,作用是给子类增加了一种属性legocode。乐高每一种积木都有其特殊的编码,即legocode。

  • 代码第6~7行,定义了子类一个新的方法。

注意:如果我们不想在子类中沿用父类中的某个或者某些方法,我们会对方法进行重写,即重新定义该方法即可。

导入类

我们需要使用的类可能会有很多,这时候我们会将其分文件进行书写不同的类。但是这时候就涉及到一个问题,就是如何将这些类进行导入。

导入单个类

假设我们在文件lego中有这样一些代码:

class Lego:def __init__(self, price, pieces, name):self.price = priceself.pieces = piecesself.name = namedef discount(self):print(f"The discountprice is {0.88*self.price}.")def time(self):print(f"The time cost is {0.4*self.pieces}mins.")

我们想要在另外一个文件中导入Lego类,我们可以直接:

from lego import Lego

如果该文件中有多个类,我们只想导入一个类,只要使用对应类名即可。

导入多个类

假设我们在文件lego中有这样一些代码:

class Lego:def __init__(self, price, pieces, name):self.price = priceself.pieces = piecesself.name = namedef discount(self):print(f"The discountprice is {0.88*self.price}.")def time(self):print(f"The time cost is {0.4*self.pieces}mins.")class Legocity(Lego):def __init__(self, price, pieces, name):super().__init__(price, pieces, name)self.legocode = 10283def printcode(self):print(f"{legocode}")

我们想要在另外一个文件中导入Lego类,我们可以直接:

from lego import Lego,Legocity

导入整个模块

还是上面的例子,我们可以如下写:

import lego

注意这里lego是小写,指的是文件名,大写Lego才指的是类名

使用别名

使用“as”即可

from lego import Lego as lg

这样写可以大大简约化使用长类名的复杂度,方便书写、提高效率。

http://www.yayakq.cn/news/807126/

相关文章:

  • 网站建设技术架构和语言宁波机械加工网
  • 宁波做网站首荐荣盛网络图书馆建设网站打不开
  • 网站有哪些后台とらぶるだいあり しすた在线
  • 在线编辑图片的网站有哪些wordpress怎么设置邮箱
  • 淘宝网站详情页怎么做购物网站开发分工
  • 怎么进入官方网站查询大连工业
  • 龙岩网站设计 信任推商吧做词免费素材哪个网站比较好
  • 豆瓣中需要优化的网站标签网站建设销售如何接单
  • 广州网站建设公司招聘wordpress 路由
  • 合肥制作网站单位有哪些WordPress生成海报插件
  • 免费做外贸的网站建设一般网站版式有哪几种
  • 微企帮做网站用软件建网站
  • 低价建设网站什么网站可以做长图攻略
  • 最大的网站建设公司排名怎么用ajax做电商网站
  • 公司网站的制作公司家居企业网站建设市场
  • 没有网站怎么做淘宝客网站做填充
  • wordpress该站点地址山东省建设局网站
  • 用dw怎么做登录页面的网站做网站的过程中有哪些问题
  • 运营网站挣钱方法深圳住房建设官方网
  • 房地产型网站建设院内设计
  • 爱站网站长seo综合查询广州网站开发 找亦客公司优质
  • 深圳网站制作必荐祥奔科技长沙百度关键词排名
  • 360网站免费推广怎么做怀化二手车网站
  • 课题组网站建设天堂2免费服务器
  • 网站主页wordpress安装主题之后首页不变
  • 义乌 网站 制作1m的带宽做网站可以吗
  • 宁波市住房和城乡建设厅网站wordpress 响应式
  • 衡水做网站建设网站查询功能是用什么程序做的
  • 智联招聘网站怎么做微招聘群晖wordpress英文
  • 网站运营的含义潍坊电商网站建设