python数据类型及转换

news2024/9/24 17:21:29

 一、数据类型

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

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是这段代码中的变量,变量的值是龙年大吉

输出结果:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于Java并发多线程的一点思考

写在开头 在过去的2023年双11活动中,天猫的累计访问人次达到了8亿,京东超60个品牌销售破10亿,直播观看人数3.0亿人次,订单支付频率1分钟之内可达百万级峰值,这样的瞬间高并发活动,给服务端带来的冲击可想而…

如何利用会话式AI提升你的工作效率?

会话式AI如何改变我们的生活和工作 在当今时代,内容策略的重要性日渐凸显,良好的内容策略能够与流量及转化率紧密相连,成为企业在内容策略领域不容忽视的营销工具之一。 然而,目前内容同质化现象严重,企业若想在内容营…

爬虫入门到精通_实战篇11(使用代理处理反爬抓取微信文章)_PyQuery使用

1 目标 搜狗-微信这个网址来爬取微信的文章: ps:登录后才能查看第10页之后的内容: 量翻页触发了网站的反爬虫措施,导致ip被封,需要进行解锁。 然而从doc中可以看到,请求失败的那页(状态码应…

vs2022 qt 关于lnk2001和2019同时报错的问题

需要像qt中添加模块,这里,缺少qtopenglwidgets模块

向上生长笔记

第一章 成为一个很厉害的人(持续输入,反复练习) 为什么要学习及如何学习 1、自毁趋势(熵增),故需要能量输入(负熵流) //引申:水往低处流是趋势,学习是逆趋势。 2、持续输入能量(物质和信息),…

C++ 根据公式计算椭圆任意点到中心的距离

#include <iostream> using namespace std;double fact(int x) //定义阶乘函数。注意是double类型 {double y x; //注意是double类型for (int i x-1; i > 0; i--)y * i;return y; };double My_sin(int x) //定义sin函数。注意是double类型 {double y 0; //注意是do…

SPI总线知识总结

1 SPI的时钟极性CPOL和时钟相位CPHA的设置 1.1 SPI数据传输位数 SPI传输数据过程中总是先发送或接收高字节数据&#xff0c;每个时钟周期接收器或发送器左移一位数据。对于小于16位的数据&#xff0c;在发送前必须左对齐&#xff0c;如果接收的数据小于16位&#xff0c;则采用软…

wordpress模板官网

移民wordpress主题 移民代办wordpress主题&#xff0c;适合做海外移民咨询的代理公司搭建wordpress企业官方网站使用。 https://www.jianzhanpress.com/?p5130 夏令营wordpress主题 绿色夏令营wordpress主题&#xff0c;适合做夏令营或户外拓展的公司搭建wordpress官方网站…

Go 与 Rust:导航编程语言景观

在当今构建软件时&#xff0c;开发者在编程语言上有着丰富的选择。两种脱颖而出的语言是 Go 和 Rust - 都很强大但却截然不同。本文将从各种因素比较这两种语言&#xff0c;以帮助您确定哪种更适合您的需求。 我们将权衡它们在并发、安全性、速度、互操作性等方面的方法。我们将…

【Redis】Redis入门

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

Win UI3开发笔记(四)设置主题续2

本机深色主题下设置的背景颜色可以作用于整个对话框&#xff0c;本机浅色模式下设置的背景颜色只作用与下边的部分。 如果本机选深色&#xff0c;程序选浅色&#xff0c;设置为light只对上部分管用&#xff0c;下部分不管用。如图&#xff0c;左边那个hello按钮要看不见了。。…

Mac版2024 CleanMyMac X 4.14.6 核心功能详解

CleanMyMac 是 macOS 上久负盛名的系统清理工具&#xff0c;2018 年&#xff0c;里程碑式版本 CleanMyMac X 正式发布。不仅仅是命名上的变化&#xff0c;焕然一新的 UI、流畅的动画也让它显得更加精致。新增的系统优化、软件更新等功能&#xff0c;使得在日常使用 macOS 时有了…

力扣hot100:15.三数之和(双指针/哈希表)

分析&#xff1a; 三数和问题&#xff0c;这里和两数之和不一样&#xff0c;返回的是值&#xff0c;因此可以对其进行排序&#xff0c;使用双指针。 一、一层循环双指针 class Solution { public:vector<vector<int>> threeSum(vector<int>& nums) {sort…

react-beautiful-dnd组件报Unable to find draggable with id

一、问题现象 项目中使用react-beautiful-dnd组件实现可拖拽,但拖了1次后可能会出现拖拽异常(元素拖不动),打开控制台会发现有报错 二、解决方案 给Draggable组件和其下方的div添加了key就正常了,以下是我自己简单写的一个demo,可供参考 import {useState } from reac…

代码随想录算法训练营第32天—贪心算法06 | ● *738.单调递增的数字 ● *968.监控二叉树 ● 总结

*738.单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0%E5%AD%97.html 考点 贪心算法 我的思路 暴力解法 视频讲解关键点总结 几个关键点一&#xff0c;如果当前数位小于上一数位&#xff0c;如87&#xff0c;则应直…

redis06 redis事务

思维草图 redis事务认识 redis事务是一个单独的隔离操作&#xff0c;事务中的所有命令都会序列化、按顺序地执行&#xff0c;事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。 redis事务的主要作用就是串联多个命令防止别的命令插队。 Multi、Exec、…

AWS 认证报名考试流程

AWS认证的考试包括&#xff0c;可以申请线上或者线下考试。 考试类型 线上&#xff1a; 优点&#xff1a;方便快捷无需通勤&#xff0c;随时约随时考&#xff0c;基本上每天都可以 缺点&#xff1a;对环境要求较高&#xff0c;屋子里只能有自己&#xff0c;而且不能有其他声音…

【Linux】Linux C编程

gcc编译器 gcc [options] [filenames] 其中&#xff0c;options是编译器所需要的选项参数&#xff0c;filenames是文件名。 gcc编译过程 C语言编译过程一般可以分为预处理、编译、汇编、链接四个步骤。 1.预处理阶段 预处理阶段主要处理宏定义和include&#xff0c;并进行语…

腾轩科技传媒讲解企业怎样做整合营销推广才有效果

当今信息爆炸的时代&#xff0c;企业如何才能从浩渺的市场中脱颖而出&#xff0c;触达目标消费者&#xff0c;实现品牌与销售的双增长&#xff1f;腾轩科技传媒讲解的整合营销推广正是解决这一问题的关键所在。它不仅仅是一种营销策略&#xff0c;更是一种全新的思维方式&#…

全面分析vcruntime140_1.dll无法继续执行代码的处理方法,3分钟修复vcruntime140_1.dll

如果系统弹出一个错误警告&#xff0c;指出“vcruntime140_1.dll无法继续执行代码”&#xff0c;这通常意味着您的Windows系统中缺失了一个关键的文件&#xff0c;或者该文件已损坏。​vcruntime140_1.dll​是随Visual C Redistributable for Visual Studio 2015, 2017和2019提…