跟老齐学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中的URLError异常的方法
Apr 30 Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 Python
Python实现带参数与不带参数的多重继承示例
Jan 30 Python
Python实现压缩文件夹与解压缩zip文件的方法
Sep 01 Python
Python静态类型检查新工具之pyright 使用指南
Apr 26 Python
在linux系统下安装python librtmp包的实现方法
Jul 22 Python
Python对接六大主流数据库(只需三步)
Jul 31 Python
Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
Jan 25 Python
用什么库写 Python 命令行程序(示例代码详解)
Feb 20 Python
基于python实现对文件进行切分行
Apr 26 Python
为什么说python适合写爬虫
Jun 11 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
Feb 25 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通过header实现文本文件下载的代码
2010/08/08 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
关于javascript 回调函数中变量作用域的讨论
2009/09/11 Javascript
js 数组克隆方法 小结
2010/03/20 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
JS实现根据当前文字选择返回被选中的文字
2014/05/21 Javascript
jQuery中next()方法用法实例
2015/01/07 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
NodeJS整合银联网关支付(DEMO)
2016/11/09 NodeJs
jQuery实现字符串全部替换的方法【推荐】
2017/03/09 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
2018/08/19 Javascript
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
2017/06/14 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python使用MQTT给硬件传输图片的实现方法
2019/05/05 Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
2020/01/17 Python
详解anaconda安装步骤
2020/11/23 Python
马来西亚最大的电器网站:Senheng
2017/10/13 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
学校大课间活动方案
2014/01/30 职场文书
《夏夜多美》教学反思
2014/02/17 职场文书
暑假家长评语大全
2014/04/17 职场文书
医院信息公开实施方案
2014/05/09 职场文书
环境建议书
2015/02/04 职场文书
土建技术员岗位职责
2015/04/11 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
战友聚会致辞
2015/07/28 职场文书
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android
php双向队列实例讲解
2021/11/17 PHP
vue代码分块和懒加载非必要资源文件
2022/04/11 Vue.js