Python from entry to abandon

      学习Linux已经有大致两周了,依然感觉到自己仍然在运维的大门外徘徊。于是我想要找到一个在Linux之外的业余方向,可以作为枯燥基础学习的调节。没过多久我就发现了Python可以 说是钦定的选择,它作为Linux的内置语言,传言风格简洁优美,功能强大。Python老生常谈的缺点是效率不高,哎,没办法,那些底层语言之所以还没有被淘汰就是因为自己更接近底层可以编出更有效率的代码。这对于我这种只接触过c语言的小白而言无所谓,我只关心Python自习之路是否能够顺利进行下去。
 
     我的自学之路大致会按照以下计划走:
     时间分为4周,全部自学,仅提供大纲。适用于Web方向:
             1、Week1:读完《简明Python教程》,适应Python开发环境
             2、Week2:写个爬虫,需要深入了解re、urllib2、sqlite3、threading,Queue等几个模块。需要用上多线程抓取,正则表达式分析,并发资源控制,    重新开启程序自动继续抓取和分析
             3、Week3:学习一种Web开发框架,推荐Flask、webpy之类的,学个数据库接口如sqlite3,写个简单的web应用如博客
             4、Week4:给产品做个小功能并走完测试和上线流程,各个时期是不同的
     以上计划我是在知乎上从一个大神那里看到的。理论联系实践,看起来比较合理。从我以前学习c语言的经历所得到的教训就是“纸上得来终觉浅,绝知此事要躬行”。我当时把一本500页的大部头给啃了,理论大师级别,可是实践部分没有跟上,其结果就是一开始还能编写一小段程序,过了两年再提起来c语言基本只剩下一个框架了,所有在理论方面的努力全部白搭。
      再说一下我更新的速度,惯例每周一次。而且,每完成一个阶段性目标后就单独再发一篇博客进行总结。
      接下来就可以跟随我的博客开始惊险刺激的Python从入门到弃坑之旅了。

      本次Python相关知识点介绍按照《简明Python教程》分为六部分(嗯,因为我才刚刚看完第六章):
          1.介绍
          2.安装Python
          3.最初的步骤
          4.基本概念
          5.运算符和表达式
          6.控制流

    值得思考的一些东西:

    有两种方式构建软件设计:一种是把软件做得很简单以至于明显找不到缺陷;另一种是把它做得很复杂以至于找不到明显的缺陷。
    ————C.A.R. Hoare
    明显就是说Python语言大道至简嘛。
    
    获得人生中的成功需要的专注与坚持不懈多过天才与机会。
    ————C.W. Wendte
    此句与诸君共勉。

      1.介绍
          总结一下就是,Python大概是世界上最好的语言什么之类的。
      
      2.安装Python
          继续总结,如果你现在在学Linux的话,你只需要记住三句话。
          Linux自带Python。Linux自带Python。Linux自带Python。

          Windows用户的自行从Python.org上下载安装,下一步下一步就行了,大概吧。
      

      3.最初的步骤
          从现在开始正经起来。
          现在我只研究Linux命令行模式的Python编程问题。
          此时有两种方式可以念出Hello World的咒语。
          (1)使用带提示符的解释器
          第一步:对着命令行打出  python(启动解释器,进入Python提示符)
          第二步:print ‘Hello World’
          具体实现:

          $ python
          Python 2.3.4 (#1, Oct 26 2004, 16:42:40)
          [GCC 3.4.2 20041017 (Red Hat 3.4.2-6.fc3)] on linux2 Type "help", "copyright", "credits" or "license" for more information.
          >>> print 'hello world' hello world
          >>>

         
        如何退出Python提示符?
          Ctrl+D
          (2)使用源文件
          挑选一个编辑器
          我现在只会Nano,不过对付前六章的内容已经够了。
          
          使用源文件
          在nano编辑器中键入如下内容:

          #!/usr/bin/python
          # Filename : helloworld.py
          print 'Hello World'

          
          命名为helloworld.py,保存并退出
          chmod +x helloworld.py
          helloworld.py

          输出为:Hello World
        
        这一部分在入门过程我认为是极为重要的,有一定编程基础的看起来才不会卡住。
        0基础的同学请出门左转去仔细看原著,不懂的去百度,谢谢。

      4.基本概念
          常量:
              字符串,数 (值不可变)
          数:
              在Python中有4种类型的数————整数、长整数、浮点数和复数。
        字符串:
            字符串是字符的序列。字符串基本上就是一组单词。
            单引号,双引号,三引号,转义符\,自然字符串(前缀r或R),,Unicode字符串,
            字符串是不可变的,按字面意义级联字符串
            注:这部分比较繁琐,不便于在这里列出来。去看原著很容易理解。
        变量:
            变量只是你的计算机中存储信息的一部分内存。与字面 意义上的常量不同,你需要一些能够访问这些变量的方法,因此你给变量名字。
        标识符的命名:
            这部分感觉全世界的要求都一样。
            标识符由字母数字下划线组成,第一个字符必须为字母或下划线,对大小写敏感,
            别和一些系统自带标识符冲突
        数据类型:
            变量可以处理不同类型的值,称为数据类型。基本的类型是数和字符串。
            在后面的章节里面,我们会研究怎么用类创造我们自己的类型。
        对象:
            记住,Python把在程序中用到的任何东西都称为对象 。这是从广义上说的。因此我们不会说“某某东西 ”,我们说“某个对象 ”。

        如何编写Python程序 下面是保存和运行Python程序的标准流程。  
         1. 打开你最喜欢的编辑器。
         2. 输入例子中的程序代码。   
         3. 用注释中给出的文件名把它保存为一个文件。我按照惯例把所有的Python程序都以扩展名. py保存。   
         4. 运行解释器命令python program.py或者使用IDLE运行程序。

         逻辑行和物理行:
             物理行是你在编写程序时所 看见 的。逻辑行是Python看见的单个语句。
             Python假定每个物理行对应一个逻辑行 。
             默认地,Python希望每行都只使用一个语句,这样使得代码更加易读。
            如果你想要在一个物理行中使用多于一个逻辑行,那么你需要使用分号(;)来特别地标明这 种用法。分号表示一个逻辑行/语句的结束。
            我强烈建议你坚持在每个物理行只写一句逻辑行。仅仅当逻辑行太长的时候,在多于一 个物理行写一个逻辑行。这些都是为了尽可能避免使用分号,从而让代码更加易读。
            \之后回车,可以在多个物理行中写一个逻辑行。被称为明确的行连接。
            相对应的存在暗示的行连接。以后会提到。

        缩进:
            空白在Python中是重要的。
            事实上行首的空白是重要的。它称为缩进。
            在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
            这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
            你需要记住的一样东西是错误的缩进会引发错误。
            
            如何缩进
            不要混合使用制表符和空格来缩进,因为这在跨越不同的平台的时候,无法正常工作。
            强烈建议在每个缩进层次使用 单个制表符 或 两个或四个空格 。 选择这三种缩进风格之一。更加重要的是,选择一种风格,然后一贯地使用它,即只使用这一种风格。

        总结:
            没办法,概念总是枯燥的。当时我自己看书的时候感觉内容并不多,没想到总结起来还是很烦。在掌握这些概念之后,接着就可以接触更多的实际编程而不会犯很多无谓的错误了。

    5运算符与表达式
        简介:
            一个表达式可以分解为运算符和操作数。
        
        运算符:
            +,-,*,/,**,//,%,<<,>>,&,|,^,~,<,>,<=,>=,!=,not,and,or
            这里不用介绍什么优先级,反正记不住。而且实际应用中只需要合理使用()就行了。

        表达式:
            例5.1

            #!/usr/bin/python
            # Filename: expression.py
            length = 5
            breadth = 2
            area = length * breadth
            print 'Area is', area
            print 'Perimeter is', 2 * (length + breadth)

            输出:

            $ python expression.py
            Area is 10
            Perimeter is 14 

            不用问为什么,照着敲一遍。

        总结:
            我们已经学习了如何使用运算符、操作数和表达式——这些是任何程序的基本组成部分。接下 来,我们将学习如何通过语句在我们的程序中使用这些部分。

    6.控制流
        在Python中有三种控制流语句——if、for和 while。
        if语句:
            if语句用来检验一个条件,如果条件为真,我们运行一块语句(称为if-块 ),否则我们处理 另外一块语句(称为 else-块 )。 else从句是可选的。
            
            例6.1

            #!/usr/bin/python
            #Filename:if.py
            number=23
            guess=int(raw_input('Enter an integer:'))
            if guess==number:
                    print 'Congratulations,you guessed it.'
                    print '(but you do not win any prizes!)'
            elif guess<number:
                    print 'No,it is a little higher than that'
            else:
                     print 'No,it is a little lower than that'

            print 'Done'

            
            输出:

            $ python if.py
            Enter an integer : 50
            No, it is a little lower than that
            Done
            $ python if.py Enter an integer : 22
            No, it is a little higher than that
            Done
            $ python if.py Enter an integer : 23
            Congratulations, you guessed it.
            (but you do not win any prizes!)
            Done

            注:动手去敲一遍很有用,以至于我宁愿删掉内容介绍也不删这部分代码。

        while语句:
            只要在一个条件为真的情况下,while语句允许你重复执行一块语句。while语句是所谓循环语 句的一个例子。while语句有一个可选的else从句。

            例6.2

            #!/usr/bin/python
            #Filename:while.py
            number=23
            running=True

            while running:
                guess=int(raw_input('Enter an integer:'))
                    if guess==number:
                            print 'Congratulations,you guessed it.'
                            running=False
                    elif guess<number:
                            print 'No,it is a little higher than that.'
                    else :
                              print 'No,it is a little lower than that.'
            else:
                     print 'The while loop is over.'

            print 'Done'

            输出:

            $ python while.py
            Enter an integer : 50
            No, it is a little lower than that.
            Enter an integer : 22
            No, it is a little higher than that.
            Enter an integer : 23
            Congratulations, you guessed it.
            The while loop is over.
            Done

        for语句:
            for..in是另外一个循环语句,它在一序列的对象上 递归 即逐一使用队列中的每个项目。
            
            例6.3

            #!/usr/bin/python
            #Filename:for.py
            for i in range (1,5):
                print i
            else:
                print 'For loop is over.'

            输出:

            $ python for.py
            1
            2
            3
            4
            The for loop is over

        break语句
            break语句是用来终止循环语句的,即哪怕循环条件没有称为False或序列还没有被完全递归, 也停止执行循环语句。
            一个重要的注释是,如果你从for或while循环中 终止 ,任何对应的循环else块将不执行。

            例6.4

            #!/usr/bin/python
            #Filename:break.py
            while True:
                s=raw_input('Enter something:')
                if s=='quit':
                    break
                print 'Length of the string is',len(s)
            
            print 'Done'

            输出:

            $ python break.py
            Enter something : Programming is fun
            Length of the string is 18
            Enter something : When the work is done
            Length of the string is 21
            Enter something : if you wanna make your work also fun:
            Length of the string is 37
            Enter something : use Python!
            Length of the string is 12
            nter something : quit
            Done 

            
        continue语句:
            continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

            例6.5

            #!/usr/bin/python
            #Filename:continue.py
            while True:
                s=raw_input('Enter something:')
                    if s=='quit':
                            break
                    if len(s)<3:
                            continue
                    print 'Input is of sufficient length'

            输出:

            $ python continue.py
            Enter something : a
            Enter something : 12
            Enter something : abc
            Input is of sufficient length
            Enter something : quit

        总结:
            至此我们已经学习了如何使用三种控制流语句——if、while和for以及与它们相关的break和continue 语句。它们是Python中最常用的部分,熟悉这些控制流是应当掌握的基本技能。

        讲道理,Python这六章的知识对比起C语言入门的那部分真的算不上什么,感觉按照计划花上一周时间足够掌握Python基础,而剩下的就需要结合理论在实践中不断地提升自己了。

原创文章,作者:maru,如若转载,请注明出处:http://www.178linux.com/72318

(1)
marumaru
上一篇 2017-04-01
下一篇 2017-04-02

相关推荐

  • CMDB内功心法,助我登上运维之巅

    很多70、80后甚至90后都在金庸、古龙、梁羽生先生等武林大家熏陶下成长的,这么多年过去了,我的武侠梦依然不曾散去。曾几何,梦想有一天练就一身绝学,搂着小师妹花前月下,仗剑走天涯,快意人生。可每次的酣睡美梦都被班主任大书板子给抽醒,在他们的鞭策之下,浑浑噩噩的成了一位IT骚年。我们都知道武功分为内功和招式,内功是气,而招式是形,以气御形。内功深厚,会让你的招…

    系统运维 2017-01-09
  • 用户组和权限管理知识总结

    在介绍本期内容之前呢,有一个小插曲.就是由于昨天晚上我没有正常关闭虚拟机,今天早上打开的时候一直显示正在使用中,弹 出来个小框框,如下图,马赛克部分呢就是提示的路径,安装路径不一样,提示的就也不一样. 此虚拟机似乎正在使用中。 如果此虚拟机已在使用中,请按“取消”按钮,以免损坏它。如果此虚拟机未使用,请按“取得所有权(T)”按钮以获取它的所有权。&…

    2017-07-28
  • 计划任务与启动流程

    一、任务计划 未来的某时间点执行一次任务:    at:在指定的时间执行任务    batch:系统自行选择空闲时间去执行此处指定的任务周期性运行某任务:    cron:在指定的时间执行任务 1、at任务at [option] TIME  常用选项:&nbs…

    Linux干货 2016-09-13
  • Linux文件系统管理

    马哥教育网络班23期+第3周课程练习 Linux文件系统管理 由于第三周所学的只是比较零碎,知识量比较大,这篇博客主要讲述的是一些习题,包括怎样完成的练习的思路和截图等等。首先我们看第一个题目 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    [root@localhost]/media/P…

    Linux干货 2016-09-23
  • 记一次CentOS7内核kernel的删除重装

    人生在于折腾,学习Linux更要多多折腾。在一次折腾中吸取教训,更易于记忆。 今天我们来折腾Linux的内核:删除系统内核后,通过光盘进行kernel的重安装。 友情提示:请在虚拟机环境进行,折腾前务必做好系统快照。慎重! 环境 本次系统环境是如下图: 删除 我们先到/boot目录下,强制删除kernel文件: 重启PC,此时系统报错找不到内核文件,无法登录…

    Linux干货 2016-08-24
  • 运维面试题和答案

    1、简述TCP三次握手四次挥手过程及各过程中客户端和服务器端的状态。 #三次握手 客户端向服务器端发送SYN包,客户端进入SYN_SEND状态 服务器端收到客户端发送的包返回ACK+SYN包,服务器端进入SYN_RECV状态 客户端收到服务器端返回的包再发回ACK包,客户端进入ESTABLISHED状态,服务器端收到包也进入ESTABLISHED状态 客户端…

    Linux干货 2016-06-10

评论列表(1条)

  • renjin
    renjin 2017-04-05 14:21

    内容上写的挺详细的,可以加入一些图片,或者把python代码放入到”插入代码”中。这样看起来效果会更好一些