前面讲过的“继承”,是类的一个重要特征,在编程中用途很多。这里要说两个在理解和实践上有争议的话题:多态和封装。所谓争议,多来自于对同一个现象不同角度的理解,特别是有不少经验丰富的程序员,还从其它语言的角度来诠释python的多态等。
多态
...
AI君
3年前 (2019-03-27) 136℃
0喜欢
本节介绍类中一个非常重要的东西——继承,其实也没有那么重要,只是听起来似乎有点让初学者晕头转向,然后就感觉它属于很高级的东西,真是情况如何?学了之后你自然有感受。
在现实生活中,“继承”意味着一个人从另外一个人那里得到了一些什么,比如“继承...
AI君
3年前 (2019-03-27) 127℃
0喜欢
现在开始不用伪代码了,用真正的python代码来理解类。当然,例子还是要用读者感兴趣的例子。
新式类和旧式类
因为python是一个不断发展的高级语言(似乎别的语言是不断发展的,甚至于自然语言也是),导致了在python2.x的版本中,有“...
AI君
3年前 (2019-03-27) 148℃
0喜欢
在上一节中,对类有了基本的或者说是模糊的认识,为了能够对类有更深刻的认识,本节要深入到一些细节。
类属性和实例属性
正如上节的案例中,一个类实例化后,实例是一个对象,有属性。同样,类也是一个对象,它也有属性。
>>> cl...
AI君
3年前 (2019-03-27) 133℃
0喜欢
类,这个词如果是你第一次听到,把它作为一个单独的名词,总感觉怪怪的,因为在汉语体系中,很常见的是说“鸟类”、“人类”等词语,而单独说“类”,总感觉前面缺点修饰成分。其实,它对应的是英文单词class,“类”是这个class翻译过来的,你就把...
AI君
3年前 (2019-03-27) 128℃
0喜欢
在《语句(4)》中,对zip()进行了阐述,但是,由于篇幅限制,没有阐述的太完整。所以,本讲再次将它拿出来,希望能够有一个完成的独立阐述,以便学习者参考。
内建函数zip()
zip()是一个内建函数,对它的描述为:
zip()的参数是可迭...
AI君
3年前 (2019-03-27) 144℃
0喜欢
已经学习了函数的基本知识,现在练习练习。完成下面练习的原则:
请读者先根据自己的设想写下代码,然后运行调试,检查得到的结果是否正确
我也给出参考代码,但是,参考代码并不是最终结果
读者可以在上述基础上对代码进行完善
如果读者愿意,可以将代...
AI君
3年前 (2019-03-27) 136℃
0喜欢
在设计函数的时候,有时候我们能够确认参数的个数,比如一个用来计算圆面积的函数,它所需要的参数就是半径(πr^2),这个函数的参数是确定的。
然而,这个世界不总是这么简单的,也不总是这么确定的,反而不确定性是这个世界常常存在的。如果看官了解量...
AI君
3年前 (2019-03-27) 146℃
0喜欢
还记得在《迭代》中提到的那几个说出来就让人感觉牛X的名词吗?前面已经学习过“循环”、“遍历”和“迭代”了。现在来看“递归”。
递归
什么是递归?
这是对“递归”最精简的定义。还有故事类型的定义.
如果用上面的做递归的定义,总感觉有点调侃,来...
AI君
3年前 (2019-03-27) 125℃
0喜欢
在上一节中,已经明确了函数的基本结构和初步的调用方法。但是,上一节中写的函数,还有点缺憾,不知道读者是否觉察到了。我把结果是用print语句打印出来的。这是实际编程中广泛使用的吗?肯定不是。在程序中,函数是一段具有抽象作用的代码。一般情况下...
AI君
3年前 (2019-03-27) 132℃
0喜欢
特别说明,这一讲的内容不是我写的,是我从《Python自省指南》抄录过来的,当然,为了适合本教程,我在某些地方做了修改或者重写。
什么是自省?
在日常生活中,自省(introspection)是一种自我检查行为。自省是指对某人自身思想、情绪...
AI君
3年前 (2019-03-27) 130℃
0喜欢
函数,对于人类来讲,能够发展到这个数学思维层次,是一个飞跃。可以说,它的提出,直接加快了现代科技和社会的发展,不论是现代的任何科技门类,乃至于经济学、政治学、社会学等,都已经普遍使用函数。
下面一段来自维基百科(在本教程中,大量的定义来自维...
AI君
3年前 (2019-03-27) 128℃
0喜欢
已经将python的基础知识学习完毕,包含基本的数据类型(或者说对象类型)和语句。利用这些,加上个人的聪明才智,就能解决一些问题了。
练习1
问题描述
有一个列表,其中包括10个元素,例如这个列表是[1,2,3,4,5,6,7,8,9,0]...
AI君
3年前 (2019-03-27) 166℃
0喜欢
上一节,对文件有了初步认识。要牢记,文件无非也是一种类型的数据。
文件的状态
很多时候,我们需要获取一个文件的有关状态(也称为属性),比如创建日期,访问日期,修改日期,大小,等等。在os模块中,有这样一个方法,专门让我们查看文件的这些状态参...
AI君
3年前 (2019-03-27) 139℃
0喜欢
跟一些比较牛X的程序员交流,经常听到他们嘴里冒出一个不标准的英文单词,而loop、iterate、traversal和recursion如果不在其内,总觉得他还不够牛X。当让,真正牛X的绝对不会这么说的,他们只是说“循环、迭代、遍历、递归”...
AI君
3年前 (2019-03-27) 122℃
0喜欢
文件,是computer姑娘中非常重要的东西,在python里,它也是一种类型的对象,类似前面已经学习过的其它数据类型,包括文本的、图片的、音频的、视频的等等,还有不少没见过的扩展名的。事实上,在linux操作系统中,所有的东西都被保存到文...
AI君
3年前 (2019-03-27) 147℃
0喜欢
while,翻译成中文是“当…的时候”,这个单词在英语中,常常用来做为时间状语,while … someone do somthing,这种类型的说法是有的。在python中,它也有这个含义,不过有点区别的是,“当&...
AI君
3年前 (2019-03-27) 131℃
0喜欢
循环,也是现实生活中常见的现象,我们常说日复一日,就是典型的循环。又如:日月更迭,斗转星移,无不是循环;王朝更迭;子子孙孙,繁衍不息,从某个角度看也都是循环。
编程语言就是要解决现实问题的,因此也少不了要循环。
在python中,循环有一个...
AI君
3年前 (2019-03-27) 128℃
0喜欢
for循环在python中应用广泛,所以,要用更多的篇幅来介绍。
并行迭代
关于迭代,在《列表(2)》中曾经提到过“可迭代的(iterable)”这个词,并给予了适当解释,这里再次提到“迭代”,说明它在python中占有重要的位置。
迭代,...
AI君
3年前 (2019-03-27) 138℃
0喜欢
所谓条件语句,顾名思义,就是依据某个条件,满足这个条件后执行下面的内容。
if
if,其含义就是:conj. (表条件)如果。if发起的就是一个条件,它是构成条件语句的关键词。
>>> a = 8
>>>...
AI君
3年前 (2019-03-27) 134℃
0喜欢