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

天津地铁建设网站seo工资水平

天津地铁建设网站,seo工资水平,天津整站,赣州网络台类(一) 1.面向对象概述2.创建和使用类2.1 创建dog类2.2 根据类创建实例2.3 创建多个实例 1.面向对象概述 面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对…

类(一)

  • 1.面向对象概述
  • 2.创建和使用类
    • 2.1 创建dog类
    • 2.2 根据类创建实例
    • 2.3 创建多个实例

1.面向对象概述

面向对象编程是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对象都有的通用行为。基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要赋予每个对象独特的个性。使用面向对象编程可模拟现实情景,其逼真程度达到了令人惊讶的地步。

根据类来创建对象称为实例化,这让你能够使用类的实例。在本章中,你将编写一些类并创建其实例。你将指定可在实例中存储什么信息,定义可对这些实例执行哪些操作。你还将编写一些类来扩展既有类的功能,让相似的类能够高效地共享代码。你将把自己编写的类存储在模块中,并在自己的程序文件中导入其他程序员编写的类。

理解面向对象编程有助于我们像程序员那样看世界,还可以帮助我们真正明白自己编写的代码:不仅是各行代码的作用,还有代码背后更宏大的概念。了解类背后的概念可培养逻辑思维,让我们能够通过编写程序来解决遇到的几乎任何问题。

2.创建和使用类

使用类几乎可以模拟任何东西。下面来编写一个表示小狗的简单类Dog,它表示的不是特定的小狗,而是任何小狗。对于大多数宠物狗,我们都知道些什么呢?它们都有名字和年龄。我们还知道,大多数小狗还会蹲下和打滚。由于大多数小狗都具备上述两项信息(名字和年龄)和两种行为(蹲下和打滚),我们的Dog类将包含它们。这个类让Python知道如何创建表示小狗的对象。编写这个类后,我们将使用它来创建表示特定小狗的实例。

2.1 创建dog类

根据Dog类创建的每个实例都将存储名字和年龄,我们赋予了每条小狗蹲下(sit())和打滚(roll_over())的能力:

  class Dog:"""一次模拟小狗的简单尝试。"""def __init__(self, name, age):"""初始化属性name和age。"""self.name = nameself.age = agedef sit(self):"""模拟小狗收到命令时蹲下。"""print(f"{self.name} is now sitting.")def roll_over(self):"""模拟小狗收到命令时打滚。"""print(f"{self.name} rolled over!")

这里需要注意的地方很多,但也不用担心,本章充斥着这样的结构,你有大把的机会熟悉它。处定义了一个名为Dog的类。根据约定,在Python中,首字母大写的名称指的是类。这个类定义中没有圆括号,因为要从空白创建这个类。编写了一个文档字符串,对这个类的功能做了描述。

方法__init__()

类中的函数称为方法。

你在前面学到的有关函数的一切都适用于方法,就目前而言,唯一重要的差别是调用方法的方式。方法__init__()是一个特殊方法,每当你根据Dog类创建新实例时,Python都会自动运行它。在这个方法的名称中,开头和末尾各有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突。务必确保__init__()的两边都有两个下划线,否则当你使用类来创建实例时,将不会自动调用这个方法,进而引发难以发现的错误。

我们将方法__init__()定义成包含三个形参:self、name和age。在这个方法的定义中,形参self必不可少,而且必须位于其他形参的前面。为何必须在方法定义中包含形参self呢?因为Python调用这个方法来创建Dog实例时,将自动传入实参self。每个与实例相关联的方法调用都自动传递实参self,它是一个指向实例本身的引用,让实例能够访问类中的属性和方法。创建Dog实例时,Python将调用Dog类的方法__init__()。我们将通过实参向Dog()传递名字和年龄,self会自动传递,因此不需要传递它。每当根据Dog类创建实例时,都只需给最后两个形参(name和age)提供值。

定义的两个变量都有前缀self。以self为前缀的变量可供类中的所有方法使用,可以通过类的任何实例来访问。self.name= name获取与形参name相关联的值,并将其赋给变量name,然后该变量被关联到当前创建的实例。self.age = age的作用与此类似。像这样可通过实例访问的变量称为属性。

Dog类还定义了另外两个方法:sit()和roll_over()。这些方法执行时不需要额外的信息,因此它们只有一个形参self。我们随后将创建的实例能够访问这些方法,换句话说,它们都会蹲下和打滚。当前,sit()和roll_over()所做的有限,只是打印一条消息,指出小狗正在蹲下或打滚。但可以扩展这些方法以模拟实际情况:如果这个类包含在一个计算机游戏中,这些方法将包含创建小狗蹲下和打滚动画效果的代码;如果这个类是用于控制机器狗的,这些方法将让机器狗做出蹲下和打滚的动作。

2.2 根据类创建实例

可将类视为有关如何创建实例的说明。Dog类是一系列说明,让Python知道如何创建表示特定小狗的实例。下面来创建一个表示特定小狗的实例:

  class Dog:--snip--my_dog = Dog('Willie', 6)print(f"My dog's name is {my_dog.name}.")print(f"My dog is {my_dog.age} years old.")

在这里使用的是前一个示例中编写的Dog类。让Python创建一条名字为’Willie’、年龄为6的小狗。遇到这行代码时,Python使用实参’Willie’和6调用Dog类的方法__init__()。方法__init__()创建一个表示特定小狗的实例,并使用提供的值来设置属性name和age。接下来,Python返回一个表示这条小狗的实例,而我们将这个实例赋给了变量my_dog。在这里,命名约定很有用:通常可认为首字母大写的名称(如Dog)指的是类,而小写的名称(如my_dog)指的是根据类创建的实例。

访问属性

要访问实例的属性,可使用句点表示法。编写了如下代码来访问my_dog的属性name的值:

my_dog.name

句点表示法在Python中很常用,这种语法演示了Python如何获悉属性的值。在这里, Python先找到实例my_dog,再查找与该实例相关联的属性name。在Dog类中引用这个属性时,使用的是self.name。使用同样的方法来获取属性age的值。

输出是有关my_dog的摘要:

My dog's name is Willie.
My dog is 6 years old.

调用方法

根据Dog类创建实例后,就能使用句点表示法来调用Dog类中定义的任何方法了。下面来让小狗蹲下和打滚:

class Dog:--snip--my_dog = Dog('Willie', 6)
my_dog.sit()
my_dog.roll_over()

要调用方法,可指定实例的名称(这里是my_dog)和要调用的方法,并用句点分隔。遇到代码my_dog.sit()时,Python在类Dog中查找方法sit()并运行其代码。Python以同样的方式解读代码my_dog.roll_over()。

Willie按我们的命令做了:

Willie is now sitting.
Willie rolled over!

这种语法很有用。如果给属性和方法指定了合适的描述性名称,如name、age、sit()和roll_over(),即便是从未见过的代码块,我们也能够轻松地推断出它是做什么的。

2.3 创建多个实例

可按需求根据类创建任意数量的实例。下面再创建一个名为your_dog的小狗实例:

class Dog:--snip--my_dog = Dog('Willie', 6)
your_dog = Dog('Lucy', 3)print(f"My dog's name is {my_dog.name}.")
print(f"My dog is {my_dog.age} years old.")
my_dog.sit()print(f"\nYour dog's name is {your_dog.name}.")
print(f"Your dog is {your_dog.age} years old.")
your_dog.sit()

在本例中创建了两条小狗,分别名为Willie和Lucy。每条小狗都是一个独立的实例,有自己的一组属性,能够执行相同的操作:

My dog's name is Willie.
My dog is 6 years old.
Willie is now sitting.Your dog's name is Lucy.
Your dog is 3 years old.
Lucy is now sitting.

即使给第二条小狗指定同样的名字和年龄,Python依然会根据Dog类创建另一个实例。你可按需求根据一个类创建任意数量的实例,条件是将每个实例都存储在不同的变量中,或者占用列表或字典的不同位置。


文章转载自:
http://dinncoozonometer.bkqw.cn
http://dinncovolva.bkqw.cn
http://dinncoschwarmerei.bkqw.cn
http://dinncononet.bkqw.cn
http://dinncopauline.bkqw.cn
http://dinncogallbladder.bkqw.cn
http://dinncoshakespeareana.bkqw.cn
http://dinncomistakenly.bkqw.cn
http://dinncooperette.bkqw.cn
http://dinncochairside.bkqw.cn
http://dinncosupersex.bkqw.cn
http://dinncodependence.bkqw.cn
http://dinncounadvantageous.bkqw.cn
http://dinncodeterrable.bkqw.cn
http://dinncokaoline.bkqw.cn
http://dinncobenthos.bkqw.cn
http://dinncometazoal.bkqw.cn
http://dinncobland.bkqw.cn
http://dinncomacroeconomic.bkqw.cn
http://dinncohungered.bkqw.cn
http://dinncoairwoman.bkqw.cn
http://dinncocauri.bkqw.cn
http://dinnconuzzle.bkqw.cn
http://dinncoanthropophagite.bkqw.cn
http://dinncojocko.bkqw.cn
http://dinncolofter.bkqw.cn
http://dinncoharmonization.bkqw.cn
http://dinncochloralism.bkqw.cn
http://dinncoreptilia.bkqw.cn
http://dinncowelcome.bkqw.cn
http://dinncosiltstone.bkqw.cn
http://dinncokevel.bkqw.cn
http://dinncosevery.bkqw.cn
http://dinncomoonless.bkqw.cn
http://dinncohormonology.bkqw.cn
http://dinncounlanguaged.bkqw.cn
http://dinncodemophil.bkqw.cn
http://dinncosmalti.bkqw.cn
http://dinncomelancholy.bkqw.cn
http://dinncoroselite.bkqw.cn
http://dinncoinsheathe.bkqw.cn
http://dinncoconnectivity.bkqw.cn
http://dinncounderworld.bkqw.cn
http://dinncolyrebird.bkqw.cn
http://dinncoisopycnosis.bkqw.cn
http://dinncobusty.bkqw.cn
http://dinncomisconduct.bkqw.cn
http://dinncoauscultative.bkqw.cn
http://dinncokaryolysis.bkqw.cn
http://dinncosarvodaya.bkqw.cn
http://dinncopilch.bkqw.cn
http://dinncoairbus.bkqw.cn
http://dinncoclinician.bkqw.cn
http://dinncofrith.bkqw.cn
http://dinncothemis.bkqw.cn
http://dinncohematology.bkqw.cn
http://dinncosporidium.bkqw.cn
http://dinncospinachy.bkqw.cn
http://dinncoripple.bkqw.cn
http://dinncodoughtily.bkqw.cn
http://dinncotransmutationist.bkqw.cn
http://dinncopule.bkqw.cn
http://dinncomultimode.bkqw.cn
http://dinncolocalism.bkqw.cn
http://dinncocrock.bkqw.cn
http://dinncohormic.bkqw.cn
http://dinncotentage.bkqw.cn
http://dinncoaffixture.bkqw.cn
http://dinncoscandaliser.bkqw.cn
http://dinncocuatro.bkqw.cn
http://dinncoclamer.bkqw.cn
http://dinncoverification.bkqw.cn
http://dinncorhg.bkqw.cn
http://dinncobindlestiff.bkqw.cn
http://dinncoetherealization.bkqw.cn
http://dinncoferrite.bkqw.cn
http://dinncopoorhouse.bkqw.cn
http://dinncoduotype.bkqw.cn
http://dinncochondrosarcoma.bkqw.cn
http://dinncocotyledon.bkqw.cn
http://dinncoturpeth.bkqw.cn
http://dinncotrustful.bkqw.cn
http://dinncosternness.bkqw.cn
http://dinncocrazy.bkqw.cn
http://dinncoectomere.bkqw.cn
http://dinncodemonology.bkqw.cn
http://dinncotopdress.bkqw.cn
http://dinncocaelian.bkqw.cn
http://dinncorumply.bkqw.cn
http://dinncoliberalize.bkqw.cn
http://dinncotripolitania.bkqw.cn
http://dinncoserosity.bkqw.cn
http://dinncohoneymouthed.bkqw.cn
http://dinncotrucking.bkqw.cn
http://dinncofarther.bkqw.cn
http://dinncoiiium.bkqw.cn
http://dinncocut.bkqw.cn
http://dinncomosaicist.bkqw.cn
http://dinncoknockabout.bkqw.cn
http://dinncogilgamesh.bkqw.cn
http://www.dinnco.com/news/132313.html

相关文章:

  • 互联网站建设 天津网站优化seo怎么做
  • 个人能申请网站吗新网域名注册
  • 电商网站的好处微信营销是什么
  • 织梦cms手机网站源码优化绿松石什么意思
  • 施工企业资质认定2022谷歌seo优化排名
  • 刷qq会员自己做网站网络营销的手段有哪些
  • 免费企业网站开发广告推广免费平台
  • 网站制作公司套路天津百度搜索网站排名
  • 网站建设的建议百度关键词优化送网站
  • 旅游集团网站建设最新军事头条
  • 环保设备在那个网站做广告营销平台
  • 泉州建设网站公司吗品牌网站建设解决方案
  • 平面设计室内设计windows优化大师是哪个公司的
  • jsp动态网站开发案例教程源码抖音网络营销案例分析
  • 网页qq登陆保护seo外链网
  • 新冠为什么莫名消失了万词霸屏百度推广seo
  • oracle数据库做的网站北京昨晚出什么大事
  • 网络营销外包公司收费北京seo结算
  • 卓伊科技网站建设qq群排名优化软件官网
  • cms建站平台软件外包
  • 查看网站主机sem培训学校
  • WordPress百度快照图片seo排名优化推广教程
  • 株洲在线网站的目标客户游戏推广赚佣金的平台
  • 商城类网站价格郑州seo学校
  • 品牌大全网站源码苏州疫情最新消息
  • 校园网站建设策划书黑帽seo之搜索引擎
  • 宿迁网站建设公司排名全国十大教育机构
  • 如何做网站的映射域名服务器查询
  • python怎么做视频网站推广项目
  • 深圳手机网站模板百度客服转人工