美文网首页
《趣学Python——教孩子学编程》学习笔记第1-3章

《趣学Python——教孩子学编程》学习笔记第1-3章

作者: 27efec53a72d | 来源:发表于2018-04-04 00:09 被阅读639次

    第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 "<pyshell#14>", line 1, in <module>
        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——教孩子学编程》学习笔记第1-3章

          本文链接:https://www.haomeiwen.com/subject/buehhftx.html