我的编程空间,编程开发者的网络收藏夹
学习永远不晚

3 Python的数据类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

3 Python的数据类型

概述

        在上一节,我们介绍了Python的基础语法,包括:编码格式、标识符、关键字、注释、多行、空行、缩进、引号、输入输出、import、运算符、条件控制、循环等内容。Python是一种动态类型的编程语言,这意味着当你创建一个变量时,不需要提前声明它的数据类型。Python会自动处理这种情况,并在需要时进行类型转换。

        Python提供了丰富多样的数据类型,以满足各种不同的编程需求。理解和掌握这些数据类型的特点、属性和用法,对于编写高效、可靠的Python代码至关重要。Python中的数据类型可以分为两种:基础类型和复杂类型。基础类型包括:数字、字符串等,复杂类型包括:列表、元组、集合、字典等。

        Python的数据类型可以分为两个大类:不可变数据类型和可变数据类型。

        不可变数据类型是指:当该数据类型对应变量的值发生了改变,它对应的内存地址也会发生改变。不可变数据类型包括:数字、字符串、元组。比如:变量a=66后,再赋值a=88,这里实际是新生成了一个数字对象88,再让 a指向它,而原来的数字对象66被丢弃;此时并没有改变a的值,相当于新生成了a。

        可变数据类型是指:当该数据类型对应变量的值发生了改变,它对应的内存地址不会发生改变。可变数据类型包括:列表、集合、字典。比如:变量a=[98, 99, 100]后,再赋值a[1]=50,只是将a的第二个元素值更改,a本身没有修改。

Number(数字)

        Python中的数字支持4种类型,分别为:int、float、bool和complex。

        整型(int):用于表示正整数、负整数和0,其取值范围是无限的。

        浮点型(float):用于表示带有小数点的数值,浮点型的大小也是无限的,可以表示很大的浮点数。

        布尔型(bool):用于表示真、假两种状态,只有两个取值:True和False,常用于逻辑运算和控制语句。

        复数型(complex):由实部和虚部组成,可以用a + bj的形式表示,其中,a为实部,b为虚部。在Python中,还可以使用complex函数来创建一个复数,比如:a = complex(66, 88)。

        那么,如何区分这4种数字类型呢?可以使用type函数和isinstance函数。type函数用于获取某个变量的数据类型,isinstance函数用于判断某个变量是否为某个数据类型的实例(包括父类实例和子类实例)。

a = 10b = 6.9c = Trued = 25 + 36j# 输出:   print(type(a), type(b), type(c), type(d))# 以下均输出:Trueprint(isinstance(a, int))print(isinstance(b, float))print(isinstance(c, bool), isinstance(c, int))print(isinstance(d, complex))

        另外,布尔型是整型的子类,这也就意味着,True和False可以与数字进行算数运算。True相当于1,False相当于0。

a = True + 5b = 9 - False# 输出:6 9 True Trueprint(a, b, True == 1, False == 0)

String(字符串)

        字符串是Python中的文本数据,用于表示一串字符。字符串是由单引号、双引号或三引号括起来的多个字符组成的序列,其长度(即字符数)可以是任意的。字符串从左边算起时,索引从0开始计数;从右边算起时,索引从-1开始计数。

         要获取字符串的子串,可以使用变量[下标]或变量[头下标:尾下标]的格式。变量[下标]只能获取包含单个字符的字符串,变量[头下标:尾下标]能获取头下标到尾下标之间(注意:包括头下标,不包括尾下标)的字符串。头下标不写时,默认为0;尾下标不写时,默认为到最右边的所有字符。字符串的下标可以超过索引范围,超过后,会自动被限制为可用的极限值。

a = 'hello'# 输出:helloprint(a)# 输出:eprint(a[1])# 输出:hellprint(a[0:-1])# 输出:helloprint(a[0:])# 输出:hellprint(a[:-1])# 输出:helloprint(a[:])# 输出:elprint(a[1:-2])# 输出:helprint(a[-5:3])# 输出:helloprint(a[-16:99])

        字符串还可以使用+符号进行拼接,使用*符号进行拷贝,使用\符号转义特殊字符。当然,如果不想让\符号发生转义,也是可以的:在字符串前面添加一个r或R即可,以表示后面的是一个原始字符串。

a = 'hello'b = a + ' CSDN'# 输出:hello CSDNprint(b)c = a * 2# 输出:hellohelloprint(c)d = 3 * a# 输出:hellohellohelloprint(d)e = 'hello\nCSDN'# 输出:hello#CSDNprint(e)f = r'hello\nCSDN'# 输出:hello\nCSDNprint(f)

        与C/C++、Java等语言不同,Python中的字符串不能被改变。试图向字符串的索引位置赋值时,比如:a[1]='P',会提示类似下面的错误信息:'str' object does not support item assignment。Python也没有单独的字符类型(比如:C/C++中的char类型),一个字符就是长度为1的字符串。

List(列表)

        列表是Python中的有序集合数据类型,可以包含任意类型的元素(同一个列表中的数据类型可以不同)。列表是通过方括号括起来,用逗号进行分隔的元素序列,支持各种操作,包括:元素的添加、删除、修改、查找等。

        与字符串一样,列表也可以被索引和截取。列表被截取后,返回一个包含所需元素的新列表。

a = [10, 20, 30, 40, 50]# 输出:20 50 [30, 40] [30, 40, 50]print(a[1], a[-1], a[2:-1], a[2:])# 输出:[10, 20, 30, 40, 50]print(a[-10:10])

        列表还可以使用+符号进行拼接,使用*符号进行拷贝。如果要判断一个元素是否在列表中,可以使用in关键字。如果要遍历一个列表,则可以使用for in。反向遍历时,使用[::-1]。第一个冒号两边省略数字,表示所有元素;第二个冒号右边为-1,表示列表元素反向遍历。

a = [10, 20, 30]# 输出:[10, 20, 30, 10, 20, 30]print(a * 2)# 输出:[10, 20, 30, 1, 2]print(a + [1, 2])# 输出:False Trueprint(66 in a, 20 in a)# 正向遍历,依次输出:10 20 30for item in a:    print(item)# 反向遍历,依次输出:30 20 10for item in a[::-1]:    print(item)

        Python中包含一些全局方法,用于获取列表的元素个数、列表元素的最大值、列表元素的最小值、列表元素的总和,分别为:len、max、min、sum。

a = [10, 20, 30]# 输出:3print(len(a))# 输出:30print(max(a))# 输出:10print(min(a))# 输出:60print(sum(a))

        除了全局方法,列表自身还有一些成员方法,用于对列表进行添加、插入、移除、统计、反转等操作,分别为:append、insert、remove、count、reverse等。

a = [10, 20, 30]a.append(66)a.append(20)# 输出:[10, 20, 30, 66, 20]print(a)# 统计元素20的个数,输出:2print(a.count(20))# 查找第一个值匹配的元素的位置,输出:2print(a.index(30))# 100不在列表中,运行会报错:100 is not in list# print(a.index(100))# 移除最后一个元素并返回,输出:20print(a.pop())# 输出:[10, 20, 30, 66]print(a)# 在某个位置插入一个元素a.insert(0, 99)# 输出:[99, 10, 20, 30, 66]print(a)# 反转列表a.reverse()# 输出:[66, 30, 20, 10, 99]print(a)# 移除第一个值匹配的元素a.remove(30)# 输出:[66, 20, 10, 99]print(a)# 35不在列表中,运行会报错:x not in list# a.remove(35)# 追加另一个序列中的元素a.extend(["hello", "CSDN"])# 输出:[66, 20, 10, 99, 'hello', 'CSDN']print(a)# 清空列表a.clear()# 输出:[]print(a)

        注意:列表的index和remove方法在找不到元素时,运行时会报错,而不是像其他语言一样返回-1,或者什么也不做。因此,使用index和remove方法,更好的方式是像下面这样。

a = [10, 20, 30]index = a.index(66) if 66 in a else -1# 输出:-1print(index)if 20 in a:    a.remove(20)# 输出:[10, 30]print(a)

        列表的比较可以直接使用>、<、==、!=等运算符。只有当两个列表的元素个数、每个位置上的元素的类型和值都相等时,两个列表才相等。注意:不同类型的列表不能比较,运行时会报类似下面的错误信息:'<' not supported between instances of 'int' and 'str'。

a = [10, 20, 30]b = [20, 10, 30]# 输出:Falseprint(a > b)b = [10, 20, 30]# 输出:Trueprint(a == b)b = ['hello', 'CSDN']# 不同类型的列表比较会报错,提示:'<' not supported between instances of 'int' and 'str'# print(a < b)

Tuple(元组)

        元组与列表类似,是由小括号括起来的元素序列,通常用于表示一组固定的数据。与列表不同,元组是不可变的,也就是说,无法修改元组中的元素。

        注意:当元组中只包含一个元素时,需要在该元素后面添加逗号。否则,小括号会被当作运算符使用,导致类型不正确。

a = ('hello', 'CSDN', 'Go')# 输出:print(type(a))a = ()# 空元组,输出:print(type(a))a = (66)# 一个元素时,没有逗号,a被认为是整型,输出:print(type(a))a = (66, )# 一个元素时,有逗号,a被认为是元组,输出:print(type(a))

        与字符串、列表一样,元组也可以被索引和截取,并支持+符号拼接、*符号拷贝,以及len、max、min、sum等全局方法,这里就不再赘述了。元组中的元素是不允许被修改的,尝试给其赋值(比如:a[0] = 66)会提示类似下面的错误信息:'tuple' object does not support item assignment。

a = (10, 20, 30, 40, 50)# 输出:20 50 (30, 40) (30, 40, 50)print(a[1], a[-1], a[2:-1], a[2:])# 输出:(10, 20, 30, 40, 50)print(a[-10:10])a = (10, 20, 30)# 输出:(10, 20, 30, 10, 20, 30)print(a * 2)# 输出:(10, 20, 30, 1, 2)print(a + (1, 2))# 输出:False Trueprint(66 in a, 20 in a)# 正向遍历,依次输出:10 20 30for item in a:    print(item)# 反向遍历,依次输出:30 20 10for item in a[::-1]:    print(item)a = (10, 20, 30)# 输出:3print(len(a))# 输出:30print(max(a))# 输出:10print(min(a))# 输出:60print(sum(a))

Set(集合)

        Python中的集合是由大括号括起来的无序的元素序列,不能包含重复的元素。集合支持数学中的集合运算,比如:并集、交集、差集等。要创建一个集合,可以使用大括号{}或者set函数。注意:创建一个空集合,必须使用set函数,而不能使用{},因为{}被用来创建下面将要介绍的空字典。

a = {66, 88, 99}# 使用大括号创建集合,输出:{88, 66, 99}print(a)a = {66, 88, 99, 66, 88}# 集合会自动移除重复元素,输出:{88, 66, 99}print(a)a = set(['a', 'b', 'c'])# 使用set函数从列表创建集合,输出:{'a', 'c', 'b'}print(a)a = set('CSDN')# 使用set函数从字符串创建集合,输出:{'S', 'N', 'D', 'C'}print(a)a = set()# 使用set函数创建空集合,输出:set()print(a)

        向集合中添加元素可以使用add函数,向集合中添加元素、列表、元组、字典可以使用update函数。如果元素在集合中已存在,则不进行任何操作。从集合中移除元素可以使用remove函数和discard函数,其区别在于:如果元素不存在,remove函数会报错,而discard函数则不会报错。pop函数可以随机移除集合中的一个元素,当集合为空时,pop函数会报错。clear函数用于清空集合中的所有元素。

a = {66, 88, 99}# 输出:3print(len(a))a.add(100)# 输出:{88, 66, 99, 100}print(a)a.update([1, 2, 3])# 输出:{1, 66, 99, 100, 2, 3, 88}print(a)a.remove(1)# 输出:{66, 99, 100, 2, 3, 88}print(a)a.discard(2)a.discard(5)# 输出:{66, 99, 100, 3, 88}print(a)a.pop()# 输出:{99, 100, 3, 88}print(a)a.clear()# 输出:set()print(a)

        集合还支持数学中的集合运算,比如:并集、交集、差集等。运算符|、&、-、^分别用于计算两个集合的并集、交集、差集、异或集,对应函数union、intersection、difference、symmetric_difference。

a = set('hello')b = set('hope')# 计数集合a和b的并集,输出:{'e', 'p', 'h', 'o', 'l'}print(a | b)# 计数集合a和b的交集,输出:{'e', 'h', 'o'}print(a & b)# 计数在集合a,不在集合b的元素,输出:{'l'}print(a - b)# 计算不同时包含于集合a和b的元素,输出:{'l', 'p'}print(a ^ b)# 计数集合a和b的并集,输出:{'e', 'p', 'h', 'o', 'l'}print(a.union(b))# 计数集合a和b的交集,输出:{'e', 'h', 'o'}print(a.intersection(b))# 计数在集合a,不在集合b的元素,输出:{'l'}print(a.difference(b))# 计算不同时包含于集合a和b的元素,输出:{'l', 'p'}print(a.symmetric_difference(b))

Dictionary(字典)

        字典是Python中的键值对数据类型,用于存储键值对映射关系。字典是由键值对组成的无序集合,键必须是唯一的,值可以不唯一。字典的内容在大括号{}内,键值对之间使用逗号进行分隔,键值之间使用冒号进行分隔。

a = {}# 空字典,输出:{} 0 print(a, len(a), type(a))a = {'red': 6, 'blue': 9, 'green': 12}# 输出:9print(a['blue'])# 键不存在时,运行会报错:KeyError: 'black'# print(a['black'])if 'white' not in a:    print('white not in a')# 移除某个键,必须确保键存在,否则运行时会报错del a['green']# 输出:{'red': 6, 'blue': 9}print(a)

        字典提供快速查找、访问键值对的功能和接口。

        get(key, default=None):返回指定键的值,如果键不在字典中,则返回default设置的默认值。

        setdefault(key, default=None):如果key在字典中,返回对应的值。如果不在字典中,则插入key及设置的默认值 default,并返回 default。

        pop(key[,default]):删除字典key所对应的值,返回被删除的值。

        popitem():返回并删除字典中的最后一对键和值。

        items():返回一个键值对的视图对象。

        keys():返回一个键的视图对象。

        values():返回一个值的视图对象。

        clear():删除字典内所有元素。

        fromkeys(seq[, value]):创建一个新字典,以序列seq中的元素做字典的键,value为字典所有键对应的初始值。

a = {'red': 6, 'blue': 9, 'green': 12}# 输出:9print(a.get('blue'))# 输出:100print(a.get('black', 100))# 输出:12print(a.setdefault('green'))# 输出:100print(a.setdefault('white', 100))# 输出:{'red': 6, 'blue': 9, 'green': 12, 'white': 100}print(a)a.pop('red')# 输出:{'blue': 9, 'green': 12, 'white': 100}print(a)a.popitem()# 输出:{'blue': 9, 'green': 12}print(a)# 依次输出:blue 9, green 12for m, n in a.items():    print(m, n)# 依次输出:blue, greenfor k in a.keys():    print(k)# 依次输出:9, 12for v in a.values():    print(v)a.clear()# 输出:{}print(a)a = dict.fromkeys(['lemon', 'apple', 'banana'], 99)# 输出:{'lemon': 99, 'apple': 99, 'banana': 99}print(a)

来源地址:https://blog.csdn.net/hope_wisdom/article/details/132370235

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

3 Python的数据类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

MySQL数据类型 - JSON数据类型 (3)

最右边的数组元素。MySQL支持last关键字,作为数组中最后一个元素的索引的同义词。last - N 形式的表达式可用于相对寻址和范围定义,如下所示:如果不是针对数组计算路径,则求值结果与将该值包装在单个元素数组中的结果相同:可以使用带有JSON列标识符和J

	MySQL数据类型 - JSON数据类型 (3)
2021-03-13

PHP(3):数据类型

PHP(3):数据类型一、 数据类型 数据类型是具有相同特性的一组数据的统称。PHP早就提供了丰富的数据类型,PHP 5中又有更多补充。本节将介绍这些数据类型,可以分为3类:标量数据类型、复合数据类型和特殊数据类型。 1、  标量数据类型 
2023-01-31

3、MySQL的数据类型介绍

上一章节内容主要介绍了一些MySQL中对表和库的增删改查操作,对于上一章中对与表中字段的一些定义进行说明,本章主要介绍关于数据库类型的一些定义。一、概述:MySQL数据库中的数据大致可以分为以下几类,从而实现数据库在操作的时候对不同类型的处
2023-01-31

Python的数据类型

数据类型基础数据整数型:int类型,整数;例如:1浮点型:float类型,带小数点的数字;例如:1.0字符串:str类型,由引号扩起来的内容;例如 'str',空字符串用' '表示布尔值:bool类型,只有True 和 False;所有的非
2023-01-30

day 3 - 2 数据类型练习

1.有变量 name = " aleX leNB " 完成如下操作name = " aleX leNB "# 1) 移除两端空格n1 = name.strip()print(n1) # 2) 移除左边的 aln2 = name[3:]pri
2023-01-30

Python数据类型概述:深入了解Python的数据类型

Python基本数据类型简介:探索Python的数据类型,需要具体代码示例Python是一种高级编程语言,它提供了丰富的数据类型,使得程序员可以更轻松地处理各种数据。在本文中,我们将探索Python中的几种基本数据类型,并提供代码示例来说
Python数据类型概述:深入了解Python的数据类型
2024-01-20

python数据类型

name=input("请输入用户名:") 无论输入何种类型的数据,input都会将他存成字符串格式python2 中 是 raw_input为什么要有程序交互?让计算机能够模拟人,让计算机去接受用户的输入信息两种执行python程序的方式
2023-01-30

Python数据类型 -数值类型(整数,

一、整数:1)整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。如:num01 =100
2023-01-31

Python-数据类型

计算机不但可以处理各种数值、以及图片、文本、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型,在Python中可以直接处理的数据类型有以下几种:一、整数Python中可以处理任意大小的数值,包括负整数,在Python程序
2023-01-31

python 数据类型

Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典)1、数字2 是一个整数的例子。长整数 不过是大一些的整数。3.23和52.3E-
2023-01-30

Python中的数据类型

原文链接:http://www.datastudy.cc/to/88Python中总共有六种数据类型,分别如下:数字(Numbers)字符串(String)列表(List)元组(Tuple)集合(Sets)字典(Dictionaries)数
2023-01-31

Python 基础 - 3 常用数值类型

参考:Python 基础 - 0 前言Built-in TypesPython 数值类型包括整型(integer),浮点型(floating point number)和复数(complex number),并且,布尔型(boolean)是
2023-01-31

探索Python数据类型:深入剖析Python数据类型的特点

Python数据类型解析:深入研究Python的数据类型,需要具体代码示例导言:在Python编程中,数据类型是非常重要的概念。了解不同的数据类型及其特性,可以帮助我们更好地处理和操作数据。本文将深入研究Python的各种数据类型,并提供
探索Python数据类型:深入剖析Python数据类型的特点
2024-01-20

python数据类型(一)

补充运算符补充invl = "我是中国人"#判断中国是否在vl代指的字符串序列中vl = "中国" in value实列:dd = input("请输入内容:")if "上门" in dd: print("包含敏感字符")实例2:wh
2023-01-31

4.1-4.4 python的数据类型

4.1 整型:无小数点a=100b=-20print(a)print(b)print(a-b)print(a.__abs__()+b.__abs__())print(dir(a))4.2 浮点型:有小数点a=3.00b=2.53c=2.43
2023-01-31

Python常用的数据类型

Python常用的数据类型有很多,今天暂时介绍这三种,int(整数类型)、str(字符串)、bool(布尔类型)一.int(整数类型)1.不带小数的,integer 的缩写,常用于数据的计算或者大小的比较2. a = 4 #整数 p
2023-01-30

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录