02.利用Python进行数据分析之Python数据类型

360影视 动漫周边 2025-03-20 22:58 3

摘要:Python的标准库中有⼀些内建的类型,⽤以处理数值数据、字符串、布尔值,和⽇期时间。这些单值类型被称为标量类型。

Python的标准库中有⼀些内建的类型,⽤以处理数值数据、字符串、布尔值,和⽇期时间。这些单值类型被称为标量类型。

None - Python 的空值(只存在一个 None 对象的实例)str - 字符串类型,存有 Unicode(UTF-8 编码)字符串bytes - 原生 ASCII 字节(或 Unicode 编码为字节)float - 双精度(64 位)浮点数(注意没有 double 类型)bool - True 或 False 值int - 任意精度整数

⽇期和时间处理会另外讨论,因为它们是标准库的datetime模块提供的。

Python的主要数值类型是int和float。 int可以存储任意⼤的数:

i = 12345678901234567890i12345678901234567890i*i152415787532388367501905199875019052100

浮点数使⽤Python的float类型。每个数都是双精度(64位)的值。

f = 3.1415926f3.1415926# 用科学计数法表示f = 5.76e5f576000.0# 整数的除法会得到浮点数3 / 21.5# 要获得C⻛格的整除(去掉⼩数部分),可以使⽤底除运算符 //3 // 2# ⽤单引号来写字符串s = 'Hello world!'# ⽤双引号来写字符串x = "内蒙古自治区"# 对于有换⾏符的字符串,可以使⽤三引号,'''或"""都⾏y = '''这里是字符串测试'''

字符串y实际包含四⾏⽂本,'''后⾯和lines后⾯的换⾏符。可以⽤count⽅法计算c中的新的⾏:

y.count('\n')3

Python的字符串是不可变的,不能修改字符串:

y'\n这里是\n字符串测试\n'y[3] = 'a'TypeError Traceback (most recent call last)Cell In[29], line 1----> 1 y[3] = 'a'TypeError: 'str' object does not support item assignmenty'\n这里是\n字符串测试\n'# 使⽤str函数可以将数据转化为字符串x = 10.9y = str(x)type(x)floattype(y)str

字符串是⼀个序列的Unicode字符,因此可以像其它序列如列表和元组⼀样处理:

h = 'Hello world!'list(h)['H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '!']# 切片h[:5]'Hello'

转义字符反斜杠,用来表示特殊字符,如:换⾏符\n或Unicode字符。要写⼀个包含反斜杠的字符串,需要进⾏转义:

s = '56\\78's'56\\78'# 可以在字符串前⾯加⼀个r,r表示raw,表明所有字符都是其本身s = r'56\\78's'56\\\\78'# 合并两个字符串s1 = 'Hello 's2 = 'world!'s1 + s2'Hello world!'# 字符串的格式化'产品名称:{0:s}, 产品价格:{1:.2f}, 数量:{2:d}'.format('固态硬盘500G', 138.2631, 2)'产品名称:固态硬盘500G, 产品价格:138.26, 数量:2'

在上面的代码中:

{0:s} 表示格式化第一个参数为字符串。{1:.2f} 表示格式化第二个参数为带有两位⼩数的浮点数。{2:d}表示格式化第三个参数为⼀个整数。

在Python 3及以上版本中,Unicode是⼀级的字符串类型,这样可以更⼀致的处理ASCII和Non-ASCII⽂本。

val = 'español\n内蒙古自治区'val'español\n内蒙古自治区'# ⽤encode将这个Unicode字符串编码为UTF-8val_utf8 = val.encode('utf-8')val_utf8b'espa\xc3\xb1ol\n\xe5\x86\x85\xe8\x92\x99\xe5\x8f\xa4\xe8\x87\xaa\xe6\xb2\xbb\xe5\x8c\xba'type(val_utf8)bytes# 将字节对象的Unicode编码,⽤decode⽅法可以解码val_utf8.decode('utf-8')'español\n内蒙古自治区'# UTF-8编码已经变成主流,但可能碰到其它编码的数据val.encode('utf-16')b'\xff\xfee\x00s\x00p\x00a\x00\xf1\x00o\x00l\x00\n\x00\x85Q\x99\x84\xe4S\xea\x81\xbbl:S'val.encode('utf-16le')b'e\x00s\x00p\x00a\x00\xf1\x00o\x00l\x00\n\x00\x85Q\x99\x84\xe4S\xea\x81\xbbl:S'# 创建一个字节文本,可在前面加 bbytes = b'This is a table.'bytesb'This is a table.'d = bytes.decode('utf-8')d'This is a table.'type(d)str布尔值类型转换

str、bool、int和float也是函数,可以⽤来转换类型。

a = '3.1415926'f = float(a)f3.1415926type(f)floatint(f)3bool(f)Truebool(a)Truebool(0)FalseNone

None是Python的空值类型。如果⼀个函数没有明确的返回值,就会默认返回None。None也可以作为函数的默认参数。

def sum(a, b, c=None):if c is None:return a + belse:return a + b + csum(1,2)3sum(1,2,3)6# None不仅是⼀个保留字,还是唯⼀的NoneType的实例type(None)NoneType

来源:IT职业教育

相关推荐