趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章
第1章 Python不是大蟒蛇
1.1 关于计算机语言
计算机程序是一组让计算机执行某种动作的指令。软件就是计算机程序的集合。
一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能理解的指令。
Python编程语言的名字来自电视剧《蒙提·派森的飞行马戏团》(Monty Python’s Flying Circus),而不是大蟒蛇。
1.2 安装Python
1.2.1 在Windows 7上安装Python
1.2.2 在苹果OS X上安装Python
1.2.3 在Ubuntu上安装Python
1.3 当你安装好Python以后
1.4 保存Python程序
第一个程序 hello world!
>>> print("hello world!")
hello world!
第2章 计算与变量
2.1 用Python来做计算
用Python做乘法运算
>>> 8*3.57
28.56
假设你在后院里挖出了一个装着20枚金币的袋子。第二天,你偷偷跑到地下室,把这些金币放进你爷爷发明的蒸汽动力的复制机里(很幸运的是你刚好能把20枚金币放进去)。你听到机器在吵闹,几个小时后,它吐出10枚闪闪发光的新的金币来。如果在过去一年中的,你每天都这样做一遍的话,在你的财宝箱里会有多少金币?
>>> 10*365+20
3670
如果要是有一只乌鸦发现了你卧室中闪亮的金子,而且每周它都能成功地飞进来并设法偷走3枚金币,那会怎样呢?
>>> 10*365+20-3*52
3514
以上只是一个很简单的程序。在这本书里,你将学到如何把这些想法扩展开,写出更有用的程序来。
2.1.1 Python的运算符
Python用来做数学运算的那些基本符号叫做“运算符”,包含加(+)减(-)乘(*)除(/)
2.1.2 运算的顺序
乘法和除法总是在加法和减法之前,除非用括号来控制运算的顺序。
2.2 变量就像是标签
在编写程序时“变量”这个词是指一个存储信息的地方,例如数字、文本、由数字和文本组成的列表等等。另一种看待变量的方式是它就像贴在东西上的标签。
例如,要创造一个叫fred的变量,我们用等于号(=)然后告诉Python这个标签是贴在什么信息上的。
下面,我们创建了fred这个变量并告诉Python它给数字100加上了标签
>>> fred = 100
>>> print(fred)
100
变量名可以由字母、数字和下划线字符(_)组成,但是不能由数字开头。从一个字母(如a)到长长的句子都可以用来做变量名(变量名不能包含空格,所以要用下划线来分隔单词)。
2.3 使用变量
改造2.1中金币的计算方式
>>> found_coins = 20
>>> magic_coins = 10
>>> stolen_coins = 3
>>> magic_coins * 365 + found_coins - stolen_coins * 52
3514
假如你在窗子上粘贴了一个稻草人,乌鸦这回只能偷到两枚金币而不是三枚了呢?
如果我们用了变量,只要简单地把变量改为新的数字,那么在算式中每个用到它的地方都会改变。我们可以这样输入来把变量stolen_coins改为2:
>>> stolen_coins = 2
>>> magic_coins * 365 + found_coins - stolen_coins * 52
3566
如果你在恰当的时刻在边上猛敲一下你爷爷的发明,那么它每次会多吐出3枚金币呢?
>>> magic_coins = 13
>>> magic_coins * 365 + found_coins - stolen_coins * 52
4661
当然,用变量来做这样简单的计算,它的用处仍然很有限。我们还没见过它真正大展拳脚。现在,只要记住变量就是一种给事物加标签的方法,从而让我们以后可以使用它们就可以了。
第3章 字符串、列表、元组、字典
在第2章里,我们用Python做了一些基本的运算,并且学习了变量。在这一章里,我们会学习Python编程中的另一些内容:字符串(string)、列表(list)、元组(tuple)和字典(map)。你还会学到列表、元组和字典是如何用来存储成批的东西的。
3.1 字符串
3.1.1 创建字符串
单引号创建
>>> fred = 'What is pink and fluffy? Pink fluff!!'
>>> print(fred)
What is pink and fluffy? Pink fluff!!
双引号创建
>>> fred = "What is pink and fluffy? Pink fluff!!"
>>> print(fred)
What is pink and fluffy? Pink fluff!!
多行字符串,三个单引号创建,可以在行之间输入回车
>>> fred = '''What is pink and fluffy? Pink fluff!!
How do dinosaurs pay their bills?
With tyrannosaurus checks!'''
>>> print(fred)
What is pink and fluffy? Pink fluff!!
How do dinosaurs pay their bills?
With tyrannosaurus checks!
3.1.2 处理字符串相关的问题
打印文本:He said,”Aren’t can’t shouldn’t wouldn’t.”
方法一
>>> single_quote_str = 'He said,"Aren't can't shouldn't wouldn't."'
>>> print(single_quote_str)
He said,"Aren't can't shouldn't wouldn't."
方法二
>>> double_quote_str = "He said,"Aren't can't shouldn't wouldn't.""
>>> print(double_quote_str)
He said,"Aren't can't shouldn't wouldn't."
方法三
>>> multi_quote_str = '''He said,"Aren't can't shouldn't wouldn't."'''
>>> print(multi_quote_str)
He said,"Aren't can't shouldn't wouldn't."
3.1.3 在字符串里嵌入值
如果你想显示一条使用变量中内容的信息,你可以用%s来把值嵌入到字符串里面。
实例一
>>> myscore = 100
>>> message = 'I scored %s points'
>>> print(message % myscore)
I scored 100 points
实例二
>>> joke_text = '%s:a device for finding furniture in the dark'
>>> bodypart1 = 'Knee'
>>> bodypart2 = 'Shin'
>>> print(joke_text % bodypart1)
Knee:a device for finding furniture in the dark
>>> print(joke_text % bodypart2)
Shin:a device for finding furniture in the dark
实例三
>>> nums = 'What did the number %s say to the number %s? Nice belt!!'
>>> print(nums %(0,8))
What did the number 0 say to the number 8? Nice belt!!
3.1.4 字符串乘法
10乘以5等于什么?答案当然是50。可是10乘以a呢?下面是Python给出的答案
>>> print(10*'a')
aaaaaaaaaa
3.2 列表比字符串还强大
“蜘蛛腿、青蛙脚趾头、蝾螈眼、蝙蝠翅、鼻涕虫油和蛇蜕皮”,这不是普通的采购清单(除非你是个巫师),不过我们要用它来作为例子来看看字符串和列表有什么不同。
我们可以把清单上的这一系列元素用字符串的形式放到变量wizard_list中:
>>> wizard_list = 'spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff'
>>> print(wizard_list)
spider legs, toe of frog, eye of newt, bat wing, slug butter, snake dandruff
我们也可以创建一个列表(list):
>>> wizard_list = ['spider leg','toe of frog','eye of newt','bat win','slug butter','snake dandruff']
>>> print(wizard_list)
['spider leg', 'toe of frog', 'eye of newt', 'bat win', 'slug butter', 'snake dandruff']
字符串不容易操纵,而列表却可以方便地操纵里面的元素
>>> print(wizard_list[2])
eye of newt
>>> wizard_list[2] = 'snail tongue'
>>> print(wizard_list)
['spider leg', 'toe of frog', 'snail tongue', 'bat win', 'slug butter', 'snake dandruff']
>>> print(wizard_list[2:5])
['snail tongue', 'bat win', 'slug butter']
列表可以用来存放各种元素
>>> some_numbers = [1,2,5,10,20]
>>> some_strings = ['Which','witch','is','better']
>>> numbers_and_strings = ['Which',5,10,'witch','is',20,'better']
列表中甚至可以保存其他列表
>>> numbers = [1,2,5,10,20]
>>> strings = ['Which','witch','is','better']
>>> mylist = [numbers,strings]
>>> print(mylist)
[[1, 2, 5, 10, 20], ['Which', 'witch', 'is', 'better']]
3.2.1 添加元素到列表(append)
>>> wizard_list = ['spider leg','toe of frog','eye of newt','bat win','slug butter','snake dandruff']
>>> wizard_list.append('bear burp')
>>> print(wizard_list)
['spider leg', 'toe of frog', 'eye of newt', 'bat win', 'slug butter', 'snake dandruff', 'bear burp']
3.2.2 从列表中删除元素(del)
>>> del wizard_list[2]
>>> print(wizard_list)
['spider leg', 'toe of frog', 'bat win', 'slug butter', 'snake dandruff', 'bear burp']
3.2.3 列表上的算数(+和*)
>>> numbers = [1,2,5,10,20]
>>> strings = ['Which','witch','is','better']
>>> print(numbers + strings)
[1, 2, 5, 10, 20, 'Which', 'witch', 'is', 'better']
>>> numbers = [1,2,5,10,20]
>>> print(numbers * 3)
[1, 2, 5, 10, 20, 1, 2, 5, 10, 20, 1, 2, 5, 10, 20]
3.3 元组
元组就像是一个使用括号的列表
>>> fibs = (0,1,1,2)
>>> print(fibs[3])
2
元组与列表不同的是,元组一旦创建就不能再做改动了,如果改动元组里的元素,会报错:
>>> fibs = (0,1,1,2)
>>> fibs[0]=4
Traceback (most recent call last):
File "", line 1, in
fibs[0]=4
TypeError: 'tuple' object does not support item assignment
3.4 Python里的map不是用来指路的
字典与列表和元组一样,也是一堆东西的组合,不同的是,字典中的每个元素都有一个键(key)和一个对应的值(value)
假设我们有一个列表,上面是一些人和他们最喜爱的运动,我们可以把这个信息放到Python的列表中,名字在前,喜爱的运动在后。
>>> favorite_sports = ['Ralph Williams, Football','Michael Tippett, Basketball','Edward Elgar, Netball','Frank Bridge, Rugby']
如果我问你 Edward Elgar 最喜爱什么运动,你可能需要浏览整个列表才能找到答案。但是,如果列表中有1000个人呢?这就用到字典了
查询操作
>>> favorite_sports = {'Ralph Williams':'Football','Michael Tippett':'Basketball','Edward Elgar':'Netball','Frank Bridge':'Rugby'}
>>> favorite_sports['Edward Elgar']
'Netball'
删除操作
>>> del favorite_sports['Edward Elgar']
>>> print(favorite_sports)
{'Ralph Williams': 'Football', 'Michael Tippett': 'Basketball', 'Frank Bridge': 'Rugby'}
替换操作
>>> favorite_sports['Ralph Williams'] = 'Ice Hockey'
>>> print(favorite_sports)
{'Ralph Williams': 'Ice Hockey', 'Michael Tippett': 'Basketball', 'Frank Bridge': 'Rugby'}
趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章相关推荐
- 计算机安全原理与实践_《计算机图形学原理及实践》学习笔记之第三章
第三章 一个古老的绘制器 1525年,阿尔布雷·丢勒 制作了一幅木刻画,展示了一种可以绘制任一形体透视图的方法. 本章我们将开发一个软件来模拟丢勒展示的方法. 丢勒视角绘制算法的伪代码 Input: ...
- 《Fluent Python》学习笔记:第 8 章 对象引用、可变性和垃圾回收
本文主要是 Fluent Python 第 8 章的学习笔记.这部分主要是介绍了变量.引用.对象.深拷贝.浅拷贝.垃圾回收等.本章虽然枯燥,但是非常有用. <Fluent Python>学 ...
- [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册
1.实现功能-完成用户登录 在redis手动添加测试用户,并画出示意图以及说明注意事项(后续通过程序注册用户) 如:输入用户名和密码,如果在redis中存在并正确,则登录,否则退出系统,并给出相应提示 ...
- 硬件趣学python编程_没有人比我更懂编程,慧编程'吮指编辑器',简单快乐学python...
咳咳! 大家好,我是偶尔写文章的康康老师. 今天跟大家介绍的是慧编程家的,睡在Scratch上铺的兄弟--慧编程Python编辑器. 这是一款集才华和颜值为一体的'吮指'编辑器! 忘记肯德基,你的手指 ...
- 澄海哪里学机器人编程_终于发现小孩有必要学机器人编程吗
让孩子学习编程的目的,就像其他教育方式一样,只是希望能帮助孩子找到他的兴趣点,打开孩子的获取知识和能力的大门.一起来看看一篇小孩有必要学机器人编程吗. 小孩有必要学机器人编程吗 编程和英语类似,属于基 ...
- 有java基础学python需要多长时间_怎么自学python,大概要多久?
我泼点冷水:建议还是要慎重选择上来新手就自学Python.如果想认认真真打好基础,还是要至少从Java学起.换句话说,先学会Java,然后再学Python不迟. Python的最大优势是简单明快,最大 ...
- python如何初始化对象数组_如何理解Python中的面向对象编程?
(由Python大本营付费下载自视觉中国) 作者 | Radek Fabisiak 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 现如今面向对象编程的使用非常广泛,本文 ...
- 计算机编程导论python程序设计答案-学堂在线_计算机科学与Python编程导论_作业课后答案...
学堂在线_计算机科学与Python编程导论_作业课后答案 答案: 更多相关问题 近代中国完全沦为半殖民地半封建社会的标志是:A.<马关条约>B.<辛丑条约>C.<凡尔赛和 ...
- python都有什么包_常用的Python包有哪些,如何快速掌握Python编程
Python入门简单.功能强大,是很多想要入行IT开发行业人士的主要选择.Python包可以帮助Web开发人员快速和容易地创建应用程序和功能,因此很多企业在招聘时都会考察求职者对于Python包的掌握 ...
- 初学者怎么自学python编程_怎样自学python编程?从零开始学习python,400集免费教程!...
作为小白,在学习Python的时候,必然会走一定的弯路,有人在弯路上走丢了,有人走出了弯路.我就是属于还未走出弯路的同学,所以我想谈谈我的Python学习之路. 01先了解一下什么是python? ...
最新文章
- Python中datetime类错误
- GLSL三种修饰符区别与用途(uniform,attribute和varying)
- Flutter+FaaS一体化任务编排的思考与设计
- git checkout之一 HEAD基本和detached 状态
- 离线实时与api对应的关系+未来流行度
- 变压器 5g_T5:文本到文本传输变压器
- 初尝微信小程序2-基本框架
- redis基本类型和使用
- ARM的UART实验
- 特斯拉=车祸多?马斯克回击
- 定时器翻转io口的好处_STM32 定时器输出比较翻转模式
- Windows、Linux、Mac OS下的锐捷认证的程序——mentohust
- flash 中.Swf 格式的文字 转化为 word 或pdf 或 xps
- 影响我此生的几首歌(转载)
- Java杂谈——求所有的4位吸血鬼数字
- mac电脑使用小技巧
- css实现箭头上下跳动动画
- k8s中helm的使用
- 评估企业是否适合开发复合业务服务
- 机器人履带底盘的悬挂和传动
热门文章
- hpm128无法共享打印_m126及m128打印机共享问题
- Imagenet 完整数据集下载
- html5 气泡文字提示框,css实现气泡文字提示框代码教程
- C#中的WinForm问题——如何设置窗体的大小为超过屏幕显示的最大尺寸?
- 追剧达人观看电影源码
- android 8 音质,体验中国好音质 8款HiFi音质手机推荐
- Dynasty Puzzles CodeForces - 191A+DP二维
- 均匀线列阵波束响应与阵元间距的关系—麦克风阵列系列(六)
- 一步步带你用Java实现双向链表(超详细)
- android开发之eclipse调试debug模式详解