python 封装与解构

封装

封装是面向对象编程中的一个概念,指的是将数据(属性)和操作(方法)捆绑到一个单元中,通过这种方式实现数据隐藏和封装。在Python中,类是封装的主要机制,将数据和方法封装在类的内部,并通过对象来访问。通过封装,可以实现数据的保护和操作的封装,提高代码的模块化程度和安全性。
class Player:
    def __init__(self, name, team):
        self.name = name
        self.team = team

    def get_details(self):
        return f"{self.name} plays for {self.team}"

# 封装数据和操作在一个Player类中
player1 = Player("Alice", "Team A")
print(player1.get_details())  # 输出: "Alice plays for Team A"

解构

解构是一种Python中的特性,用于快速、简洁地从序列(如列表、元组)或字典中提取数据,并将其赋值给多个变量。通过解构,可以一步到位地解压缩数据结构,方便地访问其中的元素。
# 解构元组
coordinates = (3, 4)
x, y = coordinates
print(f"x: {x}, y: {y}")  # 输出: "x: 3, y: 4"

# 解构列表
fruits = ['apple', 'banana', 'cherry']
first, second, third = fruits
print(f"first: {first}, second: {second}, third: {third}")  # 输出: "first: apple, second: banana, third: cherry"

# 解构字典
person = {'name': 'Alice', 'age': 30}
name, age = person['name'], person['age']
print(f"Name: {name}, Age: {age}")  # 输出: "Name: Alice, Age: 30"

# 解构嵌套元组
data = ("Alice", (30, "New York"))
name, (age, city) = data
print(name, age, city)  # 输出: Alice 30 New York

# 解构剩余元素
a, *rest = [1, 2, 3, 4, 5]
print(a)   # 输出: 1
print(rest)  # 输出: [2, 3, 4, 5]

# 解构函数返回值
def get_coordinates():
    return 5, 10

x, y = get_coordinates()
print(x, y)  # 输出: 5 10

# 解构遍历
points = [(1, 2), (3, 4), (5, 6)]
for x, y in points:
    print(f"x: {x}, y: {y}")

# 使用 * 丢弃其余值
first, *_, last = [1, 2, 3, 4, 5]  # 使用 * 来丢弃除了第一个和最后一个以外的所有值
print(first, last)   # 输出: 1 5

# 忽略多个值
_, y, _, _ = (1, 2, 3, 4)  # 这里忽略了元组中的第一个和第三个值
print(y)    # 输出:2
posted @ 2024-05-08 09:00  小吉猫  阅读(37)  评论(0编辑  收藏  举报