第二课:Python 3.X 的数据类型

Python 2.x与Python 3.x:初学者该如何选择? 2000年发布的Python 2.x和2008年发布的Python 3.x则成为了Python家族中最常用的两个版本,形成了一个重要的分界线。因此,在一段时间内,开发者面临着版本迁移的困境。根据Python官方对2.4万名开发者的调查统计显示,2019年11月,使用Python 3.x的开发者超过90%,不到10%的开发者仍在使用Python 2.x。虽然Python 3.x与2.x在语法和标准库上存在一定差异,但其编程思想和核心概念基本相同,学习Python 3.x可以很容易地理解2.x的概念和逻辑。 阅读详情

一、Python 3的数据类型

数字类型(整型、浮点型、复数型)、序列类型(字符串、列表、元组、集合、字典)

二、数字类型介绍

1、整型 int

整形 int (在Python 3.X中已经删除长整型)可以存储任意整数(正整数、0、负整数)。

例如: 100     -32

2、浮点型 float

浮点型 float 指的是:带小数点的数字以及科学计数法表示的数字。

例如:0.0    1.5    3e+7

3、复数类型 complex

复数由实部和虚部构成,复数的虚部以j结尾。

例如:12+0.2j     75-0.1j

三、序列类型介绍

1、字符串  string

字符串 string 就是若干个字符的合集。Python中的字符串必须使用单引号、双引号或者三引号包围。

在Python中,单引号和双引号没有任何区别。但是三引号既可用于注释,又可用于长字符串(不用\就可以直接换行书写的字符串。)

例如:'abc'    "abc"    '''abc'''

▶▶▶ Python 处理字符串中的引号?

当字符串内容中出现引号时,我们需要进行特殊处理,否则 Python 会解析出错,例如:'I'm a good doctor!'

由于上面字符串中包含了单引号,此时 Python 会将字符串中的单引号与第一个单引号配对,这样就会把 'I' 当成字符串,而后面的m a great coder! '就变成了多余的内容,从而导致语法错误。那么该如何处理呢?

1>  对引号进行转义

在引号前面添加反斜杠\就可以对引号进行转义,让 Python 把它作为普通文本对待,例如:

2>  使用不同的引号包围字符串

如果字符串内容中出现了单引号,那么我们可以使用双引号包围字符串,反之亦然。例如:

▶▶▶ Python 字符串的换行?

Python 不是格式自由的语言,它对程序的换行、缩进都有严格的语法要求。要想换行书写一个比较长的字符串,必须在行尾添加反斜杠\,例如:

2. 列表 list(有序的序列)

从形式上看,列表会将所有元素都放在一对中括号[ ]里面,相邻元素之间用逗号,分隔。

从内容上看,列表可以存储整数、小数、字符串、列表、元组等任何类型的数据,并且同一个列表中元素的类型也可以不同。

例如:list1 = [1,3.14,[2,3,4],(1,),'http://www.baidu.com']

3. 元组 tuple(有序的序列)

元组 tuple 可以存储一系列的值。Python中的元组 tuple 必须使用( )包围。

tuple1 = (1,2,'3',(9,))

4. 字典 dict(无序的、可变的序列)

字典 dict 的元素以“键值对(key-value)”的形式存储。

字典 dict 是一种无序的、可变的序列,而列表(list)和元组(tuple)都是有序的序列,它们的元素在底层是挨着存放的。

字典类型是 Python 中唯一的映射类型。字典中,各元素对应的索引称为键(key),各个键对应的元素称为值(value),键及其关联的值称为“键值对”。如图所示:

4.1 使用 { } 创建字典

由于字典中每个元素都包含两部分,分别是键(key)和值(value),因此在创建字典时,键和值之间使用冒号:分隔,相邻元素之间使用逗号,分隔,所有元素放在大括号{ }中。需要注意的是,同一字典中的各个键必须唯一,不能重复。

例如:dic1={'姓名':'张三',数学':90}

 

三、序列的基本操作

序列的两个主要特点就是索引操作和切片操作。

1. 索引操作:可以从序列中抓取一个特定项目。

序列中,每个元素都有属于自己的编号(索引)。从起始元素开始,索引值从 0 开始递增,如图:

除此之外,Python 还支持索引值是负数,此时索引是从右向左计数,即:从最后一个元素开始计数,从索引值 -1 开始,如图:

注意,在使用负值作为列序中各元素的索引值时,是从 -1 开始,而不是从 0 开始。

2. 切片操作

切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。

序列实现切片操作的语法格式:sname[start : end : step]

其中,各个参数的含义分别是:

  • sname:表示序列的名称;
  • start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
  • end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度;
  • step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。

3. 序列的基本操作:

(1)len():求序列的长度

(2)+:连接两个序列(序列相加)

(3)*:重复序列元素(序列相乘)

(4)in:判断元素是否在序列中

(5)max():返回最大值

(6)min():返回最小值

(7)list():将序列转换为列表

(8)str():将序列转换为字符串

(9)sorted():对元素进行排序

(10)reversed():对元素进行反向排序

(11)tuple() :将其它数据类型转换为元组类型

python面试题Python2.x和Python3.x的区别 这篇文章主要介绍了python面试题Python2.x和Python3.x的区别 ,在面试中也经常会问到,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 下面看下python2.x和python3.x的区别 1.大环境不同 python2.x:源码重复,不规范 python3.x:整合源码,更清晰优美简单 2.默认编码不同 python2.x:默认编码ASCII编码 pyt... 阅读详情

相关推荐

恶意流量检测数据集

对当前公开的恶意流量相关数据集进行归类总结,持续更新相关论文

tyutwuxuan的博客 1944

初识JAVA 数据类型与运算符

初识数据类型 JAVA是一种强类型语言,这意味着每定义一种变量都要为其声明类型 JAVA一共有四种变量: 1.属性 (直接写在类里头的叫属性) 实例变量 2.静态属性 类变量 3.局部变量 4.参数 其中 局部变量和参数 不允许有默认值 如何定义变量 数据类型 变量名 1. 直接加分号; 定义了变量,但是没有初始化 2. = value; 定义了变量,进行了初始化 int...

weixin_43501384的博客 254

慕课软件质量保证与测试(习题集)

慕课金陵科技学院.软件质量保证与测试.期末复习.习题汇总0 总目录1 绪论1.1 软件质量保证与测试的产生与发展1.2 软件缺陷,软件错误,软件故障1.3 软件质量保证与测试的意义,原则和挑战1.4 单元测试1.5 课后作业2 软件测试策略2.1 软件测试的模型,过程和生命周期2.2 软件测试的方法和技术2.3 单元测试2.4 课后作业3 黑盒测试3.1 黑盒测试概述3.2 等价类划分测试3.3 边界值测试3.4 错误推测法3.5 判定表驱动法3.6 因果图法3.7 场景法3.8 正交实验法3.9 单元测试

weixin_42473228的博客 5万+

Python 入门系列 —— 7. 数字类型介绍

数字类型 在 Python 中有三种数字类型。 int float complex 到底哪一个变量是哪一种数字类型呢?取决于你是将什么值赋给变量的。 x = 1 # int y = 2.8 # float z = 1j # complex 要想确认这个变量是否为此类型,用 type() 函数即可。 x = 1 # int y = 2.8 # float z = 1j # complex print(type(x)) print(type(y)) print(type

一线码农的专栏 317

基于AXI PCIE IP的FPGA PCIE卡示意图

如果在上图中的AXI互联IP上再连接一个带AXI Slave接口的BRAM控制器,这个BRAM控制器连接一个BRAM,Host PC在系统主存中分配了一些不连续的内存,Host PC可以将这些内存段的起始地址(当然要先转为PCIE总线地址)写到AXI总线上的BRAM中,这样AXI CDMA读取BRAM,将读取到的PCIE总线基地址写到AXIPCIE寄存器块中的AXIBAR2PCIEBAR_n寄存器中,这样就实现了SG DMA。通过动态改变AXIBAR2PCIEBAR_n寄存器的值,可以实现多通道DMA。

csdn_gddf102384398的博客 1624

西门子与汇川伺服脉冲连接(速度模式)

如何使用西门子PLC与汇川伺服进行脉冲连接

2301_77347966的博客 1万+

Python--基本数据类型

Python组成的基本几个概念: 1.1表达式 表达式,是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合 表达式就是一个类似于数学公式的组成 1.2语句 一个语句上自成体系的单位,它由一个词或句法上有关连的一组词构成 1.3程序 程序就是由一条一条的语句和一条一条的表达式是构成的 1.4函数 函数就是一个语句专门用来完成特定的功能 函数的分类有...

Small-J 2670

一个三极管和稳压管构成的简易稳压电源

一、对电压精度要求不高的场所可以使用本文中所述的简易稳压电源(电流变化引起 的基极-发射极的压降 变化 对输出电压来说可以容忍)二、根据负载实际需求选择三极管,不同的三极管集电极电流不同,电流放大倍数不同(1、尽量选择负载电流(iC 或 iE)上限时,hFE仍然比较理想的三极管,2、一般三极管对基极电流没有限制,可以适当调整基极电流以获得所需输出电流)

五花带点肉 1万+

05:填空:类型转换2

首先排除bool和char,然后,由于答案是浮点型,所以排出short和int,最后,由于第一个输出的精度更高,所以答案是F和E。一行,包含两个大写字母,分别代表变量a和b的类型标号。中间用一个空格隔开。输出两个数:1.000000001 1.000000000。请问a和b分别是以下哪种类型?// 仅作格式示例,非正确答案。希望本博客对大家有所帮助。

Hacket_Xu的博客 932

树莓派5新手必看:保姆级ibus中文输入法安装与配置全流程(含.bashrc设置避坑)

本文详细介绍了在树莓派5上安装和配置ibus中文输入法的完整流程,包括系统环境准备、ibus框架安装、图形界面配置及常见问题解决方案。通过清晰的步骤说明和避坑指南,帮助新手快速实现中文输入功能,提升开发效率。

weixin_29159441的博客 536

以 DeleteRestrictions 与 inlineDelete 为核心的 Fiori Elements 表格删除机制全解

SAP Fiori elements 中删除操作的设计与实现涉及多维度考量。框架默认依据 OData 元数据判断删除能力,通过 DeleteRestrictions 注解实现行级条件控制(deletable-path)。表格支持两种删除模式:工具栏集中删除与响应式表格行内删除,但二者不建议混用。关键约束包括:行内删除仅适用于 Responsive Table,且与多选功能互斥。配置需遵循三层架构:后端能力注解、前端表格形态和运行时交互。设计上强调禁用优于隐藏的可用性原则,并需保持列表页与对象页的删除体验一致

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 153

python返回变量x的数据类型_Python数据类型

Python的数据类型:1、字符串2、布尔类型3、整数4、浮点数5、数字6、列表7、元组8、字典9、日期1.字符串str = "char" --> 这是一组字符串print(str) --> 屏幕输出字符串也可以用单引号:str = 'char'print(str) --> 输出结果以及含义是一样的利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号...

weixin_39964819的博客 1763

ubuntu20 安装px4、mavros、QGroundControl

首先安装一下ant,否则没法运行,同时因20.04的缺少动态库libawt_xawt.so无法被Java8给调用,我的解决办法是去18.04把18.04的相同路径下的动态库libawt_xawt.so移动到20.04的/usr/lib/jvm/java-11-openjdk-amd64/lib/路径中。用rosdepc的时候,你得确保你用的是鱼香ROS的提供的ROS安装方法,否则是没有rosdepc的。make px4_sitl gazebo之前,可以安装一下gazebo的 模型。二、安装MAVROS。

qq_58060770的博客 3349

python 2.x 和 3.x 的区别

python 2.x 和 3.x 的区别。

融码一生:专注 Python、C/C++、Linux、机器学习 & 深度学习、NLP、算法领域分享 1308

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Python3.x和Python2.x中的数据类型、输入输出、格式化输出、逻辑符号以及区别

python3脚本语言的编写格式 #coding:utf-8 python2.x:默认使用ASCII编码 python3.x:默认使用UTF-8编码 1.没有分号(编码规范 PEP8) 2.严格按照缩进的语言 print(‘hello python’) print(‘你好 python’) ASCII编码和UTF-8编码区别: python中的数据类型 变量就是对内存地址空间的一个引用 a =...

AmourHaiti的博客 1014

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Python3.x和Python2.x的区别

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习P

lengyue的专栏 2952

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

简述python2.x和python3.x的区别_详解Python3.x和Python2.x的区别

Python3.x 是Python的革命性升级,废除了许多之前的特性,也引入了新特性。对 1.x 和 2.x的老代码不完全兼容。Python2.x是向下兼容的,目前最新的版本Python 2.7版。其中 2.6、2.7 版是为了让Python平稳过度到3.X 而发布的版本,也加入了一些3.X的特性。目前很多库还不支持3.x (例如:Django 、wxPython),绝大多数的应用还在2.x上面。...

weixin_29061531的博客 2149

python3.x与python2.x的区别

print 函数 print语句没有了,取而代之的是print()函数。 Python 2.6与Python 2.7部分地支持这种形式的print语法。在Python 2.6与Python 2.7里面,以下三种形式是等价的: print "fish" print ("fish") #注意print后面有个空格 print("fish") #print()不能带有任何其它参数 然而,Py...

Yanir的博客 594

下列关于python2.x和3.x的区别说法正确_Python3.x和Python2.x的区别

展开全部以下是Python3.x和Python2.x的主要区别1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为32313133353236313431303231363533e78988e69d8331333337626263Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。Py3.1性能比Py2.5慢15%,还有很大的提升...

weixin_39616674的博客 786

Python:Python 3.x 的革新

Python 3.x 版本在设计时为了向最好的语言前进,没有考虑向下兼容,许多针对早期 Python 版本设计的程序都无法正常运行。本文简单介绍了 Python 3.x 版本较之 2.x 版本语法上的一些变化。 一、文件编码 默认源文件编码从 ASCII 变为 UTF-8,从而支持非 ASCII 字符标识符,这使得以下代码合法: 中国 = 'china' print(中国) 二、函数...

diege8849的博客 186

python3.x和python2.x唯一区别_Python3.x和Python2.x的区别介绍

1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。Py3.1性能比Py2.5慢15%,还有很大的提升空间。2.编码Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:>>> 中国 = 'china'>>>print(中国)ch...

weixin_33923059的博客 1239

【python3 for beginner】python基础第二课

元组是一个固定长度,不可改变的Python序列。元组中包含了一系列的元素。print(a)a = (1, 2, 3) # 等价的定义形式print(a)(1, 2, 3)(1, 2, 3)a = 1, # 此时a是一个元组,注意逗号print(a)a = 1 # 此时a是一个整数print(a)a = () # 定义一个空的元组print(a)print(len(a)) # 我们用len函数来查看元组的元素个数(1,)1()0元组中的元素也可以是一个元组。

qq_42476938的博客 1102

python3 x和python2 x区别_Python3.x和Python2.x的区别

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习Python的friends.1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Gui...

weixin_39890517的博客 267

python3 x和python2 x区别_Python3.x和Python2.x的区别介绍

1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Guido认为Py3.0有极大的优化空间,在字符串和整形操作上可以取得很好的优化结果。Py3.1性能比Py2.5慢15%,还有很大的提升空间。2.编码Py3.X源码文件默认使用utf-8编码,这就使得以下代码是合法的:>>> 中国 = 'china'>>>print(中国)ch...

weixin_34377186的博客 201

python3 x和python2 x区别_Python3.x和Python2.x的区别(转存参考)

这个星期开始学习Python了,因为看的书都是基于Python2.x,而且我安装的是Python3.1,所以书上写的地方好多都不适用于Python3.1,特意在Google上search了一下3.x和2.x的区别。特此在自己的空间中记录一下,以备以后查找方便,也可以分享给想学习Python的friends.1.性能Py3.0运行 pystone benchmark的速度比Py2.5慢30%。Gui...

weixin_39908106的博客 228

python3 x完全兼容_Python3.X版本的代码完全兼容Python2.X。

【单选题】下列关于Python的说法,错误的是()。【多选题】走查特点 (10.0分)【简答题】【留言板 】【提交代码文件、数据库文件及录像】 (1) 数据库信息如下图所示。 (2) 实现PHP页面中对数据库进行增删查的操作,效果如视频 “BBS.wmv”。【填空题】时间常数τ是表征________的常数。【简答题】请将下列程序补充完整,并将源代码和运行结果截图提交。 要求:从键盘输入任意实数,请...

weixin_29619251的博客 5148
上一篇: 第一课:Python变量
下一篇: 第三课:条件分支与循环——if
初雪之路
博客等级 码龄14年 21粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值