Python 类和对象

Python 是一种面向对象的编程语言,Python 中的几乎所有东西都是对象,都有它的属性和方法。而类则是对象的“蓝图”,定义了对象的属性和方法。

Python 是一种面向对象的编程语言,Python 中的几乎所有东西都是对象,都有它的属性和方法。而类则是对象的“蓝图”,定义了对象的属性和方法。

类中定义的函数,我们一般称之为方法。

创建一个类

要创建一个类,请使用关键字 class

创建一个名为 MyClass 的类,其属性名为 x:

class MyClass:
  x = 5

创建对象

现在我们可以使用名为 MyClass 的类来创建对象:

创建一个名为 p1 的对象,并打印 x 的值:

class MyClass:
  x = 5

p1 = MyClass()
print(p1.x) # 5

init() 方法

上面的例子是最简单形式的类和对象,而真正应用程序中的类和对象则可能很复杂。

要理解类的含义,我们必须了解内置的 __init__() 方法。所有类都有一个名为 __init__() 的方法,它定义了类初始化时的操作。

__init__() 方法可以理解为其他面向编程语言中的构造方法,在创建对象时会被调用。

创建一个名为 Person 的类,使用 __init__() 方法为 nameage 赋值:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age

p1 = Person("John", 36)

print(p1.name) # John
print(p1.age)  # 36

! 注意: 每次使用该类创建新对象时都会自动调用 __init__() 方法。

! 注意: self 参数是对类当前实例的引用,用于访问属于该类的变量。

类方法

除了 __init__() 方法,类也可以定义一些自己的方法。类方法可以被该类的对象调用。

插入一个打印问候语的方法,并在对象上执行它:

class Person:
  def __init__(self, name, age):
    self.name = name
    self.age = age
  def myfunc(self):
    print("Hello my name is " + self.name)

p1 = Person("John", 36)
p1.myfunc() # Hello my name is John

self 参数

self 参数是对类当前实例的引用,用于访问属于该类的变量。

它不是必须命名为 self ,您可以随意给他命名,但它必须是类中任何方法的第一个参数:

使用单词 mysillyobjectabc 而不是 self

class Person:
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age
  def myfunc(abc):
    print("Hello my name is " + abc.name)

p1 = Person("John", 36)
p1.myfunc() # Hello my name is John

! 类的方法的第一个参数就是对当前实例的引用。

修改对象属性

对象属性可以通过点 . 访问。

将 p1 的年龄设置为 40:

p1.age = 40

删除对象属性

您可以使用 del 关键字删除对象的属性。

从 p1 对象中删除 age 属性:

del p1.age

删除对象

您可以使用 del 关键字删除对象:

删除 p1 对象:

del p1

pass 语句

class 定义不能为空,但如果您出于某种原因有一个没有内容的 class 定义,请放入 pass 语句中以避免出错。

class Person:
  pass