猫史档案馆


【面向对象入门】回复w.rong

用户:查看:6 回复:12 评论:6 创建时间:2017-07-27T03:21:20


Dear w.rong:

很高兴看到你的提问,也很高兴看见你自己在探索python语言。

刚刚@构造函数做出了很好的解释,考虑到英语文档可能阅读起来还是会有困难,可以看一下中文的文档:

http://python.usyiyi.cn/translate/python_352/howto/argparse.html

文档里已经写得比较清晰,也列出了很多个例子。把基础的几个例子做一做,就能知道怎么使用了(这个是python3的)以后各位遇到一些不懂的标准库,都可以在这里用 ctrl+F 找找看http://python.usyiyi.cn/translate/python_352/library/index.html

看到这里,懂得面向对象的各位可以去练习一下了。


接下来要重点跟各位说的是面向对象的思想。

简单来说,以“狗”为一个例子:

“Dog”是一种统称的种类,在“Dog”这个种类里,我们定义“叫”的函数,和“吃”的函数:


(这里python等和编程猫里的函数的区别在于,编程猫里定义的函数是所有人都能用的,而python一个种类里定义的函数,只有这种种类的对象能使用,这里不一样。)


实际上我们写程序的时候,我们需要创建一只叫“阿旺”的Dog,这时候我们这样写:

阿旺 = Dog( )

那怎么让阿旺叫起来呢?因为所有的Dog都已经被定义好了 “叫” 这个函数,这时候我们通过 . 这个符号来调用:

阿旺.叫()


点的意义就是编程猫平台上的“告诉”(p.s 这个模块是叶知易发明贡献的),

阿旺.叫() 的意思就是 

告诉 阿旺 执行函数‘叫’


接下来我们来天马行空,想象一个小东西叫“烧瓶里的小人”(是的tc也很喜欢钢炼),这个“烧瓶里的小人”可以化身为任何意义上的“东西”,不仅是实体的事物,也包括行为,以及更抽象的规则,计划和事件。

我们让它化身为 “阿旺叫了” 这个行为吧:

烧瓶里的小人 = 阿旺.叫()

这是你会看到程序里有这样语句的原因: parser=argparse.ArgumentParser()

这里面左边的 parser 就是 “烧瓶里的小人”,一个随便起的名字,右边是你让它化身做的“东西”抑或行为抑或规则。



万物皆可为对象。


好,面向对象我们先讲到这里,下面讲些英文:

args  其实在编程里一般是 arguments 的缩写

arg 是 argument 的缩写

arguments 是 argument 的复数,意思是“参数”

你们有时候也会碰到形参parameter, 就当成也是是arg就行了,暂时我们还不需要讲两者的区别。

关于“面向对象”的知识,我们今天讲的都是“封装”这个特性,在这个阶段,你们只要先了解面向对象的第一个特性“封装”就够了,

至于另外两个特性“继承”和“多态”,等哪天我们涉及到了再讲。



回复

上一页1 页 / 共 1下一页
萌新what萌新what

😱😱😱😱

点赞0


评论


成成4成成4

→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→→


点赞0


评论


Erin3Erin3



点赞0


评论


杰鸽杰鸽



点赞0


评论


四九圣尊四九圣尊

谢谢tc!!!!

点赞0


评论


ftxqgfudiftxqgfudi

嗯嗯,解释得很详细,我只是注意到了语病~

继承我好像知道一点,就是在一个母集里面子方法或属性具有继承性,然后这些继承的东西可以应用到这个类别里面其它的实例,参数好像也可以调用。只是还没研究到“多态”,TC总是说人话,很好的呢,有句话叫“Python中一切皆是对象”,看来此言非虚。

点赞0


评论


轮回的写作龖轮回的写作龖

考古···

点赞0


评论


ZH-Y-QZH-Y-Q

安排资瓷

点赞1


评论


ZH-Y-QZH-Y-Q

可以加入我们A.C.工作室吗

点赞1


评论


YLS月狼菌YLS月狼菌

h喵l可还行

点赞0


评论


白篮白篮

哦吼创始人发的帖子

点赞0


评论


想改个名但都存在了想改个名但都存在了

我挖我挖我挖我挖

点赞0


评论