Weibw's World Weibw's World
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Weibw

一个没有梦想的咸鱼
首页
  • HTML
  • Python

    • Python基础知识
    • Python CookBook第三版
    • Flask
  • MySQL

    • MySQL基础知识
    • MySQL调优
    • MySQL面试题
算法
  • FineReport
  • Kettle
  • Git
  • 微信公众号文章
  • 优秀博客文章
  • 其他
收藏夹
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 《Flask》

  • 《Python Cookbook》第三版

  • Python基础

    • Python概述
    • Python解析器
    • Python开发工具PyCharm
    • Python注释
    • PyCharm常用快捷键
    • Python中的变量
    • Python中变量的数据类型
    • 了解Python中的Bug
    • Python中的格式化输出
    • Python中的标准输入
    • Python数据类型转换
      • 1、使用Python实现超市的收银系统
      • 2、了解Python数据类型的转换方法
      • 3、总结
    • Python运算符
    • if选择判断结构
    • 三目运算符
  • Python
  • Python基础
weibw
2022-01-09

Python数据类型转换

# 1、使用Python实现超市的收银系统

name = input('请输入您要购买商品名称:')
id = input('请输入您要购买商品编号:')
price = input('请输入您要购买的商品价格:')

print(f'您购买了{name},商品编号为{id},商品价格为{price},欢迎下次光临!')
1
2
3
4
5

以上程序虽然可以按照上图完成程序的正常输出,但是遗留了一个非常严重的问题:这个价格price变量无法参与数学运算(如买了两个奥利奥,应该是18.5 * 2),原因在于input()方法返回的所有的结果都是str字符串类型。

怎么解决以上问题呢? 答:使用数据类型转换

# 2、了解Python数据类型的转换方法

函数 说明
int(x [,base ]) 将x转换为一个整数
float(x) 将x转换为一个浮点数
complex(real [,imag ]) 创建一个复数,real为实部,imag为虚部
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
chr(x) 将一个整数转换为一个Unicode字符
ord(x) 将一个字符转换为它的ASCII整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串
bin(x) 将一个整数转换为一个二进制字符串

案例1:把用户输入的幸运数字,转换为整型

num = input('请输入您的幸运数字:')
print(type(num))

# 数据类型转换,把str字符串类型转换为int类型
print('-' * 20)

num = int(num)
print(type(num))
1
2
3
4
5
6
7
8

以上代码还可以简写为:

num = int(input('请输入您的幸运数字:'))
print(type(num))
1
2

案例2:多种数据类型转换

# 1、整型转浮点类型 int => float
num1 = 10
print(float(num1))
print(type(float(num1)))

print('-' * 20)

# 2、浮点类型转换为整型 float => int,浮点转整型,其小数点后的数据会丢失!!!
num2 = 18.88
print(int(num2))

print('-' * 20)

# 3、把字符串类型转换为整型或浮点类型
str1 = '20'
str2 = '10.88'
print(type(int(str1)))
print(type(float(str2)))
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

案例3:eval()方法的使用,把字符串中的数字转换为原数据类型

price = input('请输入您购买商品的价格:')
print(eval(price))
print(type(eval(price)))
1
2
3

str1 = '10' 经过eval(str1) 转换为int类型

str2 = '10.88' 经过eval(str1) 转换为float类型

# 3、总结

数据类型转换方法一共学了4个方法:

  • int() :转整型

  • float() :转浮点类型

  • str() :转字符串类型

  • eval() :把字符串转换为原数据类型

注意

当float浮点类型转换为int整型时,其小数点后面的数据会丢失,一定要记住这个特性。

编辑 (opens new window)
上次更新: 2023/10/13, 17:39:25
Python中的标准输入
Python运算符

← Python中的标准输入 Python运算符→

最近更新
01
牛客网非技术快速入门SQL练习题
03-08
02
其他日常SQL题
03-07
03
用户与权限管理
03-05
更多文章>
Theme by Vdoing | Copyright © 2021-2023 | Weibw | 辽ICP备18015889号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式