跟老齐学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计算圆周长、面积、球体体积并画出圆
Apr 08 Python
python操作gmail实例
Jan 14 Python
python根据时间生成mongodb的ObjectId的方法
Mar 13 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
Jan 28 Python
Django中的Signal代码详解
Feb 05 Python
PyQt5每天必学之拖放事件
Aug 27 Python
详解django+django-celery+celery的整合实战
Mar 19 Python
Python3日期与时间戳转换的几种方法详解
Jun 04 Python
python中必要的名词解释
Nov 20 Python
Python函数基本使用原理详解
Mar 19 Python
python实现简单石头剪刀布游戏
Oct 24 Python
Python使用BeautifulSoup4修改网页内容
May 20 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/11/12 PHP
Yii2 批量插入、更新数据实例
2017/03/15 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
重定向实现代码
2006/11/20 Javascript
HTML Color Picker(js拾色器效果)
2013/08/27 Javascript
原生JS可拖动弹窗效果实例代码
2013/11/09 Javascript
jQuery实现隔行背景色变色
2014/11/24 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
JavaScript中的原型继承基础学习教程
2016/05/06 Javascript
移动适配的几种方案(三种方案)
2016/11/25 Javascript
Javascript 链式作用域详细介绍
2017/02/23 Javascript
swiper自定义分页器使用方法详解
2020/09/14 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
JavaScript Reflect Metadata实现详解
2019/12/12 Javascript
[01:37]PWL S2开团时刻DAY1&2——这符有毒
2020/11/20 DOTA
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
Python爬虫包BeautifulSoup学习实例(五)
2018/06/17 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
如何通过python实现全排列
2020/02/11 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Nginx+Uwsgi+Django 项目部署到服务器的思路详解
2020/05/08 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
Python爬取梨视频的示例
2021/01/29 Python
css3.0 图形构成实例练习二
2013/03/19 HTML / CSS
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
Groupon法国官方网站:特卖和网上购物高达-70%
2019/09/02 全球购物
Java程序员面试题
2013/07/15 面试题
好的演讲稿开场白
2013/12/30 职场文书
带薪年假请假条
2014/02/04 职场文书
企业职业病防治方案
2014/05/29 职场文书
Nginx访问日志及错误日志参数说明
2021/03/31 Servers
Python 类,对象,数据分类,函数参数传递详解
2021/09/25 Python
mysql通过group by分组取最大时间对应数据的两种有效方法
2022/09/23 MySQL