• Python(Head First)学习笔记:一


    目录:

    1 认识Python:Python的特点、安装、开发环境搭建

    2 共享代码:连接共享社区、语法、函数、技巧

    3 文件与异常:调试、处理错误、迭代、改进、完善

    4 持久存储:文件存储、读写

    5 推导数据:处理数据、格式、编码、解码、排序

    6 定制数据对象:数据结构自定义

    7 Web开发:开发Web应用

    8 移动应用开发:自动处理应用

    9 管理数据:应用程序扩展(从Web接收数据)

    10 扩展Web应用之动真格的

    11 处理复杂性:数据加工和应用定位

    12 补充和完善:问题分析、测试、拓展、等

    1 认识Python:Python的特点、安装、开发环境搭建

      关于一个概念: 元认知

             乍一看,就像是大脑的神经元,

             再一看,其实讲的确实和大脑的记忆有关,

             它强调自我暗示:这么书很重要,掌握它很重要,对,就是这样。。。

             他们是这么做的:所见即所得,

             通过使用大量的图片,简单、清晰的用图形来说明情况,

             还是用了不同形式的重复说明,以便加强记忆的效果,

             没错,还有:交谈式风格、实践活动、多种学习模式、左右脑互用、不断练习。。。

             感觉下了很多功夫,嘿嘿~

               不过在我看来,最重要的还是坚持和实践吧?

      这本书是面向Python3的,所以......开始吧!

      Python的特点之列表:

        共同处:语句、表达式、操作符、函数、模块、方法和类等;

        不同处:列表

      安装Python3

        开发环境:VMware虚拟机——>ubuntu16 64位

        打开Terminal,输入python3 -V,查看安装的python3版本。(关于ubuntu安装python可以用sudo apt-get install python)

      关于Python的IDLE(Integrated Development GUI Environment即:Python的可视化集成开发环境):

        在Terminal下使用python3,加回车来启动IDLE,

        基本功能有:编辑代码、调试、运行等,

        启动后,在>>>后输入:

        print("hello world~"),回车,

        屏幕输出hello world~

        此外,IDLE可以帮助自动缩进代码行,比较智能吧~

        TAB键的作用:缩进,提示,建议等;

           Ctrl+P:往后一步,相当于:Previous;

        Ctrl+N:往前一步,相当于:Next;

      创建简单的Python列表:

      实例:

        The Holy Crail

        The Life of Brian

        The Meaning of Life    

            Python:

        movies = ["The Holy Crail",

              “The Life of Brian”,

              “The Meaning of Life”]

        注:Python的变量标识符没有类型。

          BIF:build-in functions,即:IDLE内置函数。

        列表就像数组,Python的解释器会在内存中创建一个类似数组的数据结构来存储数据,放到一个堆栈中(FIFO)。

        可以用print(movies[0])这样的语句来访问列表的数据,当然,这里是列表movies的第一项(下标从0开始)。

        此外,还可以通过print(movies)直接输出整个列表,可以用print(len(movies))输出列表项的个数,

             可以用movies.extend(["hero","007","KongFu"])扩充列表,

                可用movies.append(“Gill”),在列表末尾增加一个数据项,

            用movies.pop(),在列表末尾删除一个数据项,

            用movies.remove("hero")来删除一个特定的数据项,

            用movies.insert(0,"Superman")在特定位置前增加一个数据项。

        在列表中混合其他数据:在Python的列表中可以混合存放字符串、数字及其它任意类型的数据。

        实例:

          实现列表:["The Holy Crail",1975,“The Life of Brian”,1979,“The Meaning of Life”,1983]

            方法一:可以使用insert(数据项序号,"数据项名")来实现,

            方法二:重新写一个列表。

      使用迭代:通过使用Python内置的for循环实现

        关于for循环:主要是为了处理列表和Python中的其他迭代结构  

          目标标识符:target identifier,

          格式:for 目标标识符 in 列表:

                 组suit:列表处理代码

          注意:组之前一定要记得加缩进符,也就是空格。否则会报错:IndentationError:expected an indented block.

            如:for each_item in movies:

              空格print(each_item)

        可以用while组合语句实现同样的效果:

          count = 0

          while count < len(movies):

            空格print(moives[count])

            空格count = count + 1

        问答:

        列表,打了激素的数组,

        Python2,3中都支持列表,

        但,Python3才是未来,

        使用单引号或双引号来创建字符串,效果一样,但不可以混着用,

        在一个字符串中嵌套另一个双引号,使用 "来转义,这个我还没试,

        Python对字符大小写是敏感的。

      在列表中存储列表:

        在列表中嵌套任意个列表是可以的。

        如:列表:movies = ["The first",1997,"The second",1998,"The third",1999,["The next",["The last",2000,"The final",2001]]]

             输出第一层:print(movie[i]),i是列表项序号,从0开始计;

             输出第二层:print(movie[6][j]),j是第二层嵌套列表项的序号;

             输出第三层:print(movie[6][1][z]),z是第三层嵌套列表项的序号;

      在列表中查找列表:

        使用if...else...模块:

            格式:if  判断条件 :

                空格“true”组

               else :

                空格"false"组

        使用isinstance(标识符,类型),这个内置函数BIF来判断某个列表项是不是一个列表,如:

            >>>names = ["Suane","Wang"]

            >>>isinstance(names,list)

            True

            >>>num_names = len(names)

            >>>isinstance(num_names,list)

            False

            或者

            >>>isinstance(len(names),list)

            False

        关于BIF,Python3中大概有70多个BIF,使用dir(__builtins__),可以查看到Python提供的内置方法列表,

            查看某个BIF的具体使用方法:比如:input,则用help(input)。

            注意:builtins的前后各有两个下划线。

            通过这些BIF,几乎可以帮助完成大多数工作,再加上Python的标准库,使得Python变得功能强大。

            实例:对于movies = ["The first",1997,"The second",1998,"The third",1999,["The next",["The last",2000,"The final",2001]]]

               现在使用isinstance()来判断嵌套列表,并输出:

                for each_items in movies:

                  空格if isinstance(each_items,list):

                    空格for new_item in each_items:

                   空格空格print(new_item)

                  空格else:

                    空格print(each_items)

                这样处理输出结果还是不理想,仍然有一个嵌套没有展开。

                   当然,仍然可以再增加一个if...else...嵌套来判断,然后展开输出列表项,

                不过,如果嵌套真的很多,这样的方式显然并不理想。

      处理多层嵌套列表:

        通过创建函数,将重复的代码封装在里面,然后调用,可以有效处理此类问题。

            定义函数的标准格式:def 函数名 ():

                      缩进 函数代码组

            实例:编写一个函数,

               实现列表:movies = ["The first",1997,"The second",1998,"The third",1999,["The next",["The last",2000,"The final",2001]]]的列表项展开输出。

               def print_lol(the_list):

                 for each_item in the_list:

                  if isinstance(each_item,list):

                    print_lol(each_item)

                  else:

                    print(each_item)

            使用:

                 >>>print_lol(movies)输出结果。

          这个函数是一个递归函数,Python3默认递归深度不能超过100,即列表中的嵌套列表不能超过99个,不过这个上限应该是可以改的。

          注:列表可以随需要伸缩,数据使用的内存由Python自己管理。

    ---------------------------------The End of First Chapter-------------------------------

  • 相关阅读:
    资源链接
    Silverlight4 RIA应用开发
    社会心理学(第8版)
    C# 2.0 锐利体验
    C# 3.0 锐利体验
    C#面向对象设计模式纵横谈
    ASP.NET MVC2程序开发入门到精通
    Silverlight数独游戏
    StringBuilder研究和探索
    .NET 开发从入门到精通
  • 原文地址:https://www.cnblogs.com/heart2futrue/p/7543147.html
Copyright © 2020-2023  润新知