Python 里的高级数据类型

元组

元组和数组不同之处在于元组是不可以改变的,声明方式如下

a = (1, "asd", 5)

a = (3, )

注意这里用的是小括号,而不是中括号,而且当元组里面只有一个值的时候需要在后面添加一个逗号,不然程序会认为是值本身

其实元组还可以这样赋值

a, b = (1, 2)

这样 a 就等于 1b 就等于 2,这个过程叫 拆包(不用管这是啥,其实我也不懂)

当一个函数返回两个值的时候,实际上就是返回了一个元组,我们也可以用元组作为参数传给需要调用的函数

1
2
3
4
5
6
def add(x, y):
return x + y

param = (1, 2)

print add(*param)

明显结果为

3

这里需要注意的是 元组变量作为参数的话, 需要在前面加一个*

如果param是一个字典的话则需要使用两个**

1
2
3
param = { "name" : "zhangyida", "age" : "23" }

add(**param) #这句话等同于 add(name = zhangyida, age = 23)

而且元组的内容不能改变,像append之类的方法都不能对元组使用

字典

字典就是一个一个的键值对,和我们生活中使用的字典类似,你要找到字,你就要先找到zhang,然后才能找到字,Python里面的字典同样的,具体看下示例:

1
myDic = { "zhang" : "张", "yi" : "益", "da" : "达" }

这里就是三个键值对,键与值之间是一一对应的映射关系,使用字典的好处是什么呢,使用字典查找内容比较快速(可以想一下我们查字典),字典有一些基本的使用:

  1. myDic["zhang"] 它的值就是
  2. myDic.keys() 输出 ["zhang", "yi", "da"]
  3. MyDic.values() 输出 ["张", "益", "达"]

字符串

对于字符串我们可以理解为一个由字符组成,其中的字符串我们可以用变量替代等,字符串有以下几种常见用法:

1
myStr = "python is best program language in the world"

这个非常简单了,就是声明了一个字符串并赋予初始值(请忽略字符串具体内容)

1
myStr = "%s is best program language in the world" % "Python"

这句效果其实和第一句是一样的,这里用了%s作为占位符等待后面的Python替换

1
myStr = "%s is %s program language in the world" % ("Python", "best")

其实还是一样的,不过这里有一起替换了两个单词

1
myStr = "%(name)s is best program language %(where)s" % { "name" : "Python", "where" : "in the world" }

好吧,谁都能看出来,还是一样的,这里需要说一下的是%(name)s是给占位符起了个名字,这样做的好处是什么呢,以后可以用字典来赋值,就不用我们把字典的值一个一个的取出来了

最后

以动手实践为荣 , 以只看不练为耻;

以打印日志为荣 , 以单步跟踪为耻;

以空格缩进为荣 , 以制表缩进为耻;

以单元测试为荣 , 以人工测试为耻;

以模块复用为荣 , 以复制粘贴为耻;

以多态应用为荣 , 以分支判断为耻;

以Pythonic为荣 , 以冗余拖沓为耻;

以总结分享为荣 , 以跪求其解为耻;

引自啄木鸟社区