Python定义类的方法
时间: 2024-05-24 18:08:37 浏览: 122
Python中定义类有两种方法:使用class关键字和使用type函数。下面分别介绍这两种方法:
1. 使用class关键字
定义类的基本语法是:
```
class 类名([父类名]):
属性
方法
```
其中,`[父类名]`是可选的,表示该类继承自哪个父类。类名、属性和方法都需要缩进。
例如,下面是一个简单的示例:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print("Hello, my name is", self.name, "and I am", self.age, "years old.")
```
上述代码定义了一个名为Person的类,它有两个属性:name和age,以及一个方法:say_hello。
2. 使用type函数
type函数可以动态地创建一个类。它的基本语法是:
```
type(类名, (父类,), 属性字典)
```
其中,`(父类,)`是一个元组,表示该类继承自哪个父类;属性字典包含了该类的属性和方法。
例如,下面是使用type函数定义一个与上述示例等价的类:
```
Person = type('Person', (), {
'__init__': lambda self, name, age: setattr(self, 'name', name) or setattr(self, 'age', age),
'say_hello': lambda self: print("Hello, my name is", self.name, "and I am", self.age, "years old.")
})
```
上述代码定义了一个名为Person的类,它有两个属性:name和age,以及一个方法:say_hello。注意,属性字典中的key需要使用字符串形式,并且方法需要使用lambda表达式来定义。
阅读全文