|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
有幸接到《Learn PYTHON the HARD WAY》(第 5 版)的翻译邀请~
没错,最近在忙着赶稿,不过已经进入尾声了 :)
看到一段关于闭包使用的代码,比较有意思,跟大家分享一下:
- def Person_new(name, age, eyes):
- person = {
- "name": name,
- "age": age,
- "eyes": eyes,
- }
- def talk(words):
- print(f"I am {person['name']} and {words}")
-
- person['talk'] = talk
-
- return person
- becky = Person_new("Becky", 39, "green")
- becky['talk']("I am talking here!")
复制代码
这段代码的写法比较有趣,通过将函数嵌入字典的方式实现了类似于面向对象编程中的方法绑定。
最终,becky 是一个包含属性(name, age, eyes)和方法(talk)的字典对象。
说白了,它是在模拟面向对象编程(OOP)中的类和对象的行为。
那么同样的效果,使用面向对象来实现,应该怎么做呢?
|
评分
-
查看全部评分
|