笔记目录
前言
“Fluent Python by Luciano Ramalho (O’Reil‐
ly). Copyright 2015 Luciano Ramalho, 978-1-491-94600-8.” ; Python解释器版本为3.11.4 ; Python进阶 ; 笔记
一、Python数据模型
1.一摞Python风格的纸牌
import collections
Card = collections.namedtuple('Card', ['rank', 'suit'])
class FrenchDeck:
ranks = [str(n) for n in range(2, 11)] + list('JQKA')
suits = 'spades diamonds clubs hearts'.split()
def __init__(self):
self._cards = [Card(rank, suit) for suit in self.suits
for rank in self.ranks]
def __len__(self):
return len(self._cards)
def __getitem__(self, position):
return self._cards[position]
beer_card = Card('7', 'diamonds')
print(beer_card) # Card(rank='7', suit='diamonds') //diamonds : 方块
deck = FrenchDeck()
print(deck) # <__main__.FrenchDeck object at 0x000001FB4F52D690>
print(len(deck)) # 52
print(deck[ 0]) # Card(rank='2', suit='spades')
print(deck[-1]) # Card(rank='A', suit='hearts')
2.如何使用特殊方法
3.特殊方法一览
二、数据结构
1.
三、把函数视为对象
四、面向对象惯用法
五、控制流程
六、元编程
七、函数装饰器和闭包





总结
23/07/23 - 未完结
本文介绍了Python的数据模型,包括使用namedtuple创建Card类和FrenchDeck类来表示纸牌游戏。讨论了特殊方法如__init__,__len__,和__getitem__的实现,以及如何通过这些方法操作对象。此外,文章还预告了后续将探讨的数据结构、函数作为对象、面向对象编程的实践、控制流程、元编程以及函数装饰器和闭包等主题。

被折叠的 条评论
为什么被折叠?



