Python类定义

什么是类

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因为类本身只是一个抽象,因此并不能直接拿来用,我们必须先定义类,然后根据类创建 对象,然后才可以使用对象里面的 属性方法

Python 中定义类有两种方法,一种是使用 class 关键字,一种是使用 type 来创建,一般第二种很少使用。

Python定义类详解

语法

class ClassName: propertoy list function list

参数

参数 描述
class 定义类使用的关键字。
ClassName 类名。

说明

使用 class 关键字,定义一个类,类的首字母一般都大写,接着,我们就可以在类里面定义属性和方法。

Python使用type定义类详解

语法

Foo = type('Foo', (object,), {'talk':func})

说明

使用 type 关键字,定义一个类 Foo,该类有一个 talk 方法。其中,type 函数的第一个参数是类名,第二个参数是类的父类,第三个参数是类的方法。

案例

定义一个Student类

使用 class 关键字,定义一个Student类

print("嗨客网(www.haicoder.net)") class Student: def sayHello(self): print("Hello, HaiCoder") stu = Student() stu.sayHello()

程序运行后,控制台输出如下:

01_python类定义.png

我们创建了一个类 Student,类中有一个方法 sayHello,接着,我们创建了一个 Student 类的对象 stu,并调用对象的 sayHello 方法。

我们看到,程序输出了类 Student 的方法 sayHello 里面的内容。

使用type定义一个Foo类

使用 type 关键字,定义一个 Student 类

print("嗨客网(www.haicoder.net)") def func(self): print('hello %s' % self.name) def __init__(self, name, age): # 初始化方法 self.name = name self.age = age # type('叫什么的类', '继承谁', '它里面有哪些方法') Foo = type('Foo', (object,), {'talk': func, '__init__': __init__}) f = Foo('haicoder', '18') f.talk() print(type(Foo))

程序运行后,控制台输出如下:

02_python类定义.png

我们使用 type 关键字,创建了一个类 Foo,类中有两个方法,分别为 talk 和 init,其中,类 Foo 的父类是 object。

最后,我们创建了一个类 Foo 的对象 f,并调用其 talk 方法。

Python类定义总结

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因为类本身只是一个抽象,因此并不能直接拿来用,我们必须先定义类,然后根据类创建对象,然后才可以使用对象里面的属性和方法。

Python 定义类语法:

class ClassName: propertoy list function list

Python 使用 type 定义类语法:

Foo = type('Foo', (object,), {'talk':func})