Python程序员vPython大数据 爬虫Python AI Sql

梳理Python基本认识基本类型,从零开始,学习Python

2018-03-17  本文已影响43人  Python爬虫学习

先罗列一下Python提供的基本数据类型:数值(整型、浮点型、复数、布尔型等)、字符串、列表、元组、字典、集合等,将它们简单分类如下:

在这里还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python软件开发相关的),包括我自己整理的一份2018最新的Python进阶资料和高级开发教程,欢迎进阶中和进想深入Python的小伙伴

数值(Numbers)

numbers:列出了一些简单的例子

bool:调用bool()可以检查变量的真假值True或False。

if语句通过判断布尔类型来控制程序的执行路径,同时在 Python 中数据有隐式的真假值,可以使代码变得简短有效,如下

字符串(String)

首先,我们定义一个s='python'语句,它在计算机中的执行顺序是先在内存中创建一个字符串python,在程序栈寄存器中创建一个变量s,最后把python的地址赋给s 。

再来看看字符串的一些常见操作

切片

替换

查找

find()

index()

转大小写

upper(),lower(),swapcase(),capitalize()

去空格,strip()、lstrip()、rstrip()

连接与分割

使用 + 连接字符串,每次操作会重新计算、开辟、释放内存,效率很低,所以推荐使用join

还有一些常用的,这里只列出来

以上是一些常见的操作,当然还有一个没有列出来,这里想单独拿来谈谈,就是 Python3 字符串的编码:

ASCII 编码出现最早,只有大小写英文字母、数字和一些符号等127个字符,为了实现多语言表示,如中文的GB2312编码,日文的Shift_JIS编码等,Unicode 孕育而生,它将所有语言都统一到一套编码中;

在 Python3 中所有字符串在内存中均是 Unicode 保存;

当需要将文件保存到外设或进行网络传输时,就要进行编码转换,将字符转换为字节,以提高效率

在 Python3 中,内存中的 Unicode 字符用 str 对象表示,对应于的,Python3 使用了一种全新的数据类型来表示字节,就是 bytes,所以 encode 转换后的字节流就不是 str 对象,而是 bytes 字节对象,它当然支持分片、索引、基本数值运算等操作,但 str 与 bytes 类型的数据不能进行+操作。

来看看 bytes 数据类型的定义:

从上述例子中可以看出 bytes 对象不能由超出 ASCII 码范围的字符组成,只接受 ASCII 码这个范围的字符。

同样,从上面的例子我们还可以总结出一些坑爹的东西:

Unicode 码在 Python3 中有两种表示方式,u'字符串'和\u四位十六进制数;区分r'字符串' ,是表示不转义的原始字符串

将字符直接以 Unicode 码保存使用unicode-escape

在 Python 的交互式环境中,输出 bytes 对象时,可按 ASCII 码表示,或按十六进制\x表示

在 Python 头声明#-*- coding:utf-8 -*-,是告诉 Python 编译器按utf-8的方式读取,这个声明并不能将 Python 文件本身保存成utf-8,这时候需要借助文本编辑器保存文件编码。

编码部分我的理解就是这些了,感觉还是没有将编码问题总结清楚(无奈),还有什么补充的可以留言给小编

列表(List)

Python 可使用语法糖[]表示列表,其中的元素可以是任何类型,以顺序存储的方式动态储存数据:

元组(Tuple)

元组与列表不同的是,元组是不可变类型(immutable),不能对元素进行修改,但内存可以明确知道需要分配多少空间给元组

字典(Dictionaries)

字典是通过键值对的方式进行存储,占用大量的内存而获得极快的查找和插入速度,而列表刚好相反,查找和插入速度随着元素的增加而变慢,但占用的内存较小。字典虽然是可变类型,但因为它的 value 的位置是根据 key 计算出来的,因此 key 必须是不可变对象,这样才能确保字典的正确使用。

自定义数据类型

Python 允许通过继承去自定义数据类型,很多第三方库或框架都有类似的应用,这里简单实现了一个供参考:

各位大大们,要是觉得有用就点个关注,加个评论给小编一个鼓励吧

上一篇下一篇

猜你喜欢

热点阅读