跟老齐学Python之数据类型总结
下面的表格中列出了已经学习过的数据类型,也是python的核心数据类型之一部分,这些都被称之为内置对象。
对象,就是你面对的所有东西都是对象,看官要逐渐熟悉这个称呼。所有的数据类型,就是一种对象。英文单词是object,直接的汉语意思是物体,这就好像我们在现实中一样,把很多我们看到和用到的都可以统称为“东西”一样。“东西”就是“对象”,就是object。在编程中,那个所谓面向对象,也可以说成“面向东西”,是吗?容易有歧义吧。
对象类型 | 举例 |
---|---|
int/float | 123,3.14 |
str | 'qiwsir.github.io' |
list | [1,[2,'three'],4] |
dict | {'name':"qiwsir","lang":"python"} |
tuple | (1,2,"three") |
set | set("qi"),{"q","i"} |
不论任何类型的数据,只要动用dir(object)或者help(obj)就能够在交互模式下查看到有关的函数,也就是这样能够查看相关帮助文档了。举例:
>>>dir(dict)
看官需要移动鼠标,就能够看全(下面的本质上就是一个list):
['__class__','__cmp__','__contains__','__delattr__','__delitem__','__doc__','__eq__','__format__','__ge__','__getattribute__','__getitem__','__gt__','__hash__','__init__','__iter__','__le__','__len__','__lt__','__ne__','__new__','__reduce__','__reduce_ex__','__repr__','__setattr__','__setitem__','__sizeof__','__str__','__subclasshook__','clear','copy','fromkeys','get','has_key','items','iteritems','iterkeys','itervalues','keys','pop','popitem','setdefault','update','values','viewitems','viewkeys','viewvalues']
先略过__双下划线开头的哪些,看后面的,就是dict的内置函数。至于详细的操作方法,通过类似help(dict.pop)的方式获得。这是前面说过的,再说一遍,加深印象。
我的观点:学习,重要的是学习方法,不是按部就班的敲代码。
今天既然是复习,就要在原来基础上提高一点。所以,也要看看上面那些以双下划线开头的东西,请看官找一下,有没有发现这个:"__doc"。这是什么,它是一个文件,里面记录了对当前所查看的对象的详细解释。可以在交互模式下这样查看:
>>>dict.__doc__
显示应该是这样的:
"dict()->newemptydictionary\ndict(mapping)->newdictionaryinitializedfromamappingobject's\n(key,value)pairs\ndict(iterable)->newdictionaryinitializedasifvia:\nd={}\nfork,viniterable:\nd[k]=v\ndict(**kwargs)->newdictionaryinitializedwiththename=valuepairs\ninthekeywordargumentlist.Forexample:dict(one=1,two=2)"
注意看上面乱七八糟的英文中,是不是有\n符号,这是什么?前面在讲述字符串的时候提到了转义符号\,这是换一行。也就是说,如果上面的文字,按照排版要求,应该是这样的(当然,在文本中,如果打开,其实就是排好版的样子)。
"dict()->newemptydictionary dict(mapping)->newdictionaryinitializedfromamappingobject's (key,value)pairs dict(iterable)->newdictionaryinitializedasifvia: d={} fork,viniterable: d[k]=v dict(**kwargs)->newdictionaryinitializedwiththename=valuepairs inthekeywordargumentlist.Forexample:dict(one=1,two=2)"
可能排版还是不符合愿意。不过,看官也大概能看明白了。我要说的不是排版,要说的是告诉看官一种查看某个数据类型含义的方法,就是通过obj.doc文件来看。
嘿嘿,其实有一种方法,可以看到排版的结果的:
>>>printdict.__doc__ dict()->newemptydictionary dict(mapping)->newdictionaryinitializedfromamappingobject's (key,value)pairs dict(iterable)->newdictionaryinitializedasifvia: d={} fork,viniterable: d[k]=v dict(**kwargs)->newdictionaryinitializedwiththename=valuepairs inthekeywordargumentlist. Forexample: dict(one=1,two=2)
上面那么折腾一下,就是为了凑篇幅,不然这个总结的东西太少了。
总之,只要用这种方法,你就能得到所有帮助文档,随时随地。如果可以上网,到官方网站,是另外一种方法。
还需要再解释别的吗?都多余了。唯一需要的是看官要能会点英语。不过我相信看官能够读懂,我这个二把刀都不如的英语水平,还能凑合看呢,何况看官呢?
总结不是意味着结束,是意味着继往开来。精彩还在后面,这里只是休息。