跟老齐学Python之数据类型总结


Posted in Python onSeptember 24, 2014

下面的表格中列出了已经学习过的数据类型,也是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() -> new empty dictionary\ndict(mapping) -> new dictionary initialized from a mapping object's\n (key, value) pairs\ndict(iterable) -> new dictionary initialized as if via:\n d = {}\n for k, v in iterable:\n d[k] = v\ndict(**kwargs) -> new dictionary initialized with the name=value pairs\n in the keyword argument list. For example: dict(one=1, two=2)"

注意看上面乱七八糟的英文中,是不是有\n符号,这是什么?前面在讲述字符串的时候提到了转义符号\,这是换一行。也就是说,如果上面的文字,按照排版要求,应该是这样的(当然,在文本中,如果打开,其实就是排好版的样子)。

"dict() -> new empty dictionary

dict(mapping) -> new dictionary initialized from a mapping object's

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {}

for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)"

可能排版还是不符合愿意。不过,看官也大概能看明白了。我要说的不是排版,要说的是告诉看官一种查看某个数据类型含义的方法,就是通过obj.doc文件来看。

嘿嘿,其实有一种方法,可以看到排版的结果的:

>>> print dict.__doc__

dict() -> new empty dictionary

dict(mapping) -> new dictionary initialized from a mapping object's

    (key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

    d = {}

    for k, v in iterable:

        d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

    in the keyword argument list.  For example:  dict(one=1, two=2)

上面那么折腾一下,就是为了凑篇幅,不然这个总结的东西太少了。

总之,只要用这种方法,你就能得到所有帮助文档,随时随地。如果可以上网,到官方网站,是另外一种方法。

还需要再解释别的吗?都多余了。唯一需要的是看官要能会点英语。不过我相信看官能够读懂,我这个二把刀都不如的英语水平,还能凑合看呢,何况看官呢?

总结不是意味着结束,是意味着继往开来。精彩还在后面,这里只是休息。

Python 相关文章推荐
Python Web服务器Tornado使用小结
May 06 Python
Python利用前序和中序遍历结果重建二叉树的方法
Apr 27 Python
分享一个简单的python读写文件脚本
Nov 25 Python
Python实现生成随机日期字符串的方法示例
Dec 25 Python
在Django中输出matplotlib生成的图片方法
May 24 Python
详解Python3中ceil()函数用法
Feb 19 Python
pycharm 安装JPype的教程
Aug 08 Python
python 表格打印代码实例解析
Oct 12 Python
Python下使用Trackbar实现绘图板
Oct 27 Python
用PYTHON去计算88键钢琴的琴键频率和音高
Apr 10 Python
 python中的元类metaclass详情
May 30 Python
Python 避免字典和元组的多重嵌套问题
Jul 15 Python
跟老齐学Python之集合的关系
Sep 24 #Python
跟老齐学Python之集合(set)
Sep 24 #Python
跟老齐学Python之有点简约的元组
Sep 24 #Python
跟老齐学Python之dict()的操作方法
Sep 24 #Python
Python单链表的简单实现方法
Sep 23 #Python
Python中bisect的用法
Sep 23 #Python
python元组操作实例解析
Sep 23 #Python
You might like
php 伪造ip以及url来路信息方法汇总
2014/11/25 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
详解YII关联查询
2016/01/10 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
node.js中的http.createClient方法使用说明
2014/12/15 Javascript
对JavaScript中this指针的新理解分享
2015/01/31 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
js小数运算出现多位小数如何解决
2015/10/08 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
Bootstrap表格和栅格分页实例详解
2016/05/20 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
2016/05/25 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
vue组件间通信解析
2017/03/01 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
2018/02/24 jQuery
vue+element实现批量删除功能的示例
2018/02/28 Javascript
vue实现简单loading进度条
2018/06/06 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
python3抓取中文网页的方法
2015/07/28 Python
python 实时遍历日志文件
2016/04/12 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
pandas object格式转float64格式的方法
2018/04/10 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
python jenkins 打包构建代码的示例代码
2019/11/29 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
python实现五子棋程序
2020/04/24 Python
Python pip install之SSL异常处理操作
2020/09/03 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
美国第一香水网站:Perfume.com
2017/01/23 全球购物
几个MySql的面试题
2013/04/22 面试题
党员教师群众路线个人整改措施
2014/10/28 职场文书
2015年初中教师个人工作总结
2015/07/21 职场文书