Python 的 class 和 def
1. class(类)
在 Python 中,class 是一种定义对象的模板。class 可以包含属性(即变量)和方法(即函数),用来描述对象的特征和行为。
1.1 定义 class
使用关键字 class
来定义一个类,后面跟着类名。类名通常首字母大写。下面是一个示例:
class Dog:
pass
1.2 实例化 class
实例化一个类意味着创建一个类的实例或对象。可以使用类名后面加上括号 ()
来实例化一个类,同时也可以将实例赋值给一个变量。
class Dog:
pass
my_dog = Dog()
1.3 访问类的属性和方法
通过实例对象可以访问该类的属性和方法。属性是与对象相关的数据,方法是对象的行为。
1.3.1 属性
类的属性可以是数据属性(通常是变量)或方法属性。
class Dog:
breed = "Golden Retriever"
age = 2
my_dog = Dog()
print(my_dog.breed) # 输出:"Golden Retriever"
print(my_dog.age) # 输出:2
1.3.2 方法
类的方法是在类中定义的函数。方法必须至少有一个参数,通常将其命名为 self
。通过 self
参数,可以访问类的属性。
class Dog:
breed = "Golden Retriever"
age = 2
def bark(self):
print("Woof!")
my_dog = Dog()
my_dog.bark() # 输出:"Woof!"
1.4 构造函数和析构函数
构造函数(也称为初始化方法)在创建一个类的实例时自动调用。析构函数在删除一个对象时自动调用。构造函数和析构函数使用特殊的方法名 __init__
和 __del__
来定义。
class Dog:
def __init__(self, breed, age):
self.breed = breed
self.age = age
print("A dog has been created.")
def __del__(self):
print("A dog has been deleted.")
my_dog = Dog("Labrador", 3)
2. def(函数)
在 Python 中,def 是用来定义函数的关键字。函数是一段可重复使用的代码块,用于执行特定的任务。
2.1 定义函数
使用关键字 def
来定义函数,后面跟着函数名和括号 ()
,括号里可以包含参数。下面是一个示例:
def say_hello():
print("Hello!")
say_hello() # 输出:"Hello!"
2.2 函数参数
函数可以接受零个或多个参数,并在函数体内对其进行操作。参数可以是必需的,也可以是可选的。
2.2.1 必需参数
必需参数是函数定义中必须传递的参数。
def add(a, b):
return a + b
result = add(2, 3)
print(result) # 输出:5
2.2.2 关键字参数
关键字参数是在调用函数时根据参数名指定的参数。
def greet(name, age):
print("Hello, " + name + "! You are " + str(age) + " years old.")
greet(name="Alice", age=25) # 输出:"Hello, Alice! You are 25 years old."
2.2.3 默认参数
默认参数是在函数定义时给出默认值的参数。
def greet(name, age=18):
print("Hello, " + name + "! You are " + str(age) + " years old.")
greet("Bob") # 输出:"Hello, Bob! You are 18 years old."
greet("Charlie", 30) # 输出:"Hello, Charlie! You are 30 years old."
2.3 函数返回值
函数可以返回一个值或多个值。使用关键字 return
后跟着要返回的值。
def add(a, b):
return a + b
result = add(2, 3)
print(result) # 输出:5
2.4 可变参数
可以接受任意数量的参数的函数被称为可变参数函数。在参数前添加 *
,可以传递任意多个参数。
def add(*args):
total = 0
for num in args:
total += num
return total
result = add(2, 3, 4, 5)
print(result) # 输出:14
总结
本文详细介绍了 Python 的 class 和 def。通过 class,我们可以定义对象的模板,访问类的属性和方法。通过 def,我们可以定义函数,接受参数,返回值。掌握了这些基本概念,可以在 Python 中更好地组织代码,提高开发效率。