每种开发语言都有自己的数据格式,每种数据格式都有自己的应用场景,Python也不例外,本章节以最简形式来说明Python常见的数据格式。限于篇幅原因,明哥只将重点内容写出来,太细节的内容以后会在项目实践中进行补充说明。
在进入正文之前,先看一段代码:
if __name__ == '__main__':
a = '1'
b = 1
c = True
d = 0.01
d1 = 3.14j
print(type(a))
print(type(b))
print(type(c))
print(type(d))
print(type(d1))
先直接看一下输出结果吧。
<class 'str'>
<class 'int'>
<class 'bool'>
<class 'float'>
<class 'complex'>
说明一下上段代码中的关键点:
type
是python中一个基础函数,可以显示基础数据的数据类型,Python的基础类型有以下几种:
Int 整型-包含int型、float型、complex型,
Bool 布尔型
-
Str 字符串
除了以上几种数据类型,Python中还有字典,元组,集合等高级数据类型,还有通过实现类定义,实现自己的数据类型,这些高级类型我将在后续章节中进行讲解。
正文开始,下面就不同的类型进行较为详细的说明:
整型:
Python中任意大小的整数,当然包括负整数,都可以定义为整型,在程序中的表示方法和数学上的写法一模一样,例如:1
,100
,-8080
,0
,等等。计算机本身使用的是二进制,你也可以通过 hex(16)、oct(8)、bin(8)来分别进行整形数据的转换,把整型转换为你所要的类型。例如:0xff00
,0xa5b4c3d2
,等等。
Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。
Python math 模块提供了许多对浮点数的数学运算函数。
Python cmath 模块包含了一些用于复数运算的函数。
实际操作可以自行进行进行官方文档进行阅读。
常见的操作函数:
random() 生成0-1随机实数
choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数
布尔型:
布尔类型只有True和False两种值,但是布尔类型有以下几种运算:
与运算:只有两个布尔值都为 True 时,计算结果才为 True。
True and True # ==> True
True and False # ==> False
False and True # ==> False
False and False # ==> False
或运算:只要有一个布尔值为 True,计算结果就是 True。
True or True # ==> True
True or False # ==> True
False or True # ==> True
False or False # ==> False
非运算:把True变为False,或者把False变为True:
not True # ==> False
not False # ==> True
字符串
字符串是 Python 中最常用的数据类型。我们可以使用引号( ' 或 " )来创建字符串。字符串的中可以进行转义,运算, 也可以通过正则进行替换。通常为保证编码的可识别,我们需要在文件头增加一行# -*- coding: utf-8 -*-
字符串的编码
由于Python的字符串类型是str
,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存到磁盘上,就需要把str
变为以字节为单位的bytes
。
x = b'ABC'
这样就定义了一个二进制的字符串,当字符串中包含中文时,因为中文编码的范围超过了ASCII码的范围,所以我们要用
>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
来进行编码相互转换的处理。
字符串的输出
在print打印输出时,我们需要对数据类型进行格式化。
print ("欢迎来到 %s 的博客 ,你是第%d 个访客!" % ('明哥', 10000))
关于格式输出的内容明哥引用一下w3c的文档列表,就不再细说
符 号 | 描述 |
---|---|
%c | 格式化字符及其ASCII码 |
%s | 格式化字符串 |
%d | 格式化整数 |
%u | 格式化无符号整型 |
%o | 格式化无符号八进制数 |
%x | 格式化无符号十六进制数 |
%X | 格式化无符号十六进制数(大写) |
%f | 格式化浮点数字,可指定小数点后的精度 |
%e | 用科学计数法格式化浮点数 |
%E | 作用同%e,用科学计数法格式化浮点数 |
%g | %f和%e的简写 |
%G | %f 和 %E 的简写 |
%p | 用十六进制数格式化变量的地址 |
备:当你不知道是什么类型是,可以用%s进行输出,python会自动帮你转换成字符型。
关于字符串的操作,方式很多,此处再引用一下w3c的列表进行说。
下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":
操作符 | 描述 | 实例 |
---|---|---|
+ | 字符串连接 | >>>a + b 'HelloPython' |
* | 重复输出字符串 | >>>a * 2 'HelloHello' |
[] | 通过索引获取字符串中字符 | >>>a[1] 'e' |
[ : ] | 截取字符串中的一部分 | >>>a[1:4] 'ell' |
in | 成员运算符 - 如果字符串中包含给定的字符返回 True | >>>"H" in a True |
not in | 成员运算符 - 如果字符串中不包含给定的字符返回 True | >>>"M" not in a True |
r/R | 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 | >>>print r'\n' \n >>> print R'\n' \n |
基础类型篇的介绍到此基本结束,如果有遗漏的地方,可以进行评论或私聊,我将给予解答。
本系列教程及源码地址:点击访问
最后:如果你正在学习Python的路上,或者准备打算学习Python、明哥会陪着你陪你一起共同进步!
手打不易,有用的话,请记得关注转发。