当前位置: 首页 > article >正文

Python学习——【1.2】数据类型、数据类型转换

文章目录

  • 【1.2】数据类型、数据类型转换
    • 一、数据类型
      • (一)使用type()查看数据类型
      • (二)变量无类型而数据有类型
    • 二、数据类型的转换
      • (一)为什么要转换类型
      • (二)常见的转换语句

【1.2】数据类型、数据类型转换

一、数据类型

(一)使用type()查看数据类型

数据类型

  在学习字面量的时候,我们了解到:数据是有类型的。

  目前在入门阶段,我们主要接触如下三类数据类型:string(字符串类型)、int(整型)、float(浮点型)。

type()语句

  我们可以通过type()语句来得到数据的类型,语法:

  type(被查看类型的数据)

# 字面量数据
print(type("你好"))
print(type("666"))
print(type(13.14))

# 变量数据
name = "张三"
name_type = type(name)
print(name_type)

输出结果如下:

<class 'str'>
<class 'str'>
<class 'float'>
<class 'str'>

(二)变量无类型而数据有类型

变量有类型吗?

  我们通过type(变量)可以输出类型,这是查看“变量的类型”还是“数据的类型”?

  本质上来说,它查看的是:变量存储的数据的类型。

  变量无类型,但是变量存储的数据有类型。

如何理解:

  比如有一个箱子,箱子里面放入足球,那它就是足球箱子;箱子里面放入篮球,那它就是篮球箱子。——但是,箱子是足球、篮球吗?

  同理,我们有一个变量a,把字符串赋值给a,那它就是字符串类型;把整数赋值给a,那它就是整数类型。我们说的类型也是a中所存储的数据的类型,而非变量a自身的类型。但是在实际中,我们会说“a = "zhangsan",a是字符串变量”,但是从本质上讲,它指的其实不是“变量a是字符串”,而是“变量a存储了字符串”。

  总之,记住这个结论:在Python中,变量是没有类型的,但是变量存储的数据是有类型的

二、数据类型的转换

(一)为什么要转换类型

  数据类型之间,在特定的场景下,是可以相互转换的,如字符串转数字、数字转字符串等,我们为什么要转换它们呢?

  数据类型转换,将会是我们以后经常使用的功能,如:

  • 从文件中读取的数字,默认是字符串,我们需要转换成数字类型;
  • 后续学习的input()语句,默认结果是字符串,若需要数字也要转换;
  • 将数字转换成字符串用以写到外部系统;
  • 等等。

(二)常见的转换语句

语句(函数)说明
int(x)将x转换为一个整数
float(x)将x转换为一个浮点数
str(x)将对象x转换为字符串

注意:

  同之前学习的type()语句一样,这三个语句,都是带有结果的(有返回值的)。我们可以用print()直接输出,也可以用变量存储结果值。

字符串与数字转换示例

# 将数字类型转换成字符串
num_str = str(11)
print(type(num_str), num_str)

float_str = str(11.345)
print(type(float_str), float_str)

# 将字符串转换成数字
num = int("11")
print(type(num), num)

num2 = float("11.345")
print(type(num2), num2)

输出结果如下:

<class 'str'> 11
<class 'str'> 11.345
<class 'int'> 11
<class 'float'> 11.345

注意:

  万物皆可转字符串,因为字符串无非就是给中文/英文数字/符号……添加上一对双引号,所以无脑转即可。

  但是反过来,字符串转其他类型,则必须保证字符串的内容是合法的、能转的。

# 错误示例,想要将字符串转换成数字,必须要求字符串里的内容是数字
num3 = int("Hello")
print(type(num3), num3)

整型与浮点型转换示例

# 整数转浮点数
float_num = float(11)
print(type(float_num), float_num)

# 浮点数转整数
int_num = int(11.345)
print(type(int_num), int_num)

输出结果如下:

<class 'float'> 11.0
<class 'int'> 11

注意:

  整数转浮点数,转换后的浮点数会带小数点。如11转换得到11.0

  浮点数转整数,是可以转换的,但转换后小数部分精度丢失,即小数点及小数点后的数据直接丢掉。(注意,并不是四舍五入)


http://www.kler.cn/a/306084.html

相关文章:

  • 机器学习基础02_特征工程
  • 科技云报到:数字化转型,从不确定性到确定性的关键路径
  • PYNQ 框架 - 中断(INTR)驱动
  • c#使用COM接口设置excel单元格宽高匹配图片,如何计算?
  • RAFT: Recurrent All-Pairs Field Transforms for Optical Flow用于光流估计的循环全对场变换
  • 【机器学习】平均绝对误差(MAE:Mean Absolute Error)
  • yjs04——matplotlib的使用(多个坐标图)
  • Java网络编程 TCP通信(Socket 与 ServerSocket)
  • (批处理)设置延时+设置关机倒计时
  • Flink CEP(复杂事件处理)高级进阶
  • 【大数据方案】智慧大数据平台总体建设方案书(word原件)
  • 应用层协议HTTP介绍
  • 【自主搭建博客网站 第一篇章】前情提要
  • ??Ansible——ad-hoc
  • 修改 HTTP 和 HTTPS 代理设置为 `http://127.0.0.1:8118
  • 【Android Studio】API 29(即Android 10)或更高版本,在程序启动时检查相机权限,并在未获取该权限时请求它
  • AI学习指南深度学习篇-Adam的基本原理
  • 计算机三级 - 数据库技术 - 第十三章 大规模数据库架构 笔记
  • 速通LLaMA1:《LLaMA: Open and Efficient Foundation Language Models》全文解读
  • ARM驱动学习之9注册字符类设备
  • Robot Operating System——带有时间戳和坐标系信息的线速度和角速度
  • 51单片机+proteus+(DS1302+DS18B20)
  • css选择器有几种?选择器的优先级是怎样的?
  • [网络][CISCO]Cisco-PIX配置详解
  • Leetcode 3290. Maximum Multiplication Score
  • 通过C# 裁剪PDF页面