备忘:parameter 指的是形参,argument 指的是实参。

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):andor 以及 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章学习笔记的更多相关文章

  1. 《Think Python》第17章学习笔记

    目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...

  2. 《Think Python》第16章学习笔记

    目录 <Think Python>第16章学习笔记 16.1 Time 16.2 纯函数(Pure functions) 16.3 修改器(Modifiers) 16.4 原型 vs. 方 ...

  3. 《Think Python》第15章学习笔记

    目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...

  4. 《Linux内核设计与实现》课本第五章学习笔记——20135203齐岳

    <Linux内核设计与实现>课本第五章学习笔记 By20135203齐岳 与内核通信 用户空间进程和硬件设备之间通过系统调用来交互,其主要作用有三个. 为用户空间提供了硬件的抽象接口. 保 ...

  5. 《Linux内核设计与实现》 第一二章学习笔记

    <Linux内核设计与实现> 第一二章学习笔记 第一章 Linux内核简介 1.1 Unix的历史 Unix的特点 Unix很简洁,所提供的系统调用都有很明确的设计目的. Unix中一切皆 ...

  6. 《Linux内核设计与实现》第四章学习笔记

    <Linux内核设计与实现>第四章学习笔记           ——进程调度 姓名:王玮怡  学号:20135116 一.多任务 1.多任务操作系统的含义 多任务操作系统就是能同时并发地交 ...

  7. 《Linux内核设计与实现》第五章学习笔记

    <Linux内核设计与实现>第五章学习笔记 姓名:王玮怡  学号:20135116 一.与内核通信     在Linux中,系统调用是用户空间访问内核的唯一手段:除异常和陷入外,它们是内核 ...

  8. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

  9. 学习笔记(二)--->《Java 8编程官方参考教程(第9版).pdf》:第七章到九章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法者自负一切 ...

  10. 学习笔记(一)--->《Java 8编程官方参考教程(第9版).pdf》:第一章到六章学习笔记

    注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.违者本人不负法律责任.违法者自负一切法律责任. ...

随机推荐

  1. SQL Server 2014与TFS 2013的错误(TF53001:管理员已取消数据库操作)

    服务器环境: - TFS 2013 with Update 2 - SQL Server 2014(两个节点数据库服务器配置了AlwaysOn高可用性) - Windows Server 2012 R ...

  2. WCF快速上手(二)

    服务端是CS程序,客户端(调用者)是BS程序 一.代码结构: 二.服务接口Contract和实体类Domain INoticeService: using Domain; using System; ...

  3. Algebraic Foundations ( Arithmetic and Algebra) CGAL 4.13 -User Manual

    理解: 本节主要介绍CGAL的代数结构和概念之间的互操作.与传统数论不同,CGAL的代数结构关注于实数轴的“可嵌入”特征.它没有将所有传统数的集合映射到自己的代数结构概念中,避免使用“数的类型”这一术 ...

  4. css细节复习笔记——浮动

    CSS除了能够改变字体.背景和所有其他属性,还能够完成基本布局任务. div+css通过浮动和定位.盒子模型等技术应用,是最常用的布局方式. 定位的基本思想很简单,它允许定义元素框相对于其正常位置应该 ...

  5. python网络编程--线程(锁,GIL锁,守护线程)

    1.线程 1.进程与线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观 ...

  6. vue 动态组件

    动态组件 多个组件通过同一个挂载点进行组件的切换,is的值是哪个组件的名称,那么页面就会显示哪个组件 内置组件 (内置组件不会被渲染到页面上) component is属性     keep-aliv ...

  7. robot framework-断言

    *** Test Cases *** 断言一 #01.should contain . should not contain 与should contain x times @{list1}= cre ...

  8. django实战-留言板

    对应github链接:https://github.com/pshyms/django/tree/master/liuyanban 第一天 1. 创建一个新项目后,新建一个应用程序 python ma ...

  9. 安装gensim报错:Original error was: DLL load failed: 找不到指定的模块。 Command "python setup.py egg_info" failed with error code 1 in C:\Users\xubing\AppData\Local\Temp\pip-install-nta89iep\gensim\

    1.pip install --upgrade setuptools #安装或升级 2.如果是基于numpy的python 包,升级numpy pip install -U numpy 3.重新pip ...

  10. STM32-RS232通信软硬件实现

    OS:Windows 64 Development kit:MDK5.14 IDE:UV4 MCU:STM32F103C8T6/VET6 AD:Altium Designer 18.0.12 1.RS ...