首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python基础数据类型

1. Number(数字类型)

数字类型分为两种,整数和浮点数。在python中我们可以使用 type(变量) 函数查看某个数字属于哪种类型。

1.1 整数

在python中使用 int 表示整数

1.2 小数(也叫浮点数)

在python中使用 float 表示浮点数。如果你学习过其他语言,可能听过单精度和双精度,在其他语言了会使用 float 表示单精度的浮点数,使用 double 表述双精度的浮点数,但是在python不区分单精度和双精度,统一使用 float 表示小数。

注意了,在python 整数+浮点数 结果类型为浮点数。整数除以整数 结果为浮点数,但是在python3之前的版本中却不一样。例如,2/2 在 python3 结果为 1.0 ,结果是一个浮点数,但是在 python2 中结果为 1 ,是一个整数

2. Bool类型

Bool类型主要有两个,分别为:True(真)或 False(假) 。和其他语言一样,也是数字类型的一种,即 1 表示真, 0 表示假

注意了,True的首字母必须是大写,False也是如此。和其他语言不一样,如果使用小写会直接报错

在python中,提供了一个 bool() 函数转其他数据类型转 bool 类型,例如:

bool(0):数字 0 等同于 False

bool(1.11):数字只要不是 0 就都是 True

bool(""):空字符串等同于 False

bool([]):空列表等同于 False 否则为 True

bool({}):空元组等同于 False 否则为 True

3. 字符串类型

在python中我们通常都是以 单引号 或者 双引号 及 三引号 的方式来定义字符类型,如下所示:

# 单引号字符串

a = '字符a'

# 双引号字符串

b = "字符b"

# 三引号字符串

c = '''

三引号字符内容

'''

# 也可以使用三个双引号表示

d = """

双引号的三引号字符串

"""

注意:在python中三引号也可以用作注释。如果三引号没有变量接收时就是一个注释

三引号是多行注释,如果需要单行注释,可以使用 #

3.1 转义字符

在实际的工作中,我们经常会遇到转义字符问题,如果转义字符出现在字符串中,如何让转义字符以字符的模式输出呢?对于这个问题python提供了一种特殊的定义方式,在上面的字符前面加个 r ,表示原始字符。例如:

转义字符:主要是一些特殊字符,例如

\n:换行

\r:回车      \t:横向制表符

a = r'hello \n word'

print(a)

此时输出的就是 hello \n word 。当然我们也可以通过转义的方式实现原始输出,例如:

a = r'hello \\n word'

print(a)

3.2 字符串乘以某个数字

对于字符串而言,乘法是一个特殊的存在。在python中,字符串 * 某个数 n 时等同于将字符串内容重复 n 遍,例如:

a = 'hello'

print(a*3)

结果是:hellohellohello

注意,是三个hello

但是,如果使用 字符串 * 字符串时会直接报错

3.3 字符串加法

字符串本身不支持加法,在python中字符串的 加法 等同于 拼接,但是字符串不能与其他类型进行拼接,否则会报错 。例如:

print('aaa'+'bbb')

#打印结果:aaabbb

4. 列表(list)

python中的list等同于PHP语言中的数组的概念。其定义的方式如下:

#空列表

arr = []

#嵌套列表

arr = [[0,True],'测试数据']

列表的访问方式和PHP语言的数组是一样的,具体如下:

arr = [[0,True],'测试数据']

print(arr[1])

#打印结果:测试数据

列表的截取和字符串一样,具体如下:

arr = ['1111','测试数据','22222','33333']

#从索引 1 开始,截取到索引 2 结束,不包括索引 2

print(arr[1:2])

#打印结果:['测试数据']

#从索引 1 开始,截取到最后一位

print(arr[1:])

#打印结果:['测试数据','22222','33333']

列表和字符串一样,也支持乘法运算,结果和字符串比较相似,具体如下:

arr = ['1111','测试数据']

print(arr*3)

#打印结果:['1111','测试数据','1111','测试数据','1111','测试数据']

向列表中添加元素,具体方法如下:

arr = []

arr.append(4)

在python里面,如何判断某个元素是否在数组中呢?具体方式如下:

a = [1,2,3,4,'aaa']

if 'aaa' in a:

print('存在数组中')

else:

print('不存在数组中')

#打印结果为:存在数组中

#判断某个元素不在列表中的方式

if 'aaa' not in a:

print('存在数组中')

else:

print('不存在数组中')

在python语言中, : + 四个空格 类似于PHP中的花括号,这是python的语法

接下来,我们再来看看列表相关聚合查询的方式:

a = [1,2,3,4,5,'w']

#获取列表的长度

print(len(a))

#获取列表的最大值

print(max(a))

#获取列表的最小值

print(min(a))

#打印结果:6 w 1

大家会发现,最大值居然是 w ,这是为什么呢?

python会将字符串转义成 ascll 码后再进行比较大小,其中 w 的asccl码值是 119 ,这一点其实和其他大多数语言是一样的。

如果大家不知道字符的ascll值,可以使用 ord('w') 查看ascll码值

5. 元组(tuple)

在python中,有一个和列表很相似数据结果,他叫元组。不同的是,元组定义后不能进行动态新增定义的格式如下:

#空元组

a = ()

#普通元组

b = (1,2,3,4,5,6)

#嵌套元组

c = ((1,2,3),'测试',('sss','vvv'))

除了上面通过()的定义的方式,python还有一种方式可以定义元组:

a = 1,2,3

这种方式定义的变量a ,默认就是元组。大家可以通过print(type(a))查看变量的类型

元组的访问、截取及乘法运算的方式和列表一样,具体如下:

b = (1,2,3,4,5)

print(b[0]) #打印结果:1

print(b[1:4]) #打印结果:(2,3,4)

print(b*2) #打印结果:(1,2,3,4,5,1,2,3,4,5)

print(b+(22,33)) #打印结果:(1,2,3,4,5,22,33)

python的元组有一个特性,需要注意一样。如果元组的内部只有一个元素时,元组会自动转换类型为元素本身的数据类型,具体体现如下:

a = (1)

print(type(a)) #打印类型结果为整型:int

b = ('aaaa')

print(type(b)) #返回的类型结果为字符串:str

这是因为,python把元组定义的 () 当成了数学运算中的括号,如果我们想要定义一个只有一个元素的元组时,可以这么定义:

a = (1,)

b = ('aaa',)

print(type(a)) #打印结果:tuple

print(type(b)) #打印结果:tuple

6. 集合(set)

python中的集合类型与redis中的集合,也就是我们高中时期数学中的集合,他是一组不重复的元素合集。注意了,python中的集合是无序的,所以我们无法通过索引下标的方式进行访问,更无法通过索引下标进行截取。集合定义的方式如下:

data = {1,2,3,4,5}

#定义空集合

null_data = set()

注意:空集合是使用 set 函数实现,不能直接使用 {} 定义。{} 这种形式是空字典

python的集合提供了不少交集、差集、并集等相关运算方式,具体如下:

set_data = {1,2,3,4}

#判断某个元素是否在集合中

print(5 in set_data)

print(3 not in set_data)

#两个集合的交集

print(set_data & {2,3})

#计算两个集合的差集

print(set_data - {1,4}) #打印结果:False False {2,3} {2,3}

#计算两个集合的并集

print({1,2,3,4,5,6} | {2,4,5,6,7,8,9}) #打印结果:{1,2,3,4,5,6,7,8,9}

7. 字典(dict)

字典和集合有点相似,不同的是字典中的元素是由key和value构成,有着特殊的形式。定义的格式如下:

a = {key1:value1,key2:value2,...}

看上去和 js 中的 json 格式的数据一模一样,操作形式基本也是一致:

a = {'a':'测试','b':'测试2'}

print(a['a']) #打印结果:测试

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OYa2rQEpHDUo0aKPFqigsG4w0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券