电商 网站 建设深圳住房建设网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 11:26
当前位置: 首页 > news >正文
电商 网站 建设,深圳住房建设网站,成品app下载排行,php开源多用户商城系统类#xff08;一#xff09; 1.面向对象概述2.创建和使用类2.1 创建dog类2.2 根据类创建实例2.3 创建多个实例 1.面向对象概述 面向对象编程是最有效的软件编写方法之一。在面向对象编程中#xff0c;你编写表示现实世界中的事物和情景的类#xff0c;并基于这些类来创建对… 类一 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(fMy dogs name is {my_dog.name}.)print(fMy 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 dogs 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(fMy dogs name is {my_dog.name}.) print(fMy dog is {my_dog.age} years old.) my_dog.sit()print(f\nYour dogs name is {your_dog.name}.) print(fYour dog is {your_dog.age} years old.) your_dog.sit()在本例中创建了两条小狗分别名为Willie和Lucy。每条小狗都是一个独立的实例有自己的一组属性能够执行相同的操作 My dogs name is Willie. My dog is 6 years old. Willie is now sitting.Your dogs name is Lucy. Your dog is 3 years old. Lucy is now sitting.即使给第二条小狗指定同样的名字和年龄Python依然会根据Dog类创建另一个实例。你可按需求根据一个类创建任意数量的实例条件是将每个实例都存储在不同的变量中或者占用列表或字典的不同位置。
- 上一篇: 电器网站制作价格旅游宣传网站建设方案
- 下一篇: 电商类网站有哪些wordpress视频防盗链
相关文章
-
电器网站制作价格旅游宣传网站建设方案
电器网站制作价格旅游宣传网站建设方案
- 技术栈
- 2026年03月21日
-
电器企业网站建设做网站如何对接支付
电器企业网站建设做网站如何对接支付
- 技术栈
- 2026年03月21日
-
电脑做系统ppt下载网站好网站开发要什么专业
电脑做系统ppt下载网站好网站开发要什么专业
- 技术栈
- 2026年03月21日
-
电商类网站有哪些wordpress视频防盗链
电商类网站有哪些wordpress视频防盗链
- 技术栈
- 2026年03月21日
-
电商门户网站建设方案wordpress自定义内容的小工具
电商门户网站建设方案wordpress自定义内容的小工具
- 技术栈
- 2026年03月21日
-
电商免费网站入口几种语言的网站如何做
电商免费网站入口几种语言的网站如何做
- 技术栈
- 2026年03月21日






