Python 3.2:关于类、类属性和对象值的信息

Python 3.2:关于类、类属性和对象值的信息,python,class,Python,Class,我是Python新手,正在学习类函数。有人知道这方面有什么好的来源/例子吗?这是我写的一个例子。我正在尝试阅读更多关于self和init的信息 class Example: def __init__(a, b, c, d): self.a = a self.b = b self.c = c self.d = d test = Example(1, 1, 1, 1) 我去过python.org,也去过这个网站。我也一直在读

我是Python新手,正在学习类函数。有人知道这方面有什么好的来源/例子吗?这是我写的一个例子。我正在尝试阅读更多关于self和init的信息

class Example:
    def __init__(a, b, c, d):
        self.a = a
        self.b = b
        self.c = c
        self.d = d

test = Example(1, 1, 1, 1)
我去过python.org,也去过这个网站。我也一直在读Python初学者的书,但我想了解更多信息


谢谢。

我现在也在学习python,codecademy.com上有一个非常好的介绍类


它有一个关于课堂练习的部分。希望这有帮助

我现在也在学习python,codecademy.com上有一个非常好的介绍类


它有一个关于课堂练习的部分。希望这有帮助

您的类定义中有错误始终
\uuuu init\uuu
方法中包含变量
self
。它表示对象本身的实例,应该作为所有方法的第一个参数包含

你想通过这门课完成什么?到目前为止,它只存储了一些变量。尝试添加一些方法来增加一些趣味!Python中的类有大量可用资源。首先,您可能想尝试一下:


您的类定义中有错误始终
\uuuu init\uuu
方法中包含变量
self
。它表示对象本身的实例,应该作为所有方法的第一个参数包含

你想通过这门课完成什么?到目前为止,它只存储了一些变量。尝试添加一些方法来增加一些趣味!Python中的类有大量可用资源。首先,您可能想尝试一下:


这里有几个一般性澄清:

  • Python的“class”关键字不是一个函数,而是一条语句,它向语言发出以下代码描述类(用户定义的数据类型及其相关行为)的信号。“类”具有名称(以及可能为空的“父”类列表)。。。并引入了一个“套件”(缩进的代码块)
  • “def”键盘是定义函数的类似语句。在您的示例中,应该阅读:*def
    \u init\u
    (self,a,b,c)*)您正在定义一种特殊类型的函数,它是示例类的“一部分”(与之关联,绑定)。创建未绑定函数也是可能的(也是相当常见的)。通常,在Python中,未绑定的函数称为“函数”,而属于类的函数称为“方法”。。。或“实例函数”
  • 类是实例化对象的模板。术语“实例”和“对象”在此上下文中是同义词。您的示例“测试”是一个实例。。。Python解释器根据类描述“实例化”并初始化该对象
  • 类也是一种“类型”,也就是说它是一种数据类型及其关联方法的用户定义。“类”和“类型”在Python中有点同义,尽管它们通常以不同的方式使用。Python数据的核心“类型”(整数、实数、虚数/复数、字符串、列表、元组和字典)都称为“类型”,而更复杂的数据/操作结构称为类。Python的早期版本是通过约束实现的,这些约束使得“类型”和“类”之间的区别不仅仅是术语上的区别。然而,Python的最后几个版本已经消除了这些潜在的技术区别。这些区别与“子类化”(继承)有关
  • 类可以描述为对另一个类的一组添加和修改。这称为“继承”,以这种方式从另一个类派生的类称为“子类”。程序员通常创建类的层次结构。。。具有特定的变化,所有这些都源自更常见的基础。在相同的文件或文件集中定义相关功能也是很常见的。这些是“类库”,有时它们被构建为“包”
  • \u init
    ()是一种方法;特别是它是Python对象(类实例)的初始值设定项
  • Python通常使用
    \u…\ u
    作为“特殊”方法或属性名称的前缀和后缀(在选定关键字周围添加下划线字符对)。。。其目的是减少其命名选择与您可能希望为自己的方法指定的有意义的名称冲突的可能性。虽然您可以用这个
    \uxxxx\uxxxx
    命名您的其他方法和属性,但Python不会固有地将其视为错误,这样做是非常糟糕的。即使您没有选择任何当前定义的特殊名称,也不能保证Python的未来版本不会与您以后的使用发生冲突
  • “方法”是函数。。。但它们是一种绑定(关联)特定类的特定实例的函数类型。还有一些“类方法”,它们与类相关联,而不是与类的特定实例相关联
  • 在您的示例中,self.b、self.c等是对象(实例)的“属性”或“成员”。(这些术语是同义词)
  • 一般来说,面向对象编程的目的是提供描述数据类型和对这些类型数据的操作的方法,这种方法既便于人类理解,也便于计算机解释和执行。(所有编程语言都旨在在人类可读性/理解性和机器解析/执行之间取得某种平衡;但面向对象语言是通过