• Python学习笔记


    1. Python 适合什么

       a. Web网站和各种网络服务

       b. 系统工具和脚本

       c. 作为胶水语言把其他语言开发的模块包装起来以方便使用

       Python 不适合什么

       a. 不适合贴近硬件的代码

       b. 不适合移动开发

       c. 游戏开发

       Python缺点:源码无法加密

    2. Python 数据类型

        a. Python 数据类型包括整形浮点型字符串(可以用''或""括起来),布尔值空值None

            Ps.对于字符串,一般可以用单引号''括起来,但如果字符串中含有(‘)等特殊组合字符时,可以使用双引号""及转义字符()进行处理;

        b. Raw字符串(如果一个字符串很多需要转义的字符,对每一个字符都进行转义会很麻烦,就可以用raw字符串,即在字符串的前面加上一个r,这样里面的字符就不需要转义了):

            例:print r'(~_~)/ (~_~)/'

        c. 多行字符串,可以用'''...'''表示:

            例:'''Line 1

                     Line 2

                     Line 3'''

                  上面这个字符串的表示方法和下面的是完全一样的:

                  'Line 1 Line 2 Line 3'

        d. 字符串编码

            因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的。Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如:print u'中文'

             Ps.如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释 # -*- coding: utf-8 -*- .目的是告诉Python解释器,用UTF-8编码读取源代码。然后用Notepad++ 另存为... 并选择UTF-8格式保存。

        e. 多行unicode

            u'''Line 1

                Line 2'''

         f. ur结合使用

            ur'''Python的Unicode字符串支持"中文",

           "日文",

           "韩文"等多种语言'''

    3. Python解释器的提示符,并非代码的一部分:

        >>>

    4. print语句

        a. print语句跟上多个字符串,用逗号“,”隔开,就可以连成一串输出,如: print 'Hello','World!'

            Ps.print语句遇到逗号“,”会输出一个空格,

        b. 打印计算结果:print 75 +25

    5. 注释  # 

    6. 变量

        a. 变量由字母(大小写英文),数字及下划线的组合,且不能以数字开头;

        b. Python是一种动态语言;

             动态语言:变量本身类型不固定资产的语言,反之则为静态语言;

        c. 变量在内存中的表示:

            如:a='ABC',Python先在内存中创建了一个‘ABC’的字符串,然后在内存中新建了一个名为a的变量,然后将其指向'ABC';

       d. 变量使用举例:

      a = 'ABC'
      b = a
      a = 'XYZ'
      print b

          最后一行打印出变量b的内容到底是'ABC'呢还是'XYZ'?如果从数学意义上理解,就会错误地得出b和a相同,也应该是'XYZ',但实际上b的值是'ABC',让我们一行一行地执行代码,就可以看到到底发生了什么事:

          执行a = 'ABC',解释器创建了字符串  'ABC'和变量 a,并把a指向 'ABC':

          

         执行b = a,解释器创建了变量 b,并把b指向 a 指向的字符串'ABC':

         

        执行a = 'XYZ',解释器创建了字符串'XYZ',并把a的指向改为'XYZ',但b并没有更改:

         

        所以,最后打印变量b的结果自然是'ABC'了。

    7. Python中的整型和浮点数

        Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数。但是整数和浮点数混合运算的结果就变成浮点数了:

    8. Python中的布尔类型:

        a. 在Python中,布尔类型还可以与其他数据类型做 and、or和not运算,请看下面的代码:

       a = True
       print a and 'a=T' or 'a=F'

            计算结果不是布尔类型,而是字符串 'a=T',这是为什么呢?因为Python把0空字符串''None看成 False,  其他数值和非空字符串都看成 True,所以:

       True and 'a=T' 计算结果是 'a=T'
       继续计算 'a=T' or 'a=F' 计算结果还是 'a=T'
    要解释上述结果,又涉及到 and 和 or 运算的一条重要法则:短路计算。

       b. 短路计算。

           b-1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。

           b-2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。

     9. List用法

         L=[‘Joye’,20,true]  #List为一种有序列表

         Ps.由于Python为动态语言,所以list中的元素并不一定都是同一种数据类型;

         a. 正序访问元素

         print L[2]

         b. 倒序访问元素

         print L[-1]   # -1代表最后一个元素

         c. 添加新元素

             append() : 把新元素添加到List末尾

             extend([list]):添加一个列表到列表末尾

             insert(pos,ele):添加一个元素到列表指定位置之前

         d. 删除元素

             L.pop(2)  #删除第二个元素

          e. 替换元素

              L[-1]='Paul'

    10. tuple(元组)用法:

          tuple是除List外的另外一种有序列表;

          a. 与List不同处:tuple用()替代了[],tuple中的值一旦确定将会无法改变,因为它不可以新增/删除/更新元素,但对于值的获取都是一样的,如 L[0],L[-1]等;

          b. tuple的单元素形式为(0),而()又可以被识别为运算时的优化级,所以(0)形式在此时是有歧义的,所以在使用单元素时我们要多加一个逗号在单元素的后面,如(0,);

          c. tuple之可变

        t = ('a', 'b', ['A', 'B'])
    L = t[2]
    L[0] = 'X'
    L[1] = 'Y'
    Ps.这种元素的可变指的是list元素['A', 'B']发生的改变,而所谓的tuple元素不变指的是它的引用不会发生变化.此时可以将t修改为t = ('a', 'b', ('A', 'B'))以确保t的值不会发生改变;

    11. Python代码缩进规则:
    a. 具有相同缩进的代码被视为代码块;
    b. Python缩进写法:4个空格,不能使用Tab,更不要混合Tab和空格,以防由此而引发的语法错误;
    c. 在Python交互环境下开发代码,退出缩进时需要多敲一行回车

    12. if语句后接表达式,然后用:表示代码块开始,elif则表示else if;

       if Condition A:
           print 'A'
       elif Condition B:
           print 'B'
       elif Condition C:
           print 'C'
       else:
           print 'baby'

    13. for语句
        L = ['Adam', 'Lisa', 'Bart']
        for name in L:
            print name

    14. while循环
    N = 10
        x = 0
        while x < N:
            print x
            x = x + 1
    break 退出循环 continue 跳过后续的循环,继续下一次的循环
  • 相关阅读:
    hive之Json解析(普通Json和Json数组)
    Oracle 默认时间格式 & Date格式转换
    Oracle 中的Top写法
    cvc-complex-type.2.4.a: Invalid content was found starting with element 'async-supported'.
    如何使用MyEclipse的快捷键查找文件和类等资源
    同时运行多个TOMCAT时配置修改
    Dmaven.multiModuleProjectDirectory system propery is not set.
    Java常见异常
    java异常处理中的return和throw
    有return的情况下try catch finally的执行顺序
  • 原文地址:https://www.cnblogs.com/sccd/p/10099704.html
Copyright © 2020-2023  润新知