Day 2 N06 Python 的数据类型,数字类型的相互转换笔记

一、Python 的数据类型

Python 是一种动态类型语言,提供了多种数据类型来存储和操作数据。以下是 Python 中常见的数据类型:

(一)数字类型

  • 整数(int):表示没有小数部分的数值,如 123
  • 浮点数(float):表示有小数部分的数值,如 1.234.567.0
  • 复数(complex):表示复数,由实部和虚部组成,如 3+4j

(二)序列类型

  • 字符串(str):表示文本数据,如 "hello"'world'
  • 列表(list):表示有序的元素集合,可以包含不同类型的元素,如 [1, 2, "three"]
  • 元组(tuple):表示不可变的有序元素集合,如 (1, 2, "three")

(三)集合类型

  • 集合(set):表示无序且不重复的元素集合,如 {1, 2, 3}
  • 字典(dict):表示键值对的集合,键必须是不可变类型,如 {"name": "Alice", "age": 25}

(四)布尔类型

  • 布尔值(bool):表示逻辑值,只有两个值:TrueFalse

二、数字类型及其相互转换

(一)整数(int)

整数是没有小数部分的数值,可以是正数、负数或零。

创建整数

x = 10
y = -20
z = 0

(二)浮点数(float)

浮点数是有小数部分的数值,可以是正数、负数或零。

创建浮点数

a = 3.14
b = -2.718
c = 0.0

(三)复数(complex)

复数由实部和虚部组成,虚部用 j 表示。

创建复数

d = 3 + 4j
e = -2 - 5j
f = 0 + 0j

(四)数字类型的相互转换

Python 提供了内置函数来实现不同数字类型之间的转换。

整数转浮点数

x = 10
y = float(x)
print(y)  # 输出:10.0

浮点数转整数

a = 3.14
b = int(a)
print(b)  # 输出:3

整数转复数

x = 10
y = complex(x)
print(y)  # 输出:(10+0j)

浮点数转复数

a = 3.14
b = complex(a)
print(b)  # 输出:(3.14+0j)

复数转整数或浮点数

复数不能直接转换为整数或浮点数,因为复数包含实部和虚部。如果需要转换,可以分别提取实部和虚部。

d = 3 + 4j
real_part = int(d.real)
imag_part = int(d.imag)
print(real_part)  # 输出:3
print(imag_part)  # 输出:4

三、应用案例解读

(一)计算圆的面积

假设我们需要计算圆的面积,圆的半径是一个整数,但计算面积时需要使用浮点数。

import math

radius = 5  # 半径是整数
area = math.pi * float(radius) ** 2  # 将半径转换为浮点数进行计算
print("圆的面积是:", area)

(二)处理用户输入

用户输入的数据通常是字符串类型,如果需要进行数学运算,需要将其转换为数字类型。

user_input = input("请输入一个数字:")
number = int(user_input)  # 将用户输入的字符串转换为整数
print("你输入的数字加 10 是:", number + 10)

四、注意事项

(一)浮点数的精度问题

浮点数在计算机中是以二进制形式存储的,因此可能会出现精度问题。例如:

a = 0.1 + 0.2
print(a)  # 输出:0.30000000000000004

这是由于浮点数的二进制表示无法精确表示某些十进制小数。如果需要高精度的浮点数运算,可以使用 decimal 模块。

(二)类型转换的错误

如果尝试将无法转换的字符串转换为数字类型,会报错。例如:

user_input = "abc"
number = int(user_input)  # 会报错,因为 "abc" 无法转换为整数

为了避免错误,可以使用 try-except 块来捕获异常。

user_input = input("请输入一个数字:")
try:
    number = int(user_input)
    print("你输入的数字加 10 是:", number + 10)
except ValueError:
    print("输入无效,请输入一个数字。")

(三)复数的特殊性

复数包含实部和虚部,不能直接转换为整数或浮点数。如果需要提取实部或虚部,可以使用 .real.imag 属性。

通过以上内容,我们可以更好地理解和使用 Python 的数据类型以及数字类型之间的相互转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值