Python系列-数字和字符串

作者: 憨厚的老菜鸟 | 来源:发表于2017-02-16 21:25 被阅读63次

    上一节:Python系列-解释器和编码

    数字

    Python的数学计算功能强大而简单,可以计算各种复杂的运算。数字分整型(integer)和浮点型(float),即整数和小数。这一节中,介绍的是简单的数字运算。

    先来看一段代码:

    >>> 2 + 2
    4
    >>> 50 - 5*6
    20
    >>> (50 - 5*6) / 4
    5.0
    >>> 8 / 5 
    1.6
    
    

    上面的代码,是基本的+(加)、-(减)、*(乘)和/(除)计算。在计算机语言中,乘和除的使用的标识符是*/()括号的用途是提升运算的优先级。在Python中,/除法和其他的开发语言略有不同,它得到的结果是float(浮点型),而在有些开发语言中得到的结果是一个integer(整型)。如果在Python中想得到的结果是integer(整型)的话,那么我们可以使用//。例如:

    >>> 8 / 5 
    1.6
    >>> 8 // 5
    1
    

    //得到的结果不是四舍五入后的结果,而是将/除法的结果去掉了小数位,只保留了整数位,这一点需要注意。

    取模

    使用%标识符作取模运算。例如:

    >>> 8 % 5
    3
    
    幂运算

    在Python中,提供了可以做幂运算的标识符—**。例如:

    >>> 2**3 #2的3次幂
    8
    >>> 5**2 #5**2次幂
    25
    >>> -3**2 #特别注意的地方,幂运算的优先级大。
    -9
    >>> (-3)**2
    9
    

    大家可能注意到,上面的代码里面使用了#,这个符号在python中是用来注释的,通常用在空白行或者代码的后面。

    变量

    >>> width=10 
    >>> height=5 
    >>> width * height
    50
    >>> (width + height) * 2
    30
    

    上面的代码中,可以看到,出现了一个新的标识符=,这个标识符在开发语言中,我们称之为赋值标识符。width = 10这句的意思就是将10赋值给width,而width,就称它为变量,意思是说它是一个可变的,给它赋什么值,它就是什么值,如果出现给一个变量多次赋值的情况,那么后一个会覆盖前一个。例如:

    >>> a=10 
    >>> a=5 
    >>> a
    5
    

    使用没有定义的变量,会报错。例如:

    >>> a=1
    >>> b=2
    >>> c
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    NameError: name 'c' is not defined
    

    在定义变量的时候,通常使用字母、数字和下划线来组成这个变量名,变量名命名要以字母或下划线开头。
    在Python中,下划线(_)有另一个含义,就是隐式的变量符号。例如:

    >>> a = 10
    >>> b = 5
    >>> a * b
    50
    >>> _
    50
    >>> a * _
    500
    >>> _
    500
    

    看上面的代码不难理解,_是上一个运算的结果,也就是说python会将运算结果赋值给_

    字符串

    除了数字以外,Python也能操作字符串。Python操作字符串使用单引号('...')和双引号("..."),单引号和双引号得到的结果都是一样的。例如

    >>> "hello world"
    'hello world'
    >>> 'hello world'
    'hello world'
    

    两个符号也可以结合使用,例如:

    >>> '"Yes!" he said.' #单引号和双引号结合使用
    '"Yes!" he said.'
    
    

    在某种情况下,会在双引号中使用双引号,这时候,就需要使用另一个标识符——转义符\,但是在单引号内,对单引号使用转义就失效了。例如:

    >>> "\"Yes!\" he said."   #双引号下使用转义符
    '"Yes!" he said.'
    >>> '"Isn\'t" he said. '  #单引号下使用转义符
    '"Isn\'t" he said. '
    

    使用print()函数来解决此问题。例如:

    >>> print('"Isn\'t" he said. ')
    "Isn't" he said.
    
    >>> s = 'First line.\nSecond line.'
    >>> s
    'First line.\nSecond line.'
    >>> print(s)
    First line.
    Second line.
    
    

    \n—换行符,意思是创建新的行。

    在某些情况下,我们可能会把多行的内容包含在一个字符串中,Python提供了("""...""" )或者('''...''') 标识符。例如:

    print("""\
    Usage: thingy [OPTIONS]
         -h                        
         -H hostname               
    """)
    
    #输出结果
    Usage: thingy [OPTIONS]
         -h                        
         -H hostname 
    

    两个字符串通过+可以连接在一起,也可以使用*表示重复,例如:

    >>> 'su' + 2 * 'c' + 'e' + 2 *'s'
    'success'
    
    

    在Python中,字符串能够被索引,索引值从0开始。例如:

    >>> word = 'Hello'
    >>> word[0]  #第0个字符
    'H'
    >>> word[3]  #第3个字符
    'l'
    
    

    在索引值是负数的时候则是反向索引,例如:

    >>> word = 'Hello'
    >>> word[-1]  # 最后一个字符
    'o'
    >>> word[-2]  #倒数第二个字符
    'l'
    >>> word[-5]
    'H'
    
    

    Python还提供了使用:来进行范围取值。例如:

    >>> word = 'Hello'
    >>> word[0:2]  
    'He'
    >>> word[2:4]  #倒数第二个字符
    'll'
    >>> word[:2]
    'He'
    >>> word[2:]
    'llo'
    

    通过使用len(),可以得到字符串的长度。例如:

    >>> word = 'Hello World'
    >>> len(word)
    11
    
    

    总结

    以上就是python的一些基本知识,为了方便记忆,下表是本节所涉及到的标识符。

    标识符 解释
    + 加或字符串连接符
    -
    *
    / 除,结果是浮点型
    // 除,结果是整型
    % 取模
    ** 幂运算
    = 赋值运算符
    \ 转义符
    \n 换行符

    相关文章

      网友评论

        本文标题:Python系列-数字和字符串

        本文链接:https://www.haomeiwen.com/subject/rgehwttx.html