Python高频内置函数用法:print、input与列表操作代码演示
print() 的参数控制、交互式输入函数 input() 的类型转换机制,以及针对列表(List)的高频内置操作与方法,配合可直接运行的代码示例梳理实际开发中的使用要点与防坑边界。
一、终端输出与格式定制:print() 函数
print() 负责将数据转换为字符串并输出到标准输出流(通常是终端或命令行窗口)。初学者常将其简单用于打印单一变量,但通过控制其内置参数,可以省去大量手动拼接字符串的代码。
1. 核心控制参数:sep 与 end
print() 默认会在多个打印项之间自动插入空格,并在整行末尾添加换行符 \n。这两个行为分别由关键字参数 sep(分隔符)和 end(结束符)控制。
# 默认行为:以空格分隔,输出后自动换行
print("2026", "10", "06")
# 定制 sep:使用特定字符连接输出内容
print("2026", "10", "06", sep="-")
# 定制 end:输出后不换行,保持在同一行继续打印
print("正在载入数据", end="...")
print("完成")
2026 10 06
2026-10-06
正在载入数据...完成
2. 格式化输出的最佳实践:f-string
在较老版本的代码中常看到 % 操作符或 str.format(),现代Python规范推荐直接使用格式化字符串字面值(f-string)。它不仅书写直观,执行性能也更高。
task_id = 1042
status = "运行中"
cpu_usage = 45.678
# 使用 f-string 嵌入变量并控制浮点数精度
print(f"任务编号: {task_id} | 当前状态: {status} | CPU: {cpu_usage:.1f}%")
任务编号: 1042 | 当前状态: 运行中 | CPU: 45.7%
二、交互式终端获取:input() 函数与类型转换
input() 用于暂停程序执行并等待用户在终端键入内容。按下回车后,输入的文本将被读取并返回给变量。
1. 关键事实:返回值恒为字符串(str)
无论在终端中输入的是纯数字、布尔词还是符合JSON格式的文本,input() 接收到的原始数据类型永远是 str。如果不经转换直接用于算术计算,将导致类型错误或逻辑偏差。
2. 安全的数值类型转换代码
当需要将输入用于数值计算时,应通过 int() 或 float() 显式转换。为防止用户输入非数值字符导致程序崩溃,通常结合 try-except 结构保障鲁棒性。
raw_input = input("请输入商品单价: ")
try:
price = float(raw_input)
total = price * 0.9 # 打九折
print(f"折后价格为: {total:.2f}")
except ValueError:
print(f"输入格式错误:无法将 '{raw_input}' 识别为有效数值。")
input() 会保留用户输入的首尾空格。如果处理用户名或编码类文本,建议配合 strip() 方法消除无意键入的空格,例如 username = input("用户名: ").strip()。
三、核心列表(List)高频操作与内置函数
列表是Python中最通用的有序序列。与列表配合使用的工具分为两类:一是Python的**通用全局内置函数**(如 len(), sum(), sorted()),二是列表对象专属的**内置方法**(如 append(), sort())。明确两者的区别是避免语法错误的基础。
1. 统计与聚合内置函数:len、sum、max、min
这些函数接受列表作为参数,能够快速提取列表的规模和分布特征:
scores = [85, 92, 78, 64, 99]
print("总考生数:", len(scores))
print("总成绩:", sum(scores))
print("最高分:", max(scores))
print("最低分:", min(scores))
# 计算平均分
average_score = sum(scores) / len(scores)
print(f"平均分: {average_score:.2f}")
总考生数: 5
总成绩: 418
最高分: 99
最低分: 64
平均分: 83.60
2. 增删改查高频方法演示
操作列表时,最常见的误区是混淆 append() 和 extend(),以及误以为原地操作方法会返回新的列表。
# 初始化测试列表
devices = ["Switch", "Router"]
# 1. append: 将元素作为一个整体追加到末尾
devices.append("Server")
print("append 后:", devices)
# 2. extend: 遍历新序列,将所有元素平铺合并进去
devices.extend(["Firewall", "AP"])
print("extend 后:", devices)
# 3. pop: 移除指定索引元素(默认末尾)并返回该元素
removed_item = devices.pop()
print(f"移除项: {removed_item}, 剩余列表: {devices}")
append 后: ['Switch', 'Router', 'Server']
extend 后: ['Switch', 'Router', 'Server', 'Firewall', 'AP']
移除项: AP, 剩余列表: ['Switch', 'Router', 'Server', 'Firewall']
3. 原地排序 sort() 与只读排序 sorted() 的关键差异
初学者常写出 my_list = my_list.sort() 这样的错误代码,导致原列表直接变为 None。
list.sort():是列表的方法,直接就地修改原列表,其返回值是None。sorted(list):是内置全局函数,不改变原列表,而是创建并返回一个全新的排序后列表。
data = [5, 2, 9, 1]
# 方式一:sorted() 返回新列表,原数据不变
sorted_copy = sorted(data)
print("sorted_copy:", sorted_copy)
print("原 data 依然保持:", data)
# 方式二:sort() 原地修改
data.sort(reverse=True) # 降序排序
print("调用 data.sort(reverse=True) 后的原列表:", data)
sorted_copy: [1, 2, 5, 9]
原 data 依然保持: [5, 2, 9, 1]
调用 data.sort(reverse=True) 后的原列表: [9, 5, 2, 1]
四、综合实践:输入、汇总与列表处理的完整闭环
下面是一个综合示例,展示如何将 input() 的交互输入与类型转换、列表的动态追加、以及内置计算与格式化 print() 串联为一个小型实用工作流。
def collect_and_analyze():
records = []
print("=== 记录录入系统(输入 'q' 结束录入并生成分析) ===")
while True:
user_val = input("请输入度量数据: ").strip()
# 退出分支
if user_val.lower() == 'q':
break
# 校验并归集
try:
val = float(user_val)
records.append(val)
except ValueError:
print(f"无效输入 [{user_val}],请重新输入数值。")
# 统计展示分支
if not records:
print("未录入任何有效数据,程序退出。")
return
# 使用内置函数聚合分析
total_count = len(records)
total_val = sum(records)
avg_val = total_val / total_count
sorted_records = sorted(records)
print("\n" + "=" * 25 + " 统计结果 " + "=" * 25)
print(f"有效数据条数: {total_count}")
print(f"数值总和: {total_val:.2f}", f"平均值: {avg_val:.2f}", sep=" | ")
print(f"最小值: {min(records)}", f"最大值: {max(records)}", sep=" | ")
print("升序排列明细:", sorted_records)
if __name__ == "__main__":
collect_and_analyze()
五、常见错误排查与编码习惯清单
在实际编写上述基础逻辑时,容易遇到以下典型问题:
- 赋值 None 陷阱:牢记
list.sort()和list.reverse()是原地修改,执行result = my_list.sort()会导致result变成None。如果需要保留结果变量,应使用result = sorted(my_list)。 - 隐匿的类型混淆:从
input()拿到的纯数字文本通过+操作会导致字符串拼接而非加法。例如"10" + "20"结果是"1020"。在执行任何算术前务必显式调用int()或float()。 - 单元素元组/列表解构:
append()会将整个参数作为单个元素存入;如果向列表追加另一个列表中的每一项,应使用extend()或+=语法。
掌握 print() 的输出定制、input() 的类型生命周期,以及正确区分列表的原地方法与只读内置函数,能够为后续编写更复杂的自动化处理、数据分析和接口调用脚本打下扎实可靠的代码根基。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









