zoukankan      html  css  js  c++  java
  • python元组数据类型讲解

    元组可以被看成是不能改变的列表。列表是动态的,你可以增添,插入,删除,更改列表元素。有时我们需要这样的操作,但是有些时候我们需要保证有些数据是不能被用户或程序更改的。这就是元组的作用。

    准确的说,列表是可变对象,元组是不可变对象。

    定义和访问元组

    元组的定义和列表相似,只是列表是用方括号定义,元组是用圆括号定义的。一旦定义好元组,可以像访问列表那样访问元组元素,并且可以使用 for 循环。

    colors  =  ('red',  'green',  'blue')
    print("The first color is: " + colors[0])
    
    print("
    The available colors are:")
    for color in colors:
        print("- " + color)

    如果尝试向元组中添加元素,会得到一个错误。

    colors = ('red', 'green', 'blue')
    colors.append('purple')

    同样的,其他操作也会导致错误。一旦定义好一个元组,它就不会被改变。

    元组生成字符串

    我们知道混合英文字符和存储字符串的变量是相当有用的,如下所示:

    animal = 'dog'
    print("I have a " + animal + ".")

    当我们想要生成一系列的语句的时候,这种方式是不错的生成方式。如下所示:

    animals = ['dog', 'cat', 'bear']
    for animal in animals:
        print("I have a " + animal + ".") 

    我们用加号来实现,这种方法是符合直觉的,但不够简洁。使用占位符就能使代码更简洁。

    Python 通常会忽略掉我们放进字符串的字符,但是它会对少许字符格外注意。例如 " " 和 " "。Python 同样也会注意到 "%s" 和 "%d"。它们被称为占位符。当 Python 看到了 "%s" 占位符,它就会找到 % 后的第一个参数填充进占位符。如下所示:

    animal = 'dog'
    print("I have a %s." % animal) 

    这是一种相当简洁的方法来生成包含变量的字符串。我们将句子写进一条字符串中,然后告诉 Python 我们需要什么值嵌入到字符串的指定位置中。

    这种方法被称为格式化字符串(string formatting)。如果你有不止一个数据要填充进字符串中,你需要将参数放进元组中。如下所示:

    animals = ['dog', 'cat', 'bear']
    print("I have a %s, a %s, and a %s." % (animals[0], animals[1], animals[2]))

    包含数字的格式化字符串

    如果你想打印一个包含数字的字符串,如下所示:

    number = 23
    print("My favorite number is " + number)

    上述代码会报错。Python 不知道你指的是值为23还是作为字符串的“23”。如果你想让 Python 以字符串的形式对待这个变量,我们需要用到 str() 函数将数字转为字符串。如下所示:

    number = 23
    print("My favorite number is " + str(number) + ".")

    如果要用格式化的字符串,"%d" 会帮助到我们。如下所示:

    number = 23
    print("My favorite number is %d." % number) 

    同理,想嵌入多个数字,只需要将参数放进元组里。如下所示:

    numbers = [7, 23, 42]
    print("My favorite numbers are %d, %d, and %d." % (numbers[0], numbers[1], numbers[2]))
    

    也可以混合使用字 符串和数字占位符。不再赘述。在 Python 3 中还有很多复杂的方法做字符串格式化。

    本文转载于https://www.py.cn/jishu/jichu/10536.html

  • 相关阅读:
    6.Mysql之MGR的限制和局限性
    5.Mysql之MGR原理浅谈02
    2.shell之cut详解
    1.Shell编程的基本语法01
    4.Mysql之MGR浅谈01
    3.Mysql之MHA实战(03)
    2.Mysql之高可用架构MHA(02)
    1.数据库的三大范式是什么?
    1.Mysql之主从复制浅谈01
    6.Mydumper和Myloader备份恢复
  • 原文地址:https://www.cnblogs.com/jsdd/p/11514396.html
Copyright © 2011-2022 走看看