《Think Python》第5章学习笔记
备忘:parameter 指的是形参,argument 指的是实参。
- 5.1 整除和取模(Floor division and modulus)
- 5.2 布尔表达式(Boolean expressions)
- 5.3 逻辑运算符(Logical operators)
- 5.4 条件执行(Conditional execution)
- 5.5 选择执行(Alternative execution)
- 5.6 链式条件(Chained conditionals)
- 5.7 嵌套条件(Nested conditionals)
- 5.8 递归(Recursion)
- 5.9 递归函数的堆栈图(Stack diagrams for recursive functions)
- 5.10 无穷的递归(Infinite recursion)
- 5.11 键盘输入(Keyboard input)
- 5.12 调试(Debugging)
5.1 整除和取模(Floor division and modulus)
在 Python 3 中,/ 符号对两个操作数做的是浮点除法(floating-point division),而 // 符号对两个操作数做的是整除(floor division)。在 Python 2 中,则有所不同。当两个操作数都是整数时,/ 符号做的是整除;只要两个操作数中有一个是浮点数时,/ 符号做的是浮点除法。
5.2 布尔表达式(Boolean expressions)
无
5.3 逻辑运算符(Logical operators)
在 Python 中,有三种逻辑运算符(logical operator):and、or 以及 not。
有一点值得注意,在 Python 中,逻辑运算符的操作数并不需要是布尔表达式(boolean expression),任意非零的数都相当于布尔值 True。
5.4 条件执行(Conditional execution)
当条件语句下面的执行语句暂时还未确定时,可以将 pass 语句作为占位符——暂时充当执行语句,即:
if x < 0:
pass # TODO: need to handle negative values!
5.5 选择执行(Alternative execution)
无
5.6 链式条件(Chained conditionals)
无
5.7 嵌套条件(Nested conditionals)
在 Python 中,对于 0 < x and x < 10 这样的表达式,可以更加简洁地写成:0 < x < 10。
5.8 递归(Recursion)
函数调用自身的执行过程称为递归(recursion)。
5.9 递归函数的堆栈图(Stack diagrams for recursive functions)
无
5.10 无穷的递归(Infinite recursion)
无
5.11 键盘输入(Keyboard input)
Python 为我们提供了一个内建函数 input 用于从控制台输入,当执行 input 函数时,暂停程序的运行,等待用户输入,当用户输入完毕后(按下 Enter 或者 Return),程序继续执行,input 函数会将用户输入的字符作为一个字符串。
>>> text = input()
What are you waiting for?
>>> text
'What are you waiting for?'
input 函数还可以将一个提示的字符串作为参数,提示用户应该输入什么。
>>> name = input('What...is your name?\n')
What...is your name?
Arthur, King of the Britons!
>>> name
'Arthur, King of the Britons!'
5.12 调试(Debugging)
当语法或者运行错误(syntax or runtime error)发生时,错误提示中包含大量信息,但是错误提示经常是冗长的,包含许多不必要的部分。对于我们而言,其中最有用的部分应该是:
- 错误类型
- 错误发生的行数
值得注意的是,错误提示虽然指出了错误发生的行数,但是实际中,错误发生的地方可能在前面(比如前一行)。
《Think Python》第5章学习笔记的更多相关文章
- 《Think Python》第17章学习笔记
目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...
- 《Think Python》第16章学习笔记
目录 <Think Python>第16章学习笔记 16.1 Time 16.2 纯函数(Pure functions) 16.3 修改器(Modifiers) 16.4 原型 vs. 方 ...
- 《Think Python》第15章学习笔记
目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...
- 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳
<Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...
- 《Linux内核设计与实现》 第一二章学习笔记
<Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...
- 《Linux内核设计与实现》第四章学习笔记
<Linux内核设计与实现>第四章学习笔记 ——进程调度 姓名:王玮怡 学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...
- 《Linux内核设计与实现》第五章学习笔记
<Linux内核设计与实现>第五章学习笔记 姓名:王玮怡 学号:20135116 一.与内核通信 在Linux中,系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...
- 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记
注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...
随机推荐
- Kindeditor编辑器上传附件,自动获取文件名显示。
大部分在线编辑器在上传附件之后都是会以路径的形式显示出来很不友好.类似这样..怎么样显示成这样用户上传的原始文件名呢.就是这样.是不是看着很友好. kindeditor编辑器上传文件是已插件的形式调用 ...
- Git命令行学习积累
1.远程分支拉取到本地 $ git checkout -b develop origin/develop //检出远程的develop分支到本地 2.本地分支推送到远程 $ git checkout ...
- StarUML3.0选择不同类型图和导出
StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具. 可绘制9款UML图:用例图.类图.序列图.状态图.活动图.通信图.构件图.部署图以及复合结构图 ...
- .Net Core下使用Ajax,并传送参数到controllers
可以使用URL拼接方式方法传参 .cshtml部分 @section Scripts{ @{ await Html.RenderPartialAsync("_ValidationScript ...
- iOS 访问模拟器数据
1. 如果文件隐藏,进入命令行,输入: defaults write com.apple.finder AppleShowAllFiles -bool true 2. 进入 Finder,shift ...
- css3半圆
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- “全栈2019”Java异常第十四章:将异常输出到文本文件中
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- notepad++常用操作梳理
在 设置---管理快捷键 可以查询/重置快捷键.如下: 工作or学习中最长用到的操作: Ctrl+ALT-C:列编辑Ctrl+U:转换为小写Ctrl+Shift+U:转换为大写Ctrl+B:跳转 ...
- 利用Python爬取电影网站
#!/usr/bin/env python #coding = utf-8 ''' 本爬虫是用来爬取6V电影网站上的电影资源的一个小脚本程序,爬取到的电影链接会通过网页的形式显示出来 ''' impo ...
- 插入排序 思想 JAVA实现
已知一个数组 60.28.41.39.6 .18 .14.28.49.31 利用插入排序算法进行排序 插入排序是一个运行时间为O(N²)的排序算法. 算法思想 60.28.41.39.6 .18 . ...