Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我什么时候实际使用类_Python_Class - Fatal编程技术网

Python 我什么时候实际使用类

Python 我什么时候实际使用类,python,class,Python,Class,我已经编写了几个月的代码,现在制作了一些简单的脚本和一些更大的项目,但我从来没有想过何时真正使用类。也许是因为我的项目太小,无法从中受益,但我就是不明白。每当我查阅有关它的视频时,总会有同样的例子。例如,当您有一名学生,并且希望存储有关该学生的信息时。但我不明白如何在程序中实现这一点。有人能举个例子说明什么时候使用类是有用的以及为什么它比不使用好吗 学生班的例子: class Student(): def __init__(self, name, grade, gender):

我已经编写了几个月的代码,现在制作了一些简单的脚本和一些更大的项目,但我从来没有想过何时真正使用类。也许是因为我的项目太小,无法从中受益,但我就是不明白。每当我查阅有关它的视频时,总会有同样的例子。例如,当您有一名学生,并且希望存储有关该学生的信息时。但我不明白如何在程序中实现这一点。有人能举个例子说明什么时候使用类是有用的以及为什么它比不使用好吗

学生班的例子:

class Student():
    def __init__(self, name, grade, gender):
        self.name = name
        self.grade = grade
        self.gender = gender

John = Student("John", "A", "Man")

对。我对类和对象非常感兴趣。我可以告诉你,使用类和对象真的可以帮你很多,减少代码行

首先,您应该知道在哪里使用对象。假设,我们必须创建一个游戏,那么肯定会有一些对象在其中——这些是我们感知到的图像,但除此之外,还有更多对象的属性,比如在画布上,当对象移动时,其x和y坐标随时间而变化。而且,这个物体的图像本身就是它的一个属性

例如,在《超级马里奥》中,你会将马里奥视为主角,它是编程方面的一个对象。Mario是一个具有各种属性和方法的对象。什么属性和方法?在用于绘制图像的画布上,它有x&y坐标,正如我前面所说的,除此之外,它还有图像、图像的宽度和高度,方法功能包括向右移动、向左移动、跳跃等

简而言之,可以将对象称为属性变量和方法函数的集合

对象确实有助于组织所有代码。除此之外,课程还有帮助。类是用于创建对象的模板。看,在《超级马里奥》中,有很多敌人,我不知道第一次是什么,棕色的,乌龟和其他很多。您可以注意到,它们都具有相同的图像外观、属性、大小和形状、方法运动等。它们的行为方式都相同


那么,如何创建一种类型的多个敌人。。。我们是否复制和粘贴对象的代码并更改其属性?它们的坐标在游戏中是不同的?在那里我们使用类。。。我们通过使用变量定义所需对象的属性和方法,然后将不同的值传递给类,并创建数百个相同类型的对象。

在编写小程序时,类不受欢迎。但是如果您正在使用Pygame模块开发一个游戏,那么类就会派上用场。例如,使用类创建游戏中的角色肯定会使生活更轻松,因为它将所有信息和属性都打包到其中。相反,对使用面向过程的代码编程的游戏进行更改将非常困难和烦人。更不用说代码的长度了,您还必须清楚地说明每一个可能的结果和事件。简言之,类是面向对象编程独有的有益手段,这就是为什么它是一种高级编程语言。在许多情况下,类可能不是必需的,但它仍然是一个使代码更短、更易于阅读和修改的优秀工具。

面向对象编程只是编程的一种类型。这不是必要的,但在某些情况下可以使生活更轻松。例如,在你的问题中,你可以选择什么样的数据结构来定义,比如说,10个学生,而不使用类?这不是堆栈溢出适合的问题-它没有精确简洁的答案,因为这在某种程度上是一个风格问题。你们可以试着问下去,但最好是读一本关于python的编程书,或者想想python。