美文网首页
编程小白的第一本python书 (读书笔记)

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

作者: 无聊的呆子 | 来源:发表于2016-07-19 13:25 被阅读1961次

    变量与字符串

    • 变量的定义与赋值 answer = 42
    • file = open(' Users/yourname/Desktop/file','w') file.write('hello world!')

    • 上面代码的意思是:在桌面上打开一个文件(路径得看个人具体情况),w的意思是,如果有则在文件里写入hello world,如果没有则创建一个文件。

    • Mac可以通过把一个文件拖入到终端里来看文件路径。

    • 字符串用单引号跟双引号括起来都可以,特别注意:三个单引号是可以跨行的超长字符串

    字符串.png
    运行结果.png
    • 不同数据类型不可以直接合并,合并不同数据类型,需要使用数据类型转换

    e.g

    合并不同数据类型 运行结果
    • 需要使用中文注释的时候,记得在开始处加#utf-8

    • 字符串相乘,其实就是几个字符串相加合并

    字符串相乘
    • 一个更复杂的例子

    一个更复杂的例子
    • 字符串的分片与索引

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

    e.g.

    切片例子 一个项目例子
    • 字符串的方法

    只显示号码后四位
    • 字符串格式化符

    英语填空题 利用键盘输入填充空缺

    函数

    • python的内建函数

    python内建函数

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

    • 创建函数

      def function (arg1, arg2):
          return 'Something'
      

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

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

    函数调用
    • 两个小练习

    练习一:设计一个重量转换器,输入以“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语言基本一致

    一些复杂的运算


    复杂的比较运算 需要注意的小问题
    • 成员运算符与身份运算符 (Membership&Identify Operators)

    列表

    列表

    成员运算符和身份运算符的关键词是 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_ 属性引用机制
    • 内建类

    内建类

    相关文章

      网友评论

          本文标题:编程小白的第一本python书 (读书笔记)

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