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

输出结果:

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

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

相关文章

【网站项目】139选课排课系统

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

Redis 群集

简介 在现在的互联网大潮中,NoSQL可谓家喻户晓,Redis作为NoSOL大军中极其重要的一员,是我们走向架构道路的一条必经之路。 Redis介绍 Redis 数据库是一个非关系型数据库,在正式学习Redis之前,我们先来了解关系型数据库…

算法沉淀——动态规划之完全背包问题(leetcode真题剖析)

算法沉淀——动态规划之完全背包问题 01.【模板】完全背包02.零钱兑换03.零钱兑换 II04.完全平方数 完全背包问题是背包问题的一种变体,与01背包问题不同,它允许你对每种物品进行多次选择。具体来说,给定一个固定容量的背包,一组物…

TCPDump 使用教程

每次服务器网络不通的时候,总会听到一个声音,你去抓包啊,那这里就来介绍下TCPDump,一款强大的网络分析工具,可以捕获网络上的数据包,并进行分析。这款工具在网络管理员和安全专家中非常受欢迎。 一、安装 …

防火墙:网络防御的第一道防线

目录 引言 一、安全技术与防火墙 (一)安全技术 (二)防火墙的主要功能与分类 1.防火墙的主要功能 2.防火墙的分类 二、Linux防火墙的基本认识 (一)Netfilter (二)防火墙工具…

单调队列(347. 前 K 个高频元素239. 滑动窗口最大值)

单调队列和单调栈其实差不多,就是维护一个区间单调的队列或者是栈,单调队列就是我们所说的大顶堆小顶堆, //升序队列 小顶堆 great 小到大 priority_queue <int,vector<int>,greater<int> > pri_que; //降序队列 大顶堆 less 大到小 默认 priority_qu…

【AI视野·今日NLP 自然语言处理论文速览 第八十一期】Mon, 4 Mar 2024

AI视野今日CS.NLP 自然语言处理论文速览 Mon, 4 Mar 2024 Totally 48 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Computation and Language Papers Mitigating Reversal Curse via Semantic-aware Permutation Training Authors Qingyan Guo, Rui Wang, Junlia…

Fisher矩阵与自然梯度法

文章目录 Fisher矩阵及自然梯度法Fisher矩阵自然梯度法总结参考链接 Fisher矩阵及自然梯度法 自然梯度法相比传统的梯度下降法具有以下优势&#xff1a; 更好的适应性&#xff1a;自然梯度法通过引入黎曼流形上的梯度概念&#xff0c;能够更好地适应参数空间的几何结构。这使…

LCR 134. Pow(x, n)

解题思路&#xff1a; 分治 快速幂 Java中向下取整n/2即可 需要结合下图理解&#xff0c;算法就是实现的该过程 class Solution {public double myPow(double x, int n) {if(x 0.0f) return 0.0d;long b n;double res 1.0;//例如:2^-5(1/2)^5if(b < 0) {x 1 / x;b -b…

【Python】Python教师/学生信息管理系统 [简易版] (源码)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

京东商品优惠券API获取商品到手价

item_get_app-获得JD商品详情原数据 公共参数 请求地址: jd/item_get_app 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,i…

MATLAB环境下基于区域椭圆拟合的细胞分割方法

使用图像分割技术可以找到图像中的目标区域&#xff0c;目标区域可以定义为具有特定值的单个区域&#xff0c;也可以定义为具有相同值的多个区域。目前图像分割已经融入到生活中的方方面面&#xff0c;在遥感领域&#xff0c;它应用于航拍图中的地形、地貌的分割&#xff1b;在…

智慧城市的创新实践:全球案例分享

一、引言 在全球化和数字化的时代&#xff0c;智慧城市已经成为城市发展的前沿趋势。智慧城市运用先进的信息技术&#xff0c;如大数据、物联网、云计算和人工智能等&#xff0c;提升城市管理的智能化水平&#xff0c;增强公共服务效率&#xff0c;优化居民生活质量。本文将通…

第四十九回 吴学究双掌连环计 宋公明三打祝家庄-Python与HTTP服务交互

吴用请戴宗从梁山请来铁面孔目裴宣、圣手书生萧让、通臂猿侯健、玉臂匠金大坚来帮忙。又告诫扈家庄的扈成&#xff0c;打起来不要去帮祝家庄。 孙立把旗号改成“登州兵马提辖孙立”&#xff0c;来祝家庄找峦廷玉&#xff0c;被热情接待。 第三天&#xff0c;宋江派小李广花荣…

Qt+FFmpeg+opengl从零制作视频播放器-1.项目介绍

1.简介 学习音视频开发&#xff0c;首先从做一款播放器开始是比较合理的&#xff0c;每一章节&#xff0c;我都会将源码贴在最后&#xff0c;此专栏你将学习到以下内容&#xff1a; 1&#xff09;音视频的解封装、解码&#xff1b; 2&#xff09;Qtopengl如何渲染视频&#…

Docker实战——容器

目录 Docker 容器的基本概念与操作1.使用“docker create”创建容器。这里基于Nginx的镜像创建了一个容器&#xff0c;名字为mycontainer。2.使用“docker ps -a”命令查看所有的容器&#xff0c;这时的容器不一定是运行状态。3.使用 “docker start” 命令可以启动容器。4.使用…

优化zabbix对Docker API的监控

启用Zabbix Agent 2对Docker API的监控&#xff0c;通常不需要直接编辑/etc/zabbix/zabbix_agent2.d/下的文件&#xff0c;因为针对Docker容器的监控是通过内建的插件实现的。以下是大致步骤&#xff1a; 确认Agent版本与配置&#xff1a; 确保你安装的是支持Docker监控的Zabbi…

JMeter正则表达式提取器和JSON提取器基础用法,小白必会!

【面试突击班】1. 性能测试主要关注哪些指标&#xff1f; 最近在利用JMeter做接口自动化测试&#xff0c;正则表达式提取器和JSON提取器用的还挺多&#xff0c;想着分享下&#xff0c;希望对大家的接口自动化测试项目有所启发。 在 JMeter 中&#xff0c;正则表达式和 JSON 提…

探索Ubuntu命令行:常见问题与解决方案

一、引言 Ubuntu&#xff0c;作为一款流行的Linux发行版&#xff0c;其命令行界面&#xff08;CLI&#xff09;为用户提供了丰富的功能和灵活性。然而&#xff0c;对于新手来说&#xff0c;命令行可能会带来一些挑战。本文将探讨一些在使用Ubuntu命令行时可能遇到的问题及其解决…

C语言内存优化实用指南

一、引言 在C语言编程中&#xff0c;内存管理是一项至关重要的任务。有效的内存优化可以提升程序的性能&#xff0c;减少资源消耗&#xff0c;并防止可能出现的内存泄漏和溢出问题。以下是一些关于C语言内存优化的实用指南。 二、理解内存管理 在C语言中&#xff0c;程序员需…