0503《与孩子一起学编程》读书笔记4

1.程序越写越大,越来越复杂怎么办?得把它们分解为小的部分进行组织,这样容易编写,也容易让人明白。那么,把程序分解为小的部分有哪些方法?主要有3中,其一函数(function),就像代码的积木,可以反复使用,是用来完成某个工作的代码块(block);其二对象(object),可以把程序中的各部分描述为自包含的单元;其三模块(module),就是包含程序各部分的单独的文件。

ps:以上书里对三者的解释并不清楚,期待后面学习过程中逐渐明白差异。

2.Q:用循环可以让代码多次运行,那还需要多次调用函数吗?

A:如果希望在程序的不同位置打印地址,而不是全部都一次完成,循环就实现不了,而函数就可以。

3.使用函数的两个原因:其一,一旦定义了函数,就可以通过调用反复使用;其二,每次函数运行时可以让它有不同的表现(后者通过下文的参数实现);其三,函数还可以向你发回一些东西,要让函数返回一个值,需要在函数中使用关键字return。

4.函数后括号的作用:用来传递参数(argument)。怎么理解参数?就是指你交给函数的一条信息。调用函数时,我们把参数放在括号里,通过这种方式将参数传入函数。

5.实参和形参的区别?可以说没区别,硬要说有区别,可以这么理解:谈到传递部分(调用函数)时应当称作实参(argument),而谈到接收部分(函数内部)时应该称为形参(parameter)。

6.对于函数而言,函数内的名字只是在函数运行时才会创建,在函数运行之前或者完成运行之后甚至根本不存在。函数运行结束时,其中的所有函数内的名字都不再存在。

7.变量作用域(scope)是什么?就是程序中使用变量的部分。

8.局部变量(local variable)和全局(global variable)变量差异?前者只在包含其本身的函数内部使用,后者可在更大的程序的主部分使用。

9.如果你试图从函数内部改变一个全局变量的值,会发生什么?Python会创建一个新的局部变量,为的是防止函数无意地改变全局变量。不过,有些情况下你确实想要在函数中改变一个全局变量,那该怎么做呢?可以用Python的一个关键字global来做到。

10.动手试一试第13章书上的第3小题,看看将局部变量强制为全局变量后,和函数外部的全局变量冲突时(即二者命名相同)程序的运行结果。代码如下:

         

时间: 2024-07-30 23:21:10

0503《与孩子一起学编程》读书笔记4的相关文章

0502《与孩子一起学编程》读书笔记3

1.主要有两种循环,计数循环和条件循环.前者一般叫做for循环,后者一般叫做while循环.要停止一个失控循环的Python程序,只需要按下Ctrl C. 2.跳出循环语句有两种,break和continue.前者完全终止该次循环,后者是提前跳转到循环的下一次迭代. 3.附带目前查询的资料: ----python函数库:http://www.lfd.uci.edu/~gohlke/pythonlibs/ ----<与孩子一起学编程>网址:http://www.manning.com/sande

java 并发编程读书笔记

1.同步容器,同步容器包括Vector和HashTable,是早期jdk的一部分.另一部分是同步包装类,以Collections.synchronizedxxx的工厂方法创建. 2.同步容器虽然是线程安全的,但是对于复合操作,有时你可能需要加上额外的客户端加锁进行保护,即对于使用这些容器的客户端代码,如果存在复合操作,还是可能存在风险. 3.例如check-and-act操作.循环中的元素操作等,如果在客户端代码中没有额外的锁,都会发生意想不到的问题. 4.造成这些的问题都可以通过在客户端加锁来

C++Windows核心编程读书笔记

转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔记": 关键词:c++windows 核心 编程 读书笔记 这篇笔记是我在读<windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和windows实际机制可能有出入,但应该是合理的.开头几章由于我追求简洁

TCP/IP网络编程读书笔记-简单的套接字编程(1)

在linux和windows下都是通过套接字编程进行网络编程.不同的系统上通信有部分差别,现在刚开始学习,给自己学习的时候一个总结. 一,socket函数的套接字步骤 第一,linux网络编程中接受连接请求(服务器端)套接字的四个步骤: 1)调用socket函数创建套接字 2)调用bind函数分配IP地址和端口号 3)调用listen函数转为可接收请求状态 4)调用accept函数受理连接请求 第二,linux网络编程中请求连接(客户端)套接字的两个步骤: 1)调用socket函数创建套接字 2

0430《与孩子一起学编程》读书笔记2

1.python编码惯例(convention),总是将代码块(block)缩进4个空格. 2.今天扩展了一个小作业的代码,原作业只是在交互编程中猜密码,自己写的作业增加的功能有:用GUI窗口实现+循环+倒数提醒(这个其实可以加声音,记在这里,想起试试).写的时候也碰到了许多问题,这次的问题由室友B助攻解决(室友A在哪里,嗯,ta就在我身后陪一群同学打牌),问题有: ----如何在窗口输入字符?查书得知EasyGui里面有enterbox函数支持该功能: ----如何确定循环次数?直接跑,根本不

函数式编程 读书笔记

函数式编程 函数式编程思想:在思考问题时,使用不可变值和函数,函数对一个值进行处理,映射成另一个值. 已经掌握的使用场景: 1.      获取集合中的最大或最小值,当集合类型为自定义类型时的使用比较器 2.      循环进行一些操作.foreEach( ) 3.      统计符合条件的有多少个 List.stream().filter( 条件).count(); .map(  ) : 方法将一个流中的值转换成一个新的流 .filter(   ) :  方法将流进行过滤,保留符合条件的(返回

WCF服务编程 读书笔记——第1章 WCF基础(1)

第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Binding).契约(Contract)和终结点(Endpoint):了解如何托管服务,如何编写客户端代码:了解WCF的相关主题,诸如进程内托管(In-Proc Hosting)以及可靠性的实现.即使你已经熟知WCF的基本概念,仍然建议你快速浏览本章的内容,它不仅能够巩固你的已有知识,而且本章介绍的一

异步编程读书笔记

参考资料: 1.异步编程:IAsyncResult异步编程模型 (APM) 2..NET2.0基于事件的异步编程模式(EMP) 3.  .NET4.X基于任务的异步编程模式(TPL) 4.C#综合揭秘——细说多线程(上) 5.C#综合揭秘——细说多线程(下)

C专家编程读书笔记——time_t知识链接

time_t实际上是一个长整形的数据类型,用于记录从1970年1月1日0时0分0秒(UNIX出现的时间)起到当前一共多少秒的时间记录,然而对于time_t来说它表示的时间的最大值只能到2038 ,所以有一些厂商引入了64位甚至更长来保存时间. 我们通过查找头文件time.h来观察time_t的定义 #ifndef _TIME32_T_DEFINED typedef _W64 long __time32_t;   /* 32-bit time value */ #define _TIME32_T_