从编程语言都会接触的数据类型、数据运算、输入与输出;流程控制里的选择结构和循环结构;元祖、列表、字典三种基础且常用的存储方式;函数的使用;文件的操作。通过基础的学习,建立起扎实的编程基础。此外还可以进行数据库和扩展库等更多的研究。
本书的对象是高中生及以下,所以尽量多的图片来帮助学生理解,更形象的描述python代码所表达的含义。
章 认识新朋友Python
1.1 Python自我介绍
1.2 给Python搭房子
1.3 Python说“hello”(案例)
小结
第2章 与Python的相处之道
2.1 数据类型
2.1.1 字符串
2.1.2 整数
2.1.3 浮点数
2.1.4 布尔值
2.1.5 空值
2.1.6 变量
2.1.7 常量
2.2 Python会运算
2.2.1 算术运算符
2.2.2 比较(关系)运算符
2.2.3 赋值运算符
2.2.4 逻辑运算符
2.2.5 成员运算符
2.2.6 身份运算符
2.2.7 运算符优先级
2.3 Python 输入与输出
2.3.1 打印到屏幕
2.3.2 格式化输出
2.3.3 读取键盘输入
2.4 文件IO
2.4.1 open函数
2.4.2 file对象属性
2.4.3 file对象的方法
2.5 os模块常用方法
2.5.1 重命名和删除文件
2.5.2 Python2.6 让Python算税收(案例)
小结
第3章 了解Python的思维方式
3.1 代码块缩进
3.2 再谈布尔值
3.3 条件语句
3.3.1 if语句
3.3.2 else子句
3.3.3 elif子句
3.3.4 复杂的判断条件
3.4 循环
3.4.1 while循环
3.4.2 for循环
3.5 跳出循环
3.5.1 break
3.5.2 while True/break
3.5.3 continue
3.6 循环中的else
3.7 猜大小游戏(案例)
小结
第4章 各司其职的数据
4.1 字符串
4.1.1 字符串赋值
4.1.2 字符串的运算
4.1.3 切片获取字符串中的一段
4.1.4 字符串进阶操作
4.1.5 转义字符串
4.2 列表
4.2.1 什么是列表
4.2.2 访问列表的元素
4.2.3 列表的运算
4.2.4 列表的基础操作
4.2.5 列表的进阶操作
4.3 元组
4.3.1 元组是什么
4.3.2 访问元组的元素
4.3.3 元组的运算
4.3.4 元组的进阶操作
4.4 字典
4.4.1 什么是字典
4.4.2 访问字典的元素
4.4.3 字典的基础操作
4.4.4 字典的进阶操作
4.5 学生成绩信息存储(案例)
小结
第5章 灵活的积木
5.1 积木的制作——函数定义
5.1.1 什么是函数
5.1.2 空函数
5.1.3 无参函数
5.1.4 有参函数
5.2 动手搭积木——函数调用
5.2.1 函数的嵌套调用
5.2.2 函数的递归调用
5.3 猜数字游戏(案例)
5.43 的倍数小游戏(案例)
小结
第6章 综合案例
案例1: 让Python算日期
案例2: 订餐管理
案例3: 摇骰子,比大小
案例4: 学生信息管理
附录APython的安装与配置
A.1 给Python搭房子
A.2 给Python搭建Anaconda的新房子
A.3 配置环境变量
附录B安装扩展库
第3章了解Python的思维方式
通过前两章的学习,大家了解了与Python的相处之道,认识了基本数据类型,学习了简单的运算,懂得了如何与Python深入的交流。下面将继续我们的学习旅程。在生活中,我们常会表达假设,例如,如果明天不下雨,我们就出去玩。除此之外,我们还会多次重复做一样的事,例如,从1依次数到100。那我们在Python中如何表达这些情况呢?本章将主要讲解条件选择和循环,教会你使用条件语句和循环语句。在学习中,我们会遇到很多难题,今天Python要使用条件选择和循环帮我们解决难题,话不多说,我们开始吧!
【问题来了】
给定一个班期末百分制考试成绩,如何将成绩转换为A,B,C,D等级形式?
规则如下:
成绩在90分以上为A,成绩在75~90分为B,成绩在60~75分为C,成绩在60分以下为D。
你一定想到怎么做了: 判断成绩在哪一个范围,即知道成绩对应的等级。那么使用Python要如何实现呢?聪明的Python提供了多种方法,我们一起来看看Python是如何解决这个问题的吧!
首先分析一下题目: 将百分制成绩转换为A,B,C,D等级形式成绩,在前面学习了数据类型,可以使用一个变量score存储输入的成绩,判断score在哪一个范围,使用print()语句输出对应的A,B,C,D等级。现在的问题是: 如何在特定的范围输出特定的等级?
在此之前,我们先来认识一个“好朋友”——代码块。
3.1代码块缩进
什么是代码块呢?它和Python是好朋友吗?它又有什么用呢?它在程序中无处不在,至关重要。代码块是由一组语句组成的,可以在满足条件时执行(如条件语句)、可以执行多次(如循环语句),等等。为了让编译器或解译器准确地把一堆代码划分到各自的代码块中,在Python中采用缩进方式来实现。
在Python中,缩进具有很好大的意义,可以使用Tab键(制表符)或者空格实现缩进,一个缩进一般为4个空格。Python中,同一个代码块,各行的缩进是相同的。例如:
>>> if True:
print("This is a link.")
print("This is also a link.")
This is a link.
This is also a link.
>>> if False:
print("This is a link.")
print("This is also a link.")
>>>
严谨的Python很好注意缩进,如果在一个代码块中有一行的空格不是4个而是6个,Python会如何解决呢? >>> if True:
print("This is a link.")
print("This is also a link.")
SyntaxError: unexpected indent
>>> if False:
print("This is a link.")
print("This is also a link.")
SyntaxError: unexpected indent
观察第二个print("This is also a link.")发现,print前面有6个空格,比前面的print语句多两个空格,则Python运行时,会报错“SyntaxError: unexpected indent”,因为在同一个代码块中,所有行的缩进是相同的(相同数量的空格),Python不理解第二个print("This is also a link.")语句属于哪个代码块。这样严格的缩进使得Python的代码整齐,可读性很高,在平时编写代码时,也要格外注意代码的缩进。
在新写一行并且此行比前一行空格多时,则开始写一个新的代码块,这个代码块属于前面代码块的一部分。看看下面的伪代码,你一定会明白的。
【知识拓展】伪代码是算法的辅助工具,主要体现一个算法的思想,不需要准确地写出代码,以文字和代码结合的方法,将算法表示出来。
图31中block1属于个代码块,block2属于第二个代码块,block3属于第三个代码块。其实,当你改变缩进时,就是在建立新的代码块,对上面的示例改一改缩进,结果接近不同,如图32所示。
图31代码块
图32代码块
Python的许多好朋友(如C,Java)都是使用特殊的符号或者关键词来表示代码块的,如“{}”。在Python中,使用冒号(:)指出接下来的是代码块,如同人们语言表达一样,使用冒号(:)引出,并且如果代码块中的每一行代码的缩进相同,表示它们是同一个代码块,因此在发现当前的缩进量与之前的缩进量不相同时,你就知道代码块到这里就结束了。这使得Python的缩进很好严谨,代码也十分整齐。
示例中的True和False是本书前面介绍的布尔值。很神奇吧?冒号(:)前为True时执行随后的代码块,为False时不执行随后的代码块。if是如果满足条件的意思,布尔值在条件语句中有什么作用呢?
3.2再谈布尔值
在本书的2.1节我们学习了布尔值,曾经也多次遇到了真值,在这里我们使用布尔值作为条件语句判断条件。
>>>bool(True)
True
>>> if True:
print('这是对的')
这是对的
布尔值为真,执行输出“这是对的”语句。 Python提供了许多比较运算符,如表31所示。
表31比较运算符
运算符描述实例
is检查左右是否引用同一对象x='ab',y='ab',x is y为True
is not检查左右是否引用不同