编程小白的第一本python书 (读书笔记)

2016-07-19  本文已影响1961人  无聊的呆子

变量与字符串

字符串.png 运行结果.png

e.g

合并不同数据类型 运行结果 字符串相乘 一个更复杂的例子

字符串可以通过string[x]的方式进行索引、分片,也就是加一个[]。字符串的分片实际上是可以看作是从字符串中找出来你要截取的东西,复制出来一小段你要的长度,存储在另一个地方,而不会对字符串这个源文件改动。分片获得的每个字符串可以看作是原字符串的一个副本

e.g.

切片例子 一个项目例子 只显示号码后四位 英语填空题 利用键盘输入填充空缺

函数

python内建函数

Python官网中各个函数的介绍: https://docs.Python.org/3/library/functions.html

注意语句块要缩进!不要漏掉冒号!

摄氏度转华氏度函数 函数调用

练习一:设计一个重量转换器,输入以“g”为单位的数字后返回换算成“kg”的结果

重量转换器

当输入为1000时,


运行结果

练习二:设计一个求直角三角形斜边长的函数 (两条直角边为参数,求最长边)

求直角边

参数有两种类型: 位置参数 (position argument)
关键词参数 (keyword argument)

求梯形面积

位置参数 关键词参数

混合方式传入参数


混合传入 默认参数 open函数与write方法 运行效果

设计一个函数,需求是:传入参数name与msg就可以控制在桌面写入的文件名称和内容的函数text_create,并且如果当桌面上没有这个可以写入的文件时,那么就创建一个之后再写入。(敏感词过滤器的第一部分)

可以自定义文件名跟内容的函数

敏感词过滤函数:定义一个函数text_filter,传入参数 word, censored_word和changed_word实现过滤,敏感词censored_word默认为lame,替换词changed_word默认为Awesome。

敏感词过滤

把两个函数合并:创建一个名为text_censorded_create的函数,功能是在桌面上创建一个文件,在其中输入文字,但如果信息中包含敏感词的话就会被默认过滤后写入文件。

text_censorded函数 数学运算

循环与判断

布尔表达式

python的比较运算符跟C语言基本一致

一些复杂的运算


复杂的比较运算 需要注意的小问题

列表

列表

成员运算符和身份运算符的关键词是 inis

用is操作符来进行身份比对

布尔值

布尔值

python的布尔运算符是直接用英文的and ,or,not 逻辑内涵还是基本的与或非不变。

布尔运算符

python中的if else 跟C语言一个用法

if else

用布尔变量优化条件表达式

用布尔变量优化条件表达式

多条件判断跟C语言写法略有不同,主要是中间的部分用的是elif, 用法上没区别

加重置密码功能的登陆

for循环

for循环语法 一个for循环例子

for循环与if结合的例子

for与if

嵌套循环

九九乘法表

while循环

while循环 一个更复杂的例子

注意:这里的while可以理解为是if循环版,可以使用while-else结构。

练习一:


练习一 解法一 解法二

练习二:

练习二 复利

练习三:
打印一到一百内的偶数

打印1到100内的偶数

综合练习:

综合练习 猜大小游戏

数据结构

存储大量数据的容器,在python中称之为内置数据结构(Built-in Data
Structure)。

我们日常使用的网站,移动应用,甚至是手机短信都依赖于数据结构来进行存储,其中的数据以一种特定的形式存储在数据结构中,在用户需要时被拿出来展现。

python中有四种数据结构,分别是:列表、字典、元组、集合。

四种数据结构

列表有点像C语言里的数组,只不过,它里面可以放所有python类型,不需要都是同一种类型,这点和数组不同

列表 列表的特点

在列表中插入元素

插入

删除列表中的元素

删除 下标方式删除 用del关键字删除

列表元素的替换

替换

列表的索引

索引 字典 字典的书写

添加字典元素

添加

删除字典元素

删除

查找字典元素

查找 元组 集合

因为集合是无序的,所以逻辑上当然是不可以索引的。

数据结构的一些技巧

关于zip函数

用zip进行两个列表中元素的操作 用zip生成元组对列表

注意:

在python 3.0中zip()是可迭代对象,使用时必须将其包含在一个list中,方便一次性显示出所有结果

list(zip(a,b))
[(1, 4), (2, 5), (3, 6)]

zip()参数可以接受任何类型的序列,同时也可以有两个以上的参数;当传入参数的长度不同时,zip能自动以最短序列长度为准进行截取,获得元组。

推导式

推导式 推导式格式

推导式,其实就是在一定范围/条件 内 按照一定格式来生成新的数据结构

更复杂的例子

**遍历列表时获取元素的索引

如何获取列表索引?
enumerate函数获取列表索引 用split函数得到独立的单词 代码例子 用count来词频统计 一些问题

解决问题后的最终版本

词频统计 代码讲解

定义类 类的实例化 类属性的引用 实例属性 实例方法 关于self 更多参数 会给实例增加属性的初始化方法 会给实例增加方法的初始化方法 带有参数的初始化方法 父类 子类 继承和覆盖 类属性和实例属性的调用 被隐藏的类属性_dict_ 属性引用机制 内建类
上一篇 下一篇

猜你喜欢

热点阅读