python数据类型及转换

 一、数据类型

数据类型分为数值型、布尔型、字符串型等

1.1数值类型

数值类型可以分为整数类型、浮点数类型、复数类型

1.1.1整数类型

(1)概念:整数类型指数值是没有小数部分的,包含正整数、负整数和0

(2)进制种类:十进制--->234、56;

                 二进制--->由0b或0B开头--->由字符0或1组成,0b10101,0B10101;

                八进制--->0o或0O开头--->由字符0到7组成,0o763,0O765;

                十六进制--->0x或0X开头--->由字符0大片9,a到f或A到F组成,0x987A,0X987A

整数类型是python当中的不可变数据类型

示例:

#整数的四种表现形式
num=123#默认十进制表示整数
num2=0b101011#使用二进制表示整数
num3=0o23457#使用八进制表示整数
num4=0X3459Af9#使用十六进制表示整数
print(num)
print(num2)
print(num3)
print(num4)

结果:

1.1.2浮点型

(1)概念:浮点数类型表示带有小数点的数值,由整数部分和小数部分组成

(2)注意:两个浮点类型的数在进行运算时,有一定的概率运算结果后增加一些“不确定的”尾数

浮点类型是python当中的不可变数据类型

示例:

height=183.6
print(height)
print('height的数据类型时:',type(height))#type()查看变量的数据类型

x=10
y=10.0
print('x的数据类型时:',type(x))#int表整数
print('y的数据类型时:',type(y))#float表小数

x=1.99E14156
print('科学计数法:',x,'x的数据类型时:',type(x))

#不确定的尾数问题
print(0.1+0.2)
#使用round对结果保留一位小数
print(round(0.1+0.2,1))

结果:

1.1.3复数型

python中的复数与数学中的复数形式一致,由实部和虚部组成;

python中的实数部分用.real表示,虚数部分用.imag表示

x=123+345j
print('实数部分是:',x.real)
print('虚数部分是:',x.imag)

结果:

 1.2字符串类型

(1)概念:字符串类型是连续的字符序列,可以表示计算机所能识别的一切字符

(2)字符串的界定符:单引号、双引号、三引号

city='西安'
address="陕西省西安市"
print(city)
print(address)
#多行字符串
info='''
地址:陕西省西安市
电话:xxxxxxxxxxx
收件人:小梁
'''
info2='''
地址:陕西省西安市
电话:xxxxxxxxxxx
收件人:小梁
'''
print(info)
print('------------')
print(info2)

输出结果:

 

(3)转义字符:

转义字符描述说明
\n换行符
\t水平制表位,用于横向跳到下一个制表位
\''双引号
\'单引号
\\一个反斜杠

原字符:使转义字符失效的字符,r或R

print('陕西')
print('很棒')
print('-----------')
print('陕西\n很棒')#遇到\n即换行,可以连续换多行
print('陕\n西\n很\n棒')
print('--------------')
print('hello\toooo')
#从结果可以看到,\t空了三个位置,因为一个制表位是8个字符,hello占了三个字符,还剩下3个位置
print('hellooooo')
print('student\tttt')
print('studentttt')
print('--------------')
print('我说:\'小狗可爱\'')
print('我说:\"小狗可爱\"')
print('-------------')
#原字符:使转义字符失效的字符,r或R
print(r'陕\n西\n很\n棒')
print(R'陕\n西\n很\n棒')

输出结果:

字符串类型也是不可变数据类型

1.2.1索引和切片

  • 字符串又被称为有序的字符序列,对字符串中某个字符的检索成为索引;

  • 对字符串中某个子串或区间的检索成为切片

切片的语法结构:字符串或字符串变量[N:M]

#索引
a='HELLOWORLD'
print(a[0],a[-10],a[4],a[9],a[-1])#序号0和序号-10表示的是同一个字符
print('陕西很美'[3])
print('陕西很美'[-1])
print('-----------------')
#切片
print(a[2:7])#从2开始到7结束,不包含7,正向递增
print(a[-8:-3])#反向递减
print(a[:4])#默认N从0开始
print(a[5:])#默认M是切到字符串的末尾

输出结果:

 1.2.2常用的字符操作

  • x+y--->将字符串x和y连接起来
  • x*n或n*x--->复制n次字符串x
  • x in s--->如果x是s的字串,结果为True,否则结果为False
x='莲花楼'
y='好看'
print(x+y)#连接两个字符串
print(x*5)#对x这个字符串的内容复制10次
print(3*y)
print('莲花' in x)
print('荷花' in x)

输出结果:

 1.3布尔类型

(1)概念:用来 表示“真”或者“假”的数据类型

在python中使用标识符True或False表示布尔类型的值

True表示整数1;False表示整数0

x=True
print(x)
print(type(x))#bool表示布尔型
print(x+1)#True表示1
print(False+1)#False表示0

输出结果:

(2)布尔值为False的情况:

  • False或者是None
  • 数值中的0,包含0,0.0,虚数0
  • 空虚列,包含空字符串、空元组、空列表、空字典、空集合
  • 自定义对象的实例,该对象的__bool__()方法返回False或__len__()方法返回0
print('-----------')
print(bool(21))#测试整数21的布尔值
print(bool(0),bool(0.0))
#从结果知道,非零整数的布尔值位True
print('------------')
print(bool('莲花楼好看'))#True
print(bool(''))#False
#即所有非空字符串的布尔值都是True
print('------------')
print(bool(False))
print(bool(None))

输出结果:

 二、数据类型之间的转换

(1)隐式转换

比如,直接输出一个print(0.1+0.2)

(2)显示转换

函数

描述说明
Int(x)将x转换成整数类型
float(x)将x转换成浮点整数型
str(x)将x转成字符串
chr(x)将整数x转换成一个字符
ord(x)将一个字符x转换成其对应的整数值
hex(x)将一个整数x转换成一个十六进制字符串
oct(x)将一个整数x转换成一个八进制字符串
bin(x)将一个整数x转换成一个二进制字符串
x=10
y=3
z=x/y#在执行运算结果的时候,将运算结果赋值给z
print(z,type(z))#隐式转换,通过运算隐式的转了结果的类型,两个整数他的结果是浮点型
print('-------1------')
#将float类型转成int类型,只保留整数部分
print(int(2.12))
print(int(-2.12))
print(int(2.9))
print(int(-2.9))
print('-------2-----------')
#将int类型转成float类型
print(float(12))
print('------3--------')
#将str转成int类型
print(int('100')+int('200'))#字符串100转成整数型为整数100,字符串200转成整数型为整数200,运算后为300
print('-------4--------')
#将字符串转成int或float时报错的情况
#print(int('12q'))#报错,字符串12q不是一个整数类型`
#print(int('1.23'))#报错,字符串1.23不是一个整数类型
#print(float('12q.23'))#报错,q没有办法转

#chr() ord()
print(ord('梁'))#梁在unicode表中对应的数值是26753
print(chr(26753))#26753整数在unicode表中对于的字符是梁
print('---------5---------')
#进制之间的转换操作,十进制与其他进制之间的转换
print('十进制转成十六进制:',hex(23456))
print('十进制转成八进制:',oct(23456))
print('十进制转成二进制:',bin(23456))
print(type(hex(23456)))#所以转换之后的结果都是字符串类型

输出结果:

三、eval函数

(1)概念:

是python中的内置函数,用于去掉字符串最外侧的引号,并按照python语句方式执行去掉引号后的字符串

  • eval()函数经常和input()函数一起使用(它也是类型转换函数)

(2)eval的语法格式

变量=eval(字符串)

s='1.23+3'#s是字符串
print(s,type(s))
a=eval(s)#使用eval函数去掉s这个字符串中左右的引号,执行了加法运算
print(a,type(a))

#eval函数经常和input函数一起使用,用来获取用户输入的数值
age=eval(input('输入年龄:'))#将字符串类型转成int类型,相当于int(age)
print(age,type(age))
height=eval(input('输入身高:'))
print(height,type(height))
print('-------------')
hello='龙年大吉'
print(hello)#hello是变量名
print(eval('hello'))#eval去掉引号,变成hello,而hello是这段代码中的变量,变量的值是龙年大吉

输出结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/430949.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Lichee Pi 4A:RISC-V架构的开源硬件之旅

一、简介 Lichee Pi 4A是一款基于RISC-V指令集的强大Linux开发板,它凭借出色的性能和丰富的接口,吸引了众多开发者和爱好者的关注。这款开发板不仅适用于学习和研究RISC-V架构,还可以作为软路由、小型服务器或物联网设备的核心组件。 目录 一…

【pyinstaller打包记录】Linux系统打包可执行文件后,onnxruntime报警告(Init provider bridge failed)

简介 PyInstaller 是一个用于将 Python 程序打包成可执行文件(可执行程序)的工具。它能够将 Python 代码和其相关的依赖项(包括 Python 解释器、依赖的模块、库文件等)打包成一个独立的可执行文件,方便在不同环境中运行…

tomcat安装及jdk安装

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配…

Android 拍照本地图片选择框架适配

前言 通常技术方案的选择、会带来后续一些不可控的东西,这也是没法避免的,程序开发者中同时面对、测试、领导、产品各种要求。同时在网络上查找的资料也只是很旧的,不一定适合新设备,需要推倒重新弄 1、解决方案通过意图选择器做…

Git 远程仓库之Github

目前我们使用到的 Git 命令都是在本地执行,如果你想通过 Git 分享你的代码或者与其他开发人员合作。 你就需要将数据放到一台其他开发人员能够连接的服务器上。 目前最出名的代码托管平台是Github,我们将使用了 Github 作为远程仓库。 添加远程库 要添…

C#与VisionPro联合开发——单例模式

单例模式 单例模式是一种设计模式,用于确保类只有一个实例,并提供一个全局访问点来访问该实例。单例模式通常用于需要全局访问一个共享资源或状态的情况,以避免多个实例引入不必要的复杂性或资源浪费。 Form1 的代码展示 using System; usi…

关于V5版本的echarts的引导线标签文字存在描边问题

1.如果存在描边:(如图所示,炒鸡难受好吧,也不知道官方为什么这样初始化) 2.只需在series的label中配置color:#FFF即可

ES入门二:文档的基本操作

索引管理 创建索引 删除索引 文档管理 创建文档 如果有更新需求,使用第一种如果有唯一性校验,使用第二种如果需要系统给你创建文档Id,使用第三种 (这个性能更好) 相比第一种,第三种的写入效率更高&#xf…

2.00001《Postgresql内幕探索》走读 之 查询优化

文章目录 1.1 概述1.1.1 Parser1.1.2 分析仪/分析器1.1.3 Rewriter1.1.4 Planner和Executer 1.2 单表查询的成本估算1.2.1 顺序扫描1.2.2 索引扫描1.2.3 排序 1.3 .创建单表查询的计划树1.3.1 预处理1.3.2 获取最便宜的访问路径示例1示例二 1.3.3 创建计划树示例1例二 1.4 EXEC…

appium2的一些配置

appium-desktop不再维护之后,需要使用appium2。 1、安装appium2 命令行输入npm i -g appium。安装之后输入appium或者appium-server即可启动appium 2、安装安卓/ios的驱动 安卓:appium driver install uiautomator2 iOS:appium driver i…

《汇编语言》 第3版 (王爽)实验6解析

第7章 实验6解析 (1).编程,完成问题7.9中的程序。 问题7.9 编程,将datasg段中每个单词的前4个字母改为大写字母。 assume cs:codesg,ss:stacksg,ds:datasgstacksg segment ;开辟了栈段空间,容量为16个字节dw 0,0,0,0…

基于java springboot+redis网上水果超市商城设计和实现以及文档

基于java springbootredis网上水果超市商城设计和实现以及文档 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留…

Oracle 如何将txt文件中的数据导入数据库

使用文本导入器,可以将ASCII文件导入数据库。支持大多数面向行的格式,如逗号和制表符分隔的字段。导入程序将尝试自动确定文件格式,因此大多数时候您不会抰 需要定义任何内容,只需选择文件,选择一个表,然后…

爬虫案例二

第一步电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com)电影天堂_电影下载_高清首发 (dytt89.com)电影天堂_免费在线观看_迅雷电影下载_电影天堂网 (dytt28.com) 打开这个网站 我直接打开 requests.exceptions.SSLError: HTTPSConnectionPool(hostwww.dytt28.com…

聚观早报 | 2024款腾势D9将发布;岚图汽车2月销量

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月2日消息 2024款腾势D9将发布 岚图汽车2月销量 苹果Vision Pro防汗新专利 真我12 Pro正式开售 Redmi K70/Pro…

基于R语言和iris数据集实现随机森林模型及测试应用

基于R语言和iris数据集实现随机森林模型及测试应用 测试应用R代码 #加载随机森林模型库 > library("randomForest") #加载iris数据集 > data(iris) > head(iris)# 设置训练数据和标签 t_data <- iris[, -5] t_labels <- iris[, 5] # 训练随机森…

【Redis】Redis入门

文章目录 一、Redis简介二、Redis的特性三、Redis的使用场景四、Redis可以做什么五、Redis不可以做什么六、CentOS7安装Redis5七、Redis通用命令 一、Redis简介 Redis 是⼀种基于 键值对&#xff08;key-value&#xff09; 的NoSQL数据库&#xff0c;与很多键值对数据库不同的…

AI大模型或将改变世界格局,你准备好了吗?

AI大模型的出现将极大地改变世界格局。这一技术的发展已经迅猛&#xff0c;正在渗透到各个领域&#xff0c;成为推动社会进步的重要力量。AI大模型可以帮助人们解决各种难题&#xff0c;提高生产效率&#xff0c;改善生活质量。但与此同时&#xff0c;也存在着一些隐忧和挑战。…

(2024,LayerDiffusion,图层生成与混合,SD,LoRA)使用潜在透明度的透明图像层扩散

Transparent Image Layer Diffusion using Latent Transparency 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 2. 相关工作 2.1 将图像隐藏在扰动内 2.2 扩散概率模型和潜在…

功能强大使用简单的截图/贴图工具,PixPin

一、下载链接 PixPin 截图/贴图/长截图/文字识别/标注 | PixPin 截图/贴图/长截图/文字识别/标注 (pixpinapp.com) 二、功能 截图/贴图/长截图/文字识别/标注 三、安装教程 根据提示安装即可&#xff1a; 四、快捷键 1.软件自带快捷键&#xff08;右击PixPin查看 &#xff09…