这本书今天看了半本,对以前的知识有一些补充
不返回有意义的值的函数更像是一个“过程”。这句话我是最喜欢的一句话,它完成了我对函数没有返回值是的新的诠释。
使用函数可以帮助你更好地构建代码,并在需要多次执行相同任务或计算时避免代码重复。 我喜欢构建这个词,摘录了。以及后面的理由,是多次以及单独的任务的时候,考虑函数的使用~
在函数定义中代表输入值的变量称为“形式参数”,通常将它们称为参数或哑元。注意哑元这词的出现,之前见过一次。
作为参数传递给函数的对象,被复制到函数的形式参数中。更确切地说,传入函数的对象的引用(地址)被复制到形式参数中。注意是引用了一个地址而已。
Python允许你为某些函数的参数提供默认值。具有默认值的参数必须出现在def语句的列表末尾(或使用参数name = value)。注意其中所说的默认参数必须在列表的末尾,或使用键值对。
如果将不可变对象传递给函数,那么该函数将无法更改它。这个显而易见
●好的算法是紧凑的:对于任务的不同大小或不同参数,运行时间可能不同,但算法描述的长度以及基于它的程序代码会保持不变。就是用参数这个技术或者加上类的shiying思想来构建代码,让代码更具有“弹性”
●好的算法是通用的:它适用于任务的不同大小或不同参数。
●好的算法是抽象的:它不依赖于特定的编程语言或计算机系统。加入分层和原子化的思想。
def to_postfix(s):
i = s.find('+')
return s[0:i].strip() + ' ' + s[i+1:].strip() + ' +'i = s.find('+')
# 将i设置为s中第一次出现'+'的索引。
# s[i+1:]返回该字符串从s[i+1]开始的后面部分——与s[i+1:len(s)]相同。
# strip()方法删除字符串开头和结尾的空格。这里针对子串s[0:i]和s[i+1:]调用了strip。
def to_postfix(s):
i = s.find('+')
return s[0:i].strip() + ' ' + s[i+1:].strip() + ' +'i = s.find('+')
# 将i设置为s中第一次出现'+'的索引。s[i+1:]返回该字符串从s[i+1]开始的后面部分——与s[i+1:len(s)]相同。
# strip()方法删除字符串开头和结尾的空格。这里针对子串s[0:i]和s[i+1:]调用了strip。
分享两端关于字符串处理的代码。
def remove_dashes(phone):
return phone.replace('-', '')
# s.replace(old, new)用new替换s中每一次出现的old。
# 在这个例子中,new是一个空字符串。
以及一个替换空白的小代码。
什么是事件编程:
事件(Event)指的是由系统事先设定的、能被对象识别和响应的动作。事件是指对象对于外部动作的响应,当对象发生了某个事件,就会执行与此对象的这个事件相应的代码,这段代码被称为“事件过程”。
事件处理器(event handler)是异步(asynchronous)执行、处理程序(或事件)中输入的回调函数。在这种情况下,一次事件是来自潜在开发框架的应用信息的有意义元素,通常来自图形用户界面(GUI)工具或某些输入程序。
站在GUI的立场,事件包括键盘敲击、鼠标活动、行动选择或暂停计时器。
站在输入角度看,事件包括打开或关闭文件和数据流和读取数据等等。
https://zh.javascript.info/introduction-browser-events
为了对事件作出响应,我们可以分配一个 处理程序(handler)—— 一个在事件发生时运行的函数。处理程序是在发生用户行为(action)时运行的代码。