介绍
小编给大家分享一下python3类比函数好用吗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
,some_song =, { ,,,“title":,“Yellow Submarine" ,,,“artist":, the_beatles,, #,指向到包含该艺术家的词典 ,,,“album":, yellow_submarine_album,, #,指向包含此相册的dict的链接 ,,,“duration":, insert_time_object_here, ,,,“filepath":,“路径//文件//disk" } , #,其他数据类型的结构也类似 , #,一些函数 def play_song(歌曲): ,,,#,获取歌的路径 ,,,path =,歌曲(“filepath") ,,,#,播放路径 ,,,call_some_library_function(路径) , def play_album(专辑): ,,,#,找到专辑里所有的歌曲 ,,,#,分别调用play_song , def play_artist(艺术家): ,,,#,找到这位艺术家所有的专辑 ,,,#,分别调用play_album , def play_playlist(播放列表): ,,,#,找到播放列表中的所有歌曲 #,分别调用play_song
这样写有什么不好吗? 强>我们有四个非常相似的函数,每个函数都与特定类型的数据相关。你必须把它们叫做不同的东西,而不仅仅是玩,你必须确保你把正确的数据传递给它们。虽然这四种不同的类型都可以“播放”,但是没有一种通用的方法可以在不知道它是什么的情况下播放任何东西。那么在OOP下,怎么实现呢:
class 歌曲: ,,,def __init__(自我,,标题,艺术家,专辑,时间,filepath): ,,,,,,,self.title =,标题 ,,,,,,,self.artist =,艺术家 ,,,,,,,self.album =,专辑 ,,,,,,,self.duration =,持续时间 ,,,,,,,self.filepath =filepath , ,,,def 玩(自我): ,,,,,,,path =self.filepath ,,,,,,,call_some_library_function(路径)
#,some_song是上面定义的歌 play_song (some_song) 在使用类之后: #,自我参数没有在这里传递,它会自动添加 some_song =,歌曲(“Yellow Submarine" ,,,,,,,,,,,,,,,the_beatles, ,,,,,,,,,,,,,,,yellow_submarine_album, ,,,,,,,,,,,,,,,insert_time_object_here, ,,,,,,,,,,,,,,,“路径//文件//disk" ,,,,,,,,,,,) some_song.play ()
以上是python3类比函数好用吗的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!