【Python】从基础到进阶(二):了解Python语言基础以及数据类型转换、基础输入输出
文章目录
- 一、引言
- 二、基本数据类型转换
- 1. 隐式转换
- 2. 显式转换
- 三、基本输入输出
- 1. 输入(input)
- 2. 输出(print)
- 3. 案例:输入姓名、年龄、身高以及体重,计算BMI指数。
- 4. 使用 `pprint()` 函数输出
- 四、总结
- 1. 数据类型转换
- 2. 基本输入输出操作
一、引言
在上一篇文章 【Python】从基础到进阶(一):了解Python语言基础以及变量的相关知识 中,我们介绍了Python编程的基本概念、语法以及如何定义和使用变量。这为我们理解和编写Python代码奠定了坚实的基础。
在本篇文章中,我们将继续探讨Python语言的核心基础,重点关注数据类型转换和基础输入输出操作。这些知识对于编写功能丰富、交互性强的Python程序至关重要。数据类型转换使我们能够在不同类型的数据之间进行转换,从而实现更多的计算和操作。而输入输出操作则是我们与用户进行信息交互的基本手段。
通过阅读本篇文章,您将学会:
- 理解并应用数据类型转换方法
- 实现用户输入和程序输出的基本操作
- 使用Python编写简单的交互式程序
让我们从Python语言的基础知识开始,逐步深入到数据类型转换和基础输入输出的具体内容,继续我们的Python学习之旅。
二、基本数据类型转换
在编写Python程序时,数据类型转换是一个常见且重要的操作。数据类型转换分为隐式转换和显式转换。了解如何在不同数据类型之间进行转换可以提高代码的灵活性和可维护性。
1. 隐式转换
隐式转换是指Python在需要时自动进行的数据类型转换。通常发生在混合类型的运算中。例如,将整数和浮点数相加时,Python会自动将整数转换为浮点数:
x = 10 # 整数 y = 3.5 # 浮点数 result = x + y print(result) # 输出 13.5,x 被隐式转换为浮点数
2. 显式转换
显式转换是通过使用内置函数手动进行的数据类型转换。以下是一些常用的显式转换方法及其使用详情:
函数 作用 示例 int(x) 将 x 转换成整数类型 int('123') 将字符串 '123' 转换为整数 123 float(x) 将 x 转换成浮点数类型 float('123.45') 将字符串 '123.45' 转换为浮点数 123.45 str(x) 将 x 转换为字符串 str(123) 将整数 123 转换为字符串 '123' bool(x) 将 x 转换为布尔值 bool(0) 将整数 0 转换为布尔值 False list(x) 将 x 转换为列表 list((1, 2, 3)) 将元组 (1, 2, 3) 转换为列表 [1, 2, 3] tuple(x) 将 x 转换为元组 tuple([1, 2, 3]) 将列表 [1, 2, 3] 转换为元组 (1, 2, 3) set(x) 将 x 转换为集合 set([1, 2, 2, 3]) 将列表 [1, 2, 2, 3] 转换为集合 {1, 2, 3} dict(x) 将 x 转换为字典 dict([('a', 1), ('b', 2)]) 将列表 [('a', 1), ('b', 2)] 转换为字典 {'a': 1, 'b': 2} frozenset(x) 将 x 转换为冻结集合(不可变集合) frozenset([1, 2, 2, 3]) 将列表 [1, 2, 2, 3] 转换为冻结集合 frozenset({1, 2, 3}) complex(real [,imag]) 创建一个复数 complex(1, 2) 创建一个复数 1+2j repr(x) 将 x 转换为表达式字符串 repr(123) 将整数 123 转换为表达式字符串 '123' eval(str) 计算在字符串中的有效 Python 表达式,并返回一个对象 eval('3 + 4') 计算字符串 '3 + 4' 中的表达式并返回 7 chr(x) 将整数 x 转换为一个字符 chr(97) 将整数 97 转换为字符 'a' ord(x) 将一个字符 x 转换为它对应的整数值 ord('a') 将字符 'a' 转换为整数 97 hex(x) 将一个整数 x 转换为一个十六进制的字符串 hex(255) 将整数 255 转换为十六进制字符串 '0xff' oct(x) 将一个整数 x 转换为一个八进制的字符串 oct(8) 将整数 8 转换为八进制字符串 '0o10' bin(x) 将一个整数 x 转换为一个二进制的字符串 bin(10) 将整数 10 转换为二进制字符串 '0b1010' 使用 int()
将其他数据类型转换为整数。浮点数将被截断,小数部分会被移除;字符串必须包含有效的整数表示:
a = 3.7 b = int(a) print(b) # 输出 3 c = "10" d = int(c) print(d) # 输出 10 e = "a123" f = int(e) print(f) # 报错
使用 float()
将其他数据类型转换为浮点数。整数将被转换为对应的浮点数,字符串必须包含有效的浮点数表示:
a = 3 b = float(a) print(b) # 输出 3.0 c = "3.14" d = float(c) print(d) # 输出 3.14
使用 str()
将其他数据类型转换为字符串。可以用于任何数据类型:
a = 10 b = str(a) print(b) # 输出 "10" c = 3.14 d = str(c) print(d) # 输出 "3.14"
使用 bool()
将其他数据类型转换为布尔值。非零数值、非空字符串和非空数据结构(如列表、元组、字典等)都将被转换为 True,零数值、空字符串和空数据结构将被转换为 False:
a = 0 print(bool(a)) # 输出 False b = 1 print(bool(b)) # 输出 True c = "" print(bool(c)) # 输出 False d = "Hello" print(bool(d)) # 输出 True
使用 list()
将其他可迭代对象(如字符串、元组等)转换为列表:
a = "hello" b = list(a) print(b) # 输出 ['h', 'e', 'l', 'l', 'o'] c = (1, 2, 3) d = list(c) print(d) # 输出 [1, 2, 3]
使用 tuple()
将其他可迭代对象(如字符串、列表等)转换为元组:
a = "hello" b = tuple(a) print(b) # 输出 ('h', 'e', 'l', 'l', 'o') c = [1, 2, 3] d = tuple(c) print(d) # 输出 (1, 2, 3)
使用 set()
将其他可迭代对象(如字符串、列表等)转换为集合,集合中的元素是唯一的:
a = "hello" b = set(a) print(b) # 输出 {'h', 'e', 'l', 'o'} c = [1, 2, 2, 3] d = set(c) print(d) # 输出 {1, 2, 3}
使用 dict()
将其他可迭代对象(如键值对的列表)转换为字典:
a = [('a', 1), ('b', 2)] b = dict(a) print(b) # 输出 {'a': 1, 'b': 2} c = (('x', 3), ('y', 4)) d = dict(c) print(d) # 输出 {'x': 3, 'y': 4}
使用 frozenset()
将其他可迭代对象(如字符串、列表等)转换为冻结集合,冻结集合是不可变的:
a = "hello" b = frozenset(a) print(b) # 输出 frozenset({'h', 'e', 'l', 'o'}) c = [1, 2, 2, 3] d = frozenset(c) print(d) # 输出 frozenset({1, 2, 3})
使用 complex()
创建一个复数,实部和虚部都可以是整数或浮点数:
a = 1 b = 2 c = complex(a, b) print(c) # 输出 (1+2j) d = complex(1.5, 2.5) print(d) # 输出 (1.5+2.5j)
使用 repr()
将对象转换为表达式字符串,通常用于调试和开发:
a = 123 b = repr(a) print(b) # 输出 '123' c = [1, 2, 3] d = repr(c) print(d) # 输出 '[1, 2, 3]'
使用 eval()
计算字符串中的有效 Python 表达式,并返回一个对象:
a = '3 + 4' b = eval(a) print(b) # 输出 7 c = '["a", "b", "c"]' d = eval(c) print(d) # 输出 ['a', 'b', 'c']
使用 chr()
将整数转换为对应的字符:
a = 97 b = chr(a) print(b) # 输出 'a' c = 65 d = chr(c) print(d) # 输出 'A'
使用 ord()
将字符转换为对应的整数值:
a = 'a' b = ord(a) print(b) # 输出 97 c = 'A' d = ord(c) print(d) # 输出 65
使用 hex()
将整数转换为十六进制字符串:
a = 255 b = hex(a) print(b) # 输出 '0xff' c = 16 d = hex(c) print(d) # 输出 '0x10'
使用 oct()
将整数转换为八进制字符串:
a = 8 b = oct(a) print(b) # 输出 '0o10' c = 64 d = oct(c) print(d) # 输出 '0o100'
使用 bin()
将整数转换为二进制字符串:
a = 10 b = bin(a) print(b) # 输出 '0b1010' c = 255 d = bin(c) print(d) # 输出 '0b11111111'
通过掌握这些数据类型转换方法,您可以灵活地处理不同类型的数据,确保程序能够正确地执行各种操作。在接下来的章节中,我们将探讨如何进行基础输入和输出操作,以进一步增强程序的交互性。
三、基本输入输出
在 Python 中,输入和输出是基本的操作。以下是一些常用的输入输出方法:
1. 输入(input)
input() 函数用于获取用户的输入,输入的数据类型为字符串。可以通过在括号中添加提示信息来提示用户输入:
name = input("请输入你的名字: ") print("你好, " + name)
在这个示例中,程序会等待用户输入名字,并输出一条包含该名字的问候语。
2. 输出(print)
print() 函数用于将数据输出到控制台。可以输出多个值,并且可以使用不同的方式格式化输出内容:
# 输出单个值 print("Hello, World!") # 输出多个值 print("你好", "世界") # 使用 f-string 格式化输出 name = "Alice" age = 30 print(f"名字: {name}, 年龄: {age}") # 使用 format() 方法格式化输出 print("名字: {}, 年龄: {}".format(name, age)) # 使用百分号格式化输出 print("名字: %s, 年龄: %d" % (name, age))
3. 案例:输入姓名、年龄、身高以及体重,计算BMI指数。
variable = input("请输入你的名字:") print("你好", variable) age = input("请输入你的年龄:") print("你今年", age, "岁了") height = float(input("请输入你的身高(单位:米):")) weight = float(input("请输入你的体重(单位:公斤):")) bmi = weight / height ** 2 print("你的BMI指数为:", bmi) if bmi