跟老齐学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装饰器 免去调用父类构造函数的麻烦
May 18 Python
python使用BeautifulSoup分析网页信息的方法
Apr 04 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
Jan 20 Python
python使用TensorFlow进行图像处理的方法
Feb 28 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
Python实现微信翻译机器人的方法
Aug 13 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
Python networkx包的实现
Feb 14 Python
Python3变量与基本数据类型用法实例分析
Feb 14 Python
python代码实现图书管理系统
Nov 30 Python
Python3+Flask安装使用教程详解
Feb 16 Python
Python 发送SMTP邮件的简单教程
Jun 24 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身份证号码检查类实例
2015/06/18 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
jQuery javaScript捕获回车事件(示例代码)
2013/11/07 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
node.js实现端口转发
2016/04/14 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
微信小程序 传值取值的几种方法总结
2017/01/16 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
理解 JavaScript EventEmitter
2018/03/29 Javascript
详解微信小程序文件下载--视频和图片
2019/04/24 Javascript
基于JavaScript伪随机正态分布代码实例
2019/11/07 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
Vue实现图片轮播组件思路及实例解析
2020/05/11 Javascript
理解Proxy及使用Proxy实现vue数据双向绑定操作
2020/07/18 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
[02:55]含熏伴清风,风行者至宝、屠夫身心及典藏宝瓶二展示
2020/09/08 DOTA
Python列表list数组array用法实例解析
2014/10/28 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
Python自动化运维_文件内容差异对比分析
2017/12/13 Python
windows下python和pip安装教程
2018/05/25 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
django框架模板语言使用方法详解
2019/07/18 Python
django的ORM操作 删除和编辑实现详解
2019/07/24 Python
Berghaus官网:户外服装和设备,防水服
2020/01/17 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang
使用Python拟合函数曲线
2022/04/14 Python