Python是一门面向对象的编程语言,几乎所有东西都是对象。对象拥有自己的属性(变量)和方法(函数)。要创建对象,我们首先需要定义一个类(Class)。你可以把类看作创建对象的“模板”或者“蓝图”。
1. 如何定义一个类(Class)
在Python中定义类,需要使用关键字class
:
class MyClass:
x = 5
2. 创建对象(Object)
通过类,我们可以创建出具体的对象:
class MyClass:
x = 5
p1 = MyClass()
print(p1.x) # 输出: 5
3. __init__()函数的作用
上面的例子比较简单,但实际开发时通常需要初始化对象,这就需要用到__init__()
函数。这个特殊方法在创建对象时自动执行,通常用来设置对象的初始属性值。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p1 = Person("张三", 36)
print(p1.name) # 输出: 张三
print(p1.age) # 输出: 36
4. __str__()函数的作用
__str__()
函数定义了对象转换成字符串时的输出结果。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __str__(self):
return f"{self.name}({self.age}岁)"
p1 = Person("李四", 30)
print(p1) # 输出: 李四(30岁)
5. 对象中的方法(Method)
类中也可以定义方法(Method),方法其实就是对象里的函数,用于描述对象的行为。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("你好,我叫" + self.name)
p1 = Person("王五", 28)
p1.greet() # 输出: 你好,我叫王五
6. self参数
self
指向类的当前实例,可以用来访问实例的变量和方法。虽然self
是常规用法,但实际上你可以任意命名:
class Person:
def __init__(myself, name, age):
myself.name = name
myself.age = age
def greet(abc):
print("你好,我叫" + abc.name)
p1 = Person("赵六", 40)
p1.greet() # 输出: 你好,我叫赵六
7. 修改对象的属性
p1.age = 45
print(p1.age) # 输出: 45
8. 删除对象的属性或对象本身
# 删除对象属性
del p1.age
# 删除整个对象
del p1
9. 空类的定义(pass关键字)
如果定义了类但还没有内容,使用pass
关键字可以避免出错:
class EmptyClass:
pass
总结
面向对象编程使Python代码更清晰,更易维护。通过定义类和创建对象,我们可以把现实世界中复杂的事物抽象成代码结构,更高效地进行开发。