zoukankan      html  css  js  c++  java
  • Python笔记之不可不知

          Python软件已经安装成功有很长一段时间了,也即或多或少的了解Python似乎也很长时间了,也是偏于各种借口,才在现在开始写点总结。起初接触Python是因为公司项目中需要利用Python来测试开发的接口,于是开始了解这门解释性,面向对象,带有动态语义的高级语言,或是脚本语言,或是胶水语言。便在网上找了一个现成的Python爬虫,在本地测试运行成功,将新浪上面的所有博客地址扒取下来。真心想从基础学起,自己写个,于是,有了这份基础总结,项目模块的开发将在下一篇博文中贴出。敬请关注!

         本博文仅记录自己学习Python过程中的点滴,与诸位喜欢Python的菜鸟朋友分享。本博文版权归作者和博客园所有,欢迎转载,但请保留本博文的出处。作者:itRed  联系邮箱:it_red@sina.com   博客链接:http://www.cnblogs.com/itred  GitHub链接: https://github.com/itRed

    一.Python产生

        1989年圣诞节,阿姆斯特丹,Guido van Rossum 开发而成。

    二.Python的特征

    1. 语言简单;
    2. 解释性和编译性;
    3. 面向对象编程;
    4. 高级语言(无需考虑如内存管理一类的底层知识);
    5. 可扩展性和可嵌入性(很好的和C,C++,JAVA等);
    6. 免费开源;
    7. 可移植性;
    8. 丰富的库。

    三.Python的文件类型 

    1. 源代码:以'py'为扩展名的文件,该文件由Python程序进行解释,不需要编译;
    2. 字节代码:Python源代码经过编译后生成扩展名为’pyc’的文件;

        编译方法:

          >>>import py_compile
         >>>py_compile.compile(文件名.py)

      3. 优化代码:经过优化后的源文件,扩展名为’.pyo

        编译方法:

          >>>python –o –m py_compile 文件名.py

    四.Python重点笔记

       正是因为python比较简单,所以很多关于很多语言都比较常见的语法在这里就不再赘述了。只是介绍一些比较有特点的基础知识。

    1. 查看变量的内存位置:
        >>>a=2
        >>>id(a)

      2. 求幂运算符(**):

        >>>2**3
        8

      3. 整数除法(//):

        >>>3.0//2
        1.0

      4. 复数表示法(Complex):

        >>>c=3.14j

      5. 序列:主要包含字符串,列表,元组等。

    1. 元组(“()”)

        (1)     元组案例

        >>>t=(‘red’,20,’male’)
        >>>t[0]
        'red'
        >>>t[1]    20
        >>>t[2]
        'male'
        >>>t
        ('red', 20, 'male')

        (2)     空元组:newtest=()

        (3)     单元素元组:newtest2=(2,)  *必须要加逗号

      2. 列表(”[]”)

        (1)     序列是处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目。可以对元素进行赋值操作。

        (2)     列表的组成包含了多个以逗号分隔开的数字或字符串。

        (3)     案例:

          >>>list1=['red',’test’,’张三’]
          >>>list2=[1,2,3,4,5]
          >>>list3=['str1',’str2’,’str3’]
          >>>listred=[‘red’,20,’male’]
          >>>listred[0:3]
          ['red',20,’male’]

        (4)     空序列:

            >>>list=[]

        (5)     列表的基本操作:

          取值:切片和索引,list[]

          添加:list.append()

          删除:del(list[])

                     List.remove(list[])

          修改:list[]=x

          查找:var in list

         1. Python控制流程

          就Python的语法而言,基本具有一般语言通用的。判断语句,for循环语句,switch语句等等。都是十分基础的。用几个简单的案例来说明Python这样简单的语言效果会更好。

                       >>>for x in 'hello':
              ……    print x
              h
          e
          l
          l
          o
          >>>st='hello'
          >>>for x in range(len(st)):
          ……    print st[x]     
            (输出结果同上)

                   2. if语句:

                  >>> x=0
         >>> if x==0:
         ...     print '0'
         ... else:
         ...     print '1'
         ...
         0

         3. 索引(迭代序列指数):遍历每个项目的另一种方法是由序列本身的偏移指数(索引)。迭代就是重复执行一个命令。

          >>>fruits=['banana',’apple’,’orange’]
          >>>for index in range(len(fruits)):
          …    print 'fruit:',fruits[index]
          …    print ‘finish’

          4. 字典的遍历:

          >>> d = {1:111,2:222,3:333}
          >>> for k,v in d.items():
          ...     print k,v
          ...
          1 111
          2 222
          3 333
          >>> 

           5. 函数

        函数就是为了完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它起一个名字。

        可以通过函数名在程序的不同地方多次执行,这通常就是函数的调用,可以不用在所有的地方重复性地编写这些语句。

        函数分为自定义函数和预定义Python函数,自定义函数是用户自己编写的函数,预定义函数是指系统自带的函数,还有一些第三方编写的函数,如其他程序员编写的一些函数,对于这些现成的函数,用户可以直接拿来使用。

      def 函数名(参数列表):  #可以没有参数列表
         函数体

             案例:

      >>> def f(x):
      ...  print x
      ...
      >>> f(10)
      10
      >>> f('hello')
      hello
      >>> f([1,2,3,4])
      [1, 2, 3, 4]
      >>>
      >>> def f(x,y):
      ...   print x,y
      ...
      >>> f(1,2)
      1 2
      >>> f('a','b')
      a b
      >>>
      >>> t=['name','red']
      >>> def f(x,y):
      ...   print "%s:%s" % (x,y)
      ...
      >>> f(*t)
      name:red
      >>>
      >>> def f(name='name',age=0):
      ...   print "name:%s" % name
      ...   print "age:%s" % age
      ...
      >>> f()
      name:name
      age:0
      >>> t=(30,'red')
      >>> f(*t)
      name:30
      age:red
      >>> d={'name':'red','age':20}
      >>> f(age=20,name='red')
      name:red
      age:20
      >>> f(**d)
      name:red
      age:20
      >>>

    五.  总结 

        本片博文仅仅是Python基础的一部分,本人认为是重点中的重点,作为菜鸟级的Python爱好者,基础往往是走向大神的门槛。只有将基础烂熟于心,方可写出高效而且简洁的代码。对于使用这些基础的知识开发Python的简单模块将在下一篇博客中详细介绍,谨以此文献给奋斗中的自己!

      邮箱:it_red@sina.com
      个人博客: http://itred.cnblogs.com
      版权声明:本文版权归作者和博客园共有,欢迎转载,但请在文章显眼位置标明文章出处。未经本人书面同意,将其作为他用,本人保留追究责任的所有权利。
  • 相关阅读:
    bzoj2395: [Balkan 2011]Timeismoney
    bzoj2725: [Violet 6]故乡的梦&&bzoj4400: tjoi2012 桥
    bzoj3047: Freda的传呼机&bzoj2125: 最短路
    bzoj2734: [HNOI2012]集合选数
    bzoj2728: [HNOI2012]与非
    bzoj2730: [HNOI2012]矿场搭建
    bzoj2727: [HNOI2012]双十字
    蓝桥杯-计蒜客之节假日
    蔡基姆拉尔森计算公式
    最长公共子串与最长公共子序列
  • 原文地址:https://www.cnblogs.com/itred/p/4684374.html
Copyright © 2011-2022 走看看