Python练习题33/34/35/36/37/38

》》点赞,收藏+关注,理财&技术不迷路《《

课后习题三十三(面向对象-self):

以下代码体现了面向对象编程的什么特点?

Python练习题33/34/35/36/37/38

当程序员不像把同一段代码写几次,他们发明了函数解决这类问题,当程序员有了一个类,又想建立一个非常相近的新类,他们会怎么做呢?

Python练习题33/34/35/36/37/38

Self参数的作用是什么?

Python练习题33/34/35/36/37/38

如果我们不希望对象的属性或发放被外部直接引用,我们可以怎么做?

Python练习题33/34/35/36/37/38

类在实例化后哪个方法会被自动调用?

Python练习题33/34/35/36/37/38

请解释下边代码错误的原因:

Python练习题33/34/35/36/37/38

 

动动手:

游戏编程:按以下要求定义一个乌龟类和鱼类并尝试编写游戏。(初学者不一定可以完整实现,但请务必自己尝试,你会从中学习到很多的知识的)

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

 

课后习题三十四(继承):

0.继承机制给程序员带来最明显的好处是:

Python练习题33/34/35/36/37/38

1.如果按以下方式重写魔法方法__init__,结果会怎么样?

Python练习题33/34/35/36/37/38

2.当子类定义了与相同名字的属性或方法时,Python是否会自动删除父类的相关属性或方法?

Python练习题33/34/35/36/37/38

3.假设已经有鸟类的定义,现在我要定义企鹅类继承于鸟类,但我们都知道企鹅是不会飞的,我们应该如何屏蔽父类(鸟类)中飞的方法?

Python练习题33/34/35/36/37/38

4.Super函数有什么‘超级’的地方?

Python练习题33/34/35/36/37/38

5.多重继承使用不当会导致重复调用(也叫钻石继承,菱形继承)的问题,请分析以下代码在实际编程中有可能导致什么问题?

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

6.如何解决上一题中出现的问题?

Python练习题33/34/35/36/37/38

动动手:

定义一个点(Point)类和直线(Line)类,使用getLen方法可以获得直线的长度。

Python练习题33/34/35/36/37/38

展示一个你的作品:你已经掌握了Python大部分基础知识,要开始学会自食其力了。请花一个星期做一个你能做出来的最好的作品(可以是游戏,应用软件,脚本),使用上你学过的任何东西(类,函数,字典,列表。。。。)来改进你的程序。

Python练习题33/34/35/36/37/38

 

 

课后习题三十五(组合和拾遗):

什么是组合(组成)?

Python练习题33/34/35/36/37/38

什么时候用组合,什么时候用继承?

Python练习题33/34/35/36/37/38

类对象实在什么时候产生?

Python练习题33/34/35/36/37/38

如果对象的属性跟方法名字相同,会怎么样?

Python练习题33/34/35/36/37/38

4.请问以下类定义中哪些是类属性,哪些是实例属性?

Python练习题33/34/35/36/37/38

5.请问以下代码中,bb对象为什么调用printBB()方法失败?

Python练习题33/34/35/36/37/38

动动手:

思考这一讲我学习的内容,请动手在一个类中定义一个变量,用于跟踪该类有多少个实例被创建(当实例化一个对象,这个变量+1,当销毁一个对象,这个变量自动-1)

Python练习题33/34/35/36/37/38

定义一个栈(Stack)类,用于模拟一种具有后进先出(LIFO)特性的数据结果。至少需要有以下方法:

Python练习题33/34/35/36/37/38

 

课后习题三十六(魔法方法):

是哪个特征让我们一眼就认出这货是魔法方法?

Python练习题33/34/35/36/37/38

类实例化对象所调用的第一个方法是什么?

Python练习题33/34/35/36/37/38

什么时候我们需要在类中明确写出__init__方法?

Python练习题33/34/35/36/37/38

请问下边代码存在什么问题?

Python练习题33/34/35/36/37/38

请问__new__方法是负责什么任务?

Python练习题33/34/35/36/37/38

5.__del__魔法方法什么时候会被自动调用?

Python练习题33/34/35/36/37/38

动动手:

效力做事经常丢三落四的,写代码也一样,常常打开了文件又忘记关闭,你能不能写一个FileObject类,给文件对象进行包装,从而确认在删除对象时文件能自动关闭?

Python练习题33/34/35/36/37/38

按照以下要求,定义一个类实现摄氏度到华氏度的转换(公式:华氏度 = 摄氏度*1.8+32)

Python练习题33/34/35/36/37/38

定义一个类继承于int类型,并实现一个特殊功能:当传入的参数是字符串的时候,返回该字符串中所有字符的ASCⅡ码的和(使用ord()获得一个字符的ASCⅡ码值)

Python练习题33/34/35/36/37/38

 

课后习题三十七(魔法方法):

自Python2.2以后,对垒和类型进行了统一,做法就是将int(),float(),str(),list(),tuple()这些BIF转换为工厂函数,请问所谓的工厂函数,其实只是什么原理?

Python练习题33/34/35/36/37/38

当实例对象进行加法操作时,会自动调用什么魔法方法?

Python练习题33/34/35/36/37/38

下边代码有问题吗?(运行起来似乎没问题)

Python练习题33/34/35/36/37/38

3.写出下列算术运算符对应的魔法方法:

Python练习题33/34/35/36/37/38

4.以下代码说明Python支持什么风格?

Python练习题33/34/35/36/37/38

 

动动手:

我们都知道在Python中,两个字符串相加会自动拼接字符串,但遗憾的是两个字符串相减却出现异常。因此,现在我们要求定义一个Nstr类,支持字符串的相减操作:A-B,从A中去除所有B的子字符串。

Python练习题33/34/35/36/37/38

移位操作符是应用于二进制操作数的,仙子啊需要你定义一个新的类Nstr,也支持移位操作符的运算:

Python练习题33/34/35/36/37/38

定义一个类Nstr,当该类的实例对象间发生加,减,乘,除运算时,将该对象的所有字符串的ASCⅡ码之和进行计算:

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

 

课后习题三十八(反运算魔法方法):

0.对象相加(a+b),如果a对象有__add__方法,请问b对象的__radd__会被调用码?

Python练习题33/34/35/36/37/38

1.Python什么时候会调用到反运算的魔法方法?

Python练习题33/34/35/36/37/38

2.请问呢如何在继承的类中调用基类方法?

Python练习题33/34/35/36/37/38

如果我要继承的基类是动态的(有时候是A。有时候是B),我应该如何部署我的代码,以便基类可以随意变动。

Python练习题33/34/35/36/37/38

4.尝试自己举一个例子说明如何使用类的静态属性。

Python练习题33/34/35/36/37/38

5.尝试自己举例说明如何使用静态方法,并指出使用类的静态方法有何特点和需要注意的地方?

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38

 

动动手:

Python练习题33/34/35/36/37/38

动动手:

定义一个类,当实例化该类的时候,自动判断传入了多少个参数,并显示出来。

Python练习题33/34/35/36/37/38

定义一个单词(Word)类继承自字符串,重写比较操作符(参考自学:Python魔法方法详解),当两个Word类对象进行比较时,根据单词的长度来进行比较大小。

Python练习题33/34/35/36/37/38

Python练习题33/34/35/36/37/38