与孩子一起学编程python_与孩子一起学编程(Python读书笔记3)

第十一章 嵌套与可变循环

Python 3.X里 print()函数默认是自动换行的,所以本章代码会有很多问题,实际上 print()函数里有一个默认参数 end,

默认情况下: end= "\n"

把它换成 空字符 "",

print("*",end = "")即可实现不换行。

举例:

同理,在长字串中增加换行,只需添加\n即可。

11.1

嵌套并不复杂,但是每一层的循环语句末尾要写 冒号 :

从其它语言转Python的人来说,这是个比较容易忘的符号。

若循环体内的代码没有自动缩进,请检查是否忘记输入冒号

for multi in range(5, 8):

for i in range(1, 11):

print(i,"x",multi, "=", i* multi)

print () #这个print专门用来提供一个空行

11.2

可变循环,在这里指的是用 变量 来设置 循环的范围。

比如:for i in range( 0, num ) 在执行此句前 对num 进行赋值,以达到动态确定范围的目的。

实际上,循环的起点、终点都可以用变量来表示。

11.4

初学编程,在每一层循环的开始第一行,打印一下循环变量的值,可以帮助理解,最后可以用 # 号将代码变成注释,不影响最终输出效果。

11.6

对于较长的代码行,可以用 “\” 来表示分行,或者在多行的代码前后加“(”“)”总的括起来。

练习1

time.sleep(1) 起到的作用是让 程序暂停1秒种。

这里的time是Python命名空间的用法,在第15章将会看到。Python将很多概念进行了简化,这种不区分实例、类,不做变量类型设定 的做法,在理解上会有一些问题。

练习3

Python3重点:对换行进行精确控制。

range(i)代表了从0到i-1的范围,非常的方便。

结合可变循环概念,实现经典的9*9 乘法表:

第十二章 列表

C语言中称为数组,Python中称为列表,它相当于C#中的集合。C 系列语言的基因中,数组是长度不可变,数据类型不可变的,这大大限制了数组的可用性。Python中的数组用法非常灵活,实际上ActionScript等语言中都是这么灵活的在使用数组,这是很多人喜欢Python的一个理由。

12.1

列表的两种用法

1)先定义再使用:

family = []

family.append("Dad")

2)直接定义并填充,之后仍可添加数据。

family = ["Dad","Mom","Brother","Sister"]

12.6

从列表中获取元素是通过索引号来实现的,首个索引号为零。

print(family[0]) # 输出 Dad

12.7

Python特色功能,按两个索引位置读取数据:

print(family[1,3]) # 输出 Mom Brother

从索引 1 开始(实际上是第二个数据),至索引 3 之前结束(第四个数据之前)

输出的仍为列表,所以有中括号和引号,数据类型为list。

12.8—12.12

列表的各种花式操作,平时用的不会很多。

12.13

列表排序,同类型数据排序是比较有用的方法。

混合数据类型的排序是不被支持的。

练习4

nameList = []

for i in range(5):

name = input("请输入一个名字:")

nameList.append( name )

print("输入的名字有:", end =" ")

for j in nameList :

print(j, end =" ")

index = int( input("想替换哪个名字?(1-5):"))

newName = input("请输入新名字:")

nameList[index-1] = newName

print("新名单是:", end =" ")

for j in nameList :

print(j, end =" ")

上面的代码中未包含数据有效性检验,index的大小应该在列表的数据个数范围以内。

让用户指定第几个数据时,用户不知道是从零开始计数,所以代码里要对index–1,这样才是普通用户想指定的那个名字。

index未修正前的一个错误示范:

用户指定修改第3个名字,实际修改了第4个名字,将index-1后,就正常了。

提示:

1)对于需要多次输入的数据,可以放到循环语句中。

2)输入的数据,如果要做数学计算,记得 字符 转换成 数字。

3)列表的首个索引位置值为零,在统计个数、设定循环变量时,这个很重要,以后会慢慢习惯的。

第十三章 函数

13.1

定义函数时,函数名后面记得加 冒号。

即使是在同一个代码块里,也要先定义函数,再使用它。

注意缩进,别把执行函数的代码,变成了函数的一部分,如下面所示的那样:

13.5

函数的意义在于:根据给定的参数,用一段相同的代码,实现不同的输出。或者说,是对软件功能模块的一个划分,是段落式的代码组织方式。

13.6

从函数名开始,括号内的参数名,与外部的参数仅是对应关系。函数内的变量在执行完毕后,就会被清除掉。

函数外定义的变量是全局变量。全局变量在函数体内是可以访问的,但不会被改变。尝试在函数体内改变全局变量的做法,只相当于在函数体内增加了一个同名的局部变量。

为了在函数体内改变全局变量的内容,需要使用 global关键字。

练习1

猛然看到习题吓一跳,它明显超纲了啊,每个字母作一遍编码,再按行串起来,最后对输入的名字拆成字母,每个字母调用不同的函数,老鸟都得想半天啊。

初学者肯定做不到啊,肯定是自己想多了。所以想到应该是上图中的代码,练习题的重点是可以重复打印,怎么生成的图形不是重点。

第十四章 对象

能坚持到这一章,您已经超越C语言了。因为C语言里最复杂的数据类型是 结构(structure),没有“对象”的概念。到了C++才有了“对象”的概念,随之而来的是OOP概念(面向对象的编程)。Python淡化了概念之间的鸿沟,将 对象 理解为 函数 和 参数 的混合体就好了,它是比单纯的函数 更高级的一种数据、代码组织方式。

万事万物都是对象(object),将对象的描述 抽象成定义,就是 类(class)。

类 是 对象 的定义和描述。

对象 是 类 的一个个具体的实例。

可以把 对象 看做是程序运行中间才存在的数据实体。

存贮在电脑中的代码文件 看做是 类 的定义文件。

很多时候,口语习惯是混着说这两个词。

14.2

动态添加类属性。在对象的使用过程中,给它添加的属性,都属于动态添加的属性。

动态添加的属性,仅属于被添加的对象。通过 类定义 来生成的新对象不具备刚添加的属性。下面的代码就是这样的例子:

14.4

通过 __init__() 函数对类 进行初始设置。

通过 __str__() 函数来指定默认情况下的输出信息,通常用来显示内置属性的内容。

14.5

self 是普遍遵守的参数名设定,换成其它名字也是可以的。

14.6

len( self.condiments )>0

len 函数返回数组的长度

14.7

Python 通过“遵守规则”来简化数据的访问限制。尽量通过“方法”来访问属性,而不是直接去设置属性,因此,不再考虑类的访问限制(private私有 public公有 protect 受保护 在Python中统统不存在的)。

方法(Method)中可以添加对数据的校验的内容,从而避免无效数据(比如超范围的数据)进入到对象中。

14.8

“不同的类中具有同名的方法”这个不是传统意义上的多态。传统的多态 通常指的是“同一个”类中通过参数形式的变化,达到不同的效果。

第十五章 模块

模块是存贮代码时的一种策略,相当于将多个函数打包放在一起,使用时用import 命令导入。

几个常的模块:

import time

time.sleep(30) # 休眠30秒

import random

random.randint(0,100) # 产生一个0到100之间的整数

random.random( ) # 产生一个0到1之间的小数

精确导入函数的方法:

from random import randint

print(randint(0,100)) # 产生一个0到100之间的整数

练习3

通过增大重复次数,可看到,randint(1,20)函数的结果中包含1 和 20

相关软件网盘下载

easyGuihttps://pan.baidu.com/s/1lYFo7Jm4QEngQGc11w_XNA​pan.baidu.com

install Pygamehttps://pan.baidu.com/s/1rwPDiHBgMsuM6NscGeS0oA​pan.baidu.com

Pygame 64位https://pan.baidu.com/s/1ETyDYZWcW_JJJgZWCVR5fw​pan.baidu.com

Pygame 32位https://pan.baidu.com/s/1F_Vd07FW8k3jU9DyPaX-Jg​pan.baidu.com

Pyhton3.6 64位https://pan.baidu.com/s/11XWyLN8TlzZaegwcV91uuA​pan.baidu.com刘崇军:与孩子一起学编程(Python读书笔记 )​zhuanlan.zhihu.comzhihu-card-default.svg刘崇军:与孩子一起学编程(Python读书笔记2)​zhuanlan.zhihu.comzhihu-card-default.svg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值