Python 基础知识:类型检测与类型转换
作者:野牛程序员:2025-12-22 10:33:47python阅读 2031
Python 基础知识:类型检测与类型转换
# /*
# Python 基础知识:类型检测与类型转换
# --------------------------------------------------------
# 功能:
# 1) 展示如何检测变量类型(type / isinstance)
# 2) 演示常见类型之间的转换规则
# 3) 展示 int / float / str / bool 的典型转换行为
# 4) 特别说明转换失败的情况及安全用法
# */
# ========================================
print("示例一:使用 type() 检测类型")
a = 123
b = 3.14
c = "hello"
d = True
print("a 的类型:", type(a))
print("b 的类型:", type(b))
print("c 的类型:", type(c))
print("d 的类型:", type(d))
print("-" * 40)
# ========================================
print("示例二:使用 isinstance() 判断类型")
num = 100
print("num 是否为 int 类型:", isinstance(num, int))
print("num 是否为 float 类型:", isinstance(num, float))
print("-" * 40)
# ========================================
print("示例三:整数与浮点数转换")
x = 12.75
print("float → int:", int(x)) # 去掉小数部分,不四舍五入
y = 15
print("int → float:", float(y))
print("-" * 40)
# ========================================
print("示例四:字符串与数字类型转换")
s1 = "123"
print("字符串 → 整数:", int(s1))
s2 = "3.14"
print("字符串 → 浮点数:", float(s2))
# 无法转换的情况
s3 = "hello"
try:
print(int(s3))
except ValueError:
print("无法将 'hello' 转为数字")
print("-" * 40)
# ========================================
print("示例五:字符串与布尔类型转换")
print("bool('hello') =", bool("hello")) # 非空字符串 → True
print("bool('') =", bool("")) # 空字符串 → False
print("-" * 40)
# ========================================
print("示例六:数字与布尔类型转换")
print("bool(1) =", bool(1)) # 非零数字 → True
print("bool(0) =", bool(0)) # 零 → False
print("int(True) =", int(True)) # True → 1
print("int(False) =", int(False)) # False → 0
print("-" * 40)
# ========================================
print("示例七:任意对象转换为字符串")
lst = [1, 2, 3]
print("列表 → 字符串:", str(lst))
dic = {"a": 1, "b": 2}
print("字典 → 字符串:", str(dic))
print("-" * 40)
# ========================================
print("示例八:安全的类型转换流程")
text = "256"
if text.isdigit(): # 确认全部为数字
print("安全转换结果:", int(text))
else:
print("包含非数字字符,不能安全转换")
# ========================================
# 要点总结:
# 1) type(obj) 返回对象的确切类型;
# 2) isinstance(obj, class) 用于判断对象是否属于某类型,推荐用于类型检查;
# 3) int() / float() / str() / bool() 是最常用的类型转换函数;
# 4) 字符串转换成数字时内容必须合法,否则会抛出 ValueError;
# 5) bool() 的规则:空值类对象为 False,其他为 True;
# 6) 类型转换常用于输入处理、数据清洗、格式化输出等场景。
# */
# 示例一:使用 type() 检测类型
# a 的类型: <class 'int'>
# b 的类型: <class 'float'>
# c 的类型: <class 'str'>
# d 的类型: <class 'bool'>
# ----------------------------------------
# 示例二:使用 isinstance() 判断类型
# num 是否为 int 类型: True
# num 是否为 float 类型: False
# ----------------------------------------
# 示例三:整数与浮点数转换
# float → int: 12
# int → float: 15.0
# ----------------------------------------
# 示例四:字符串与数字类型转换
# 字符串 → 整数: 123
# 字符串 → 浮点数: 3.14
# 无法将 'hello' 转为数字
# ----------------------------------------
# 示例五:字符串与布尔类型转换
# bool('hello') = True
# bool('') = False
# ----------------------------------------
# 示例六:数字与布尔类型转换
# bool(1) = True
# bool(0) = False
# int(True) = 1
# int(False) = 0
# ----------------------------------------
# 示例七:任意对象转换为字符串
# 列表 → 字符串: [1, 2, 3]
# 字典 → 字符串: {'a': 1, 'b': 2}
# ----------------------------------------
# 示例八:安全的类型转换流程
# 安全转换结果: 256野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

