b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

面向过程的程序设计语言 用python在树莓派上编程,你可以将项目扩展到令人难以置信(4)

电脑杂谈  发布时间:2018-01-17 21:06:34  来源:网络整理

如果对其他语言比较熟悉的话,你会发现Python的函数与其他语言的函数在方法、功能和步骤方面都有一些不同。例如,在Python中,所有的函数都是按引用进行调用(call-by-reference)。不需要太过的术语,简单而言,这意味着当你给函数传递一个参数时,你只是将一个指针传递给一个变量,而不是传递数值。这种方式使得Python的内存管理更加方便。例如,当你在函数中一遍又一遍地传递列表参数时,不需要复制整个列表的内容。具体而言,当一个函数将一个列表作为参数时,你传递的只是列表首元素在内存中的位置,之后函数基于首元素的位置再查找剩余项。

函数另一个有意思的方面是:它们都是可执行的语句。这意味着一个函数实际上可以在if语句中声明和调用。虽然并不是很常见,但是这样定义和调用是合法的(有时也十分有用)。def语句可以嵌套在循环当中,嵌套在其他的def语句中,甚至嵌套在列表和字典里。

我们会在进行具体项目时回顾函数部分;现在,只需要知道它们的存在,并知道它们对你自己编写的每个程序都很实用即可。

4、对象和面向对象编程

在本章中,最后一件重要的事情是其与生俱来的执行面向对象代码的能力。面向对象编程(object-oriented programming,OOP)是一个较为高级的话题,可能不在本书讨论的范围之内。但我认为这是一个十分重要的话题,不可轻描淡写,一带而过。

OOP是一个程序数据被分为对象和函数(或方法)组合的范例。一个对象就是一个数据结构,通常是一组数据类型的结合,包括整型、字符型或者其他的数据类型。对象通常是类的一部分,与类中的方法相关联,并通过方法操作。

也许解释这部分最简单的方法就是使用shape示例。在这个例子中,一个shape(形状)是一个对象的类。类中有值,例如name(名称)和numberOfSides(面数)。这个类也有相关的函数,如findArea(计算面积)或者findPerimeter(计算周长)。

shape类有很多子类,子类描述的内容更为具体。一个square(正方形)是一个shape的对象,它的shapeType(形状属性)值等于square,numberOfSides值等于4。它的findArea函数接受numberOfSides值,并将该值的平方作为返回值。同时,一个triangle(三角形)对象也有不同的name、shapeType和numberOfSides值和不同的findArea方法。

这个例子不仅简单介绍了对象的概念,也阐述了继承的概念—OOP的一个组成部分。triangle对象从它的父类shape类继承了name、numberOfSides和findArea部分(虽然这几个部分都具有不同的值或者实现方法)。如果一个对象继承于shape类,它也会继承那些部分。即便它不需要用到那些部分,它还是会包含这些部分。它可能会增加一些其他的部分(例如circle(圆形)对象可能会有radius(半径)值),但它也会包含其父类的那些部分。

如果你在编程中用到这些类,相对于C++或者Java而言,Python更容易理解。无论属性是一个对象或是一个方法,你都可以按照接下来的语法结构进行命名:object.attribute(对象。属性)。如果你有一个叫作holyGrail的circle对象,其半径值用holyGrail.radius来表示。一个名为unexplodedScotman的正方形,其计算面积的函数用unexplodedScotsman.findArea来定义。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-60861-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...