Python2.7自学笔记1——使用py

发布时间:2019-07-06 10:42:44编辑:auto阅读(3600)

    1、number

        数字可以直接在python运算,使用圆括号分组

    In [1]: 2+2
    Out[1]: 4
    In [2]: 50-5*6
    Out[2]: 20
    In [3]: (50-5.0*6)/4
    Out[3]: 5.0
    In [4]: 8/5.0
    Out[4]: 1.6

        在进行除法/的时候,如果2个除数都是int型,则返回的值也为整型int:

        

        如果有1个除数为浮点型float,则结果值为浮点型float;


        使用运算符//做除法,则返回的值为除后取整


        使用%做除法取余数;

        

    In [5]: 17/3
    Out[5]: 5
    In [6]: 17/3.0
    Out[6]: 5.666666666666667
    In [7]: 17//3.0
    Out[7]: 5.0
    In [8]: 17%3
    Out[8]: 2

        使用**来计算乘方:

    In [9]: 5**2
    Out[9]: 25
    In [10]: 2**7
    Out[10]: 128

        使用=号赋值:

    In [11]: width=20
    In [12]: height=5*9
    In [13]: width * height
    Out[13]: 900

        如果一个变量没有定义,那么直接使用它会出错:

    In [14]: n
    ---------------------------------------------------------------------------
    NameError                                 Traceback (most recent call last)
    <ipython-input-14-fe13119fb084> in <module>()
    ----> 1 n
    NameError: name 'n' is not defined

        整型和浮点类型的转换:

    In [15]: 3*3.75/1.5
    Out[15]: 7.5
    In [16]: 7.0/2
    Out[16]: 3.5

        可以将最后打印的计算结果直接给“_”符号

    In [17]: tax=12.5/100
    In [18]: price=100.50
    In [19]: tax * price
    Out[19]: 12.5625
    In [20]: price+_
    Out[20]: 113.0625
    In [21]: round(_,2)
    Out[21]: 113.06

        

    2、String

        

        可以使用单引号''和双引号来直接引用String,反斜杠可以转义引号:

    In [22]: 'spam eggs'
    Out[22]: 'spam eggs'
    In [23]: 'doesn\'t'
    Out[23]: "doesn't"
    In [24]: "doesn't"
    Out[24]: "doesn't"
    In [25]: '"Yes," he said.'
    Out[25]: '"Yes," he said.'
    In [26]: "\"Yes,\" he said."
    Out[26]: '"Yes," he said.'
    In [27]: '"Isn\'t," she said.'
    Out[27]: '"Isn\'t," she said.'

        使用print命令可以忽略字符引号,并且可以打印特殊意义符号:

    In [28]: '"Isn\'t," she said.'
    Out[28]: '"Isn\'t," she said.'
    In [29]: print '"Isn\'t," she said.'
    "Isn't," she said.
    In [30]:  s = 'First line.\nSecond line.'
    In [31]: s
    Out[31]: 'First line.\nSecond line.'
    In [32]: print s
    First line.
    Second line.

        如果不想打印特殊字符,可以在第一个引号前面加r:

    In [33]: print 'C:\some\name'
    C:\some
    ame
    In [34]: print r'C\some\name'
    C\some\name

        使用三元引号可以将多行放在一行里面,但在第一个引号后面加\符号则还是会使用多行模式:

    In [38]: print """\
       ....: Usage: thingy [OPTIONS]
       ....:      -h                        Display this usage message
       ....:      -H hostname               Hostname to connect to
       ....: """
    Usage: thingy [OPTIONS]
         -h                        Display this usage message
         -H hostname               Hostname to connect to

        

        String可以使用+号连接或者*号运算

       
    In [40]: 3 * 'un' + 'ium'
    Out[40]: 'unununium'

        

        连接多个字符串可以使用以下方式:

    In [42]: 'Py' 'thon'
    Out[42]: 'Python'

        使用+符号可以将变量与字符串相连接:

    In [43]: prefix = 'Py'
    In [44]:  prefix + 'thon'
    Out[44]: 'Python'


        当需要将比较长的字符串连接在一起的时候,使用引号的方式比较有用:

    In [45]: text = ('Put several strings within parentheses '
       ....:             'to have them joined together.')
    In [46]: text
    Out[46]: 'Put several strings within parentheses to have them joined together.'

        字符串可以有索引:

    In [47]: word = 'Python'
    In [48]:  word[0]
    Out[48]: 'P'
    In [49]: word[5]
    Out[49]: 'n'
    In [50]: word[-1]
    Out[50]: 'n'
    In [51]: word[-2]
    Out[51]: 'o'
    In [52]: word[-6]
    Out[52]: 'P'

        

        字符串的切片:

    In [53]: word[0:2]
    Out[53]: 'Py'
    In [54]: word[2:5]
    Out[54]: 'tho'
    In [55]: word[:2] + word[2:]
    Out[55]: 'Python'
    In [56]: word[:4] + word[4:]
    Out[56]: 'Python'

        字符串切片索引示意:

     +---+---+---+---+---+---+
     | P | y | t | h | o | n |
     +---+---+---+---+---+---+
     0   1   2   3   4   5   6
    -6  -5  -4  -3  -2  -1


        超过索引顺序的切片可以比较友好的处理:

    In [68]: word[4:42]
    Out[68]: 'on'
    In [69]: word[42:]


        String不能被改变:

    In [69]: word[0] = 'J'
    ---------------------------------------------------------------------------
    TypeError                                 Traceback (most recent call last)
    <ipython-input-69-197b67ffdd83> in <module>()
    ----> 1 word[0] = 'J'
    TypeError: 'str' object does not support item assignment

        如果需要不同的字符串,可以生成新的字符串:

    In [70]: 'J' + word[1:]
    Out[70]: 'Jython'
    In [71]: word[:2] + 'py'
    Out[71]: 'Pypy'

        使用内置的len函数可以计算字符串的长度:


    In [72]: len(word)
    Out[72]: 6


关键字