Python高频内置函数用法:print、input与列表操作代码演示

Mia
Mia
发布时间:2026-10-11 | 3人浏览过
原创
在Python编写日常脚本或处理业务数据时,与终端交互的输入输出函数以及操作有序集合的列表函数是使用频率最高的基础工具。本文直接聚焦于三个核心部分:标准输出函数 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
正在载入数据...完成
Python高频内置函数用法:print、input与列表操作代码演示
图1:print() 函数关键控制参数在格式化输出中的作用机制

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。如果不经转换直接用于算术计算,将导致类型错误或逻辑偏差。

Python高频内置函数用法:print、input与列表操作代码演示
图2:input() 输入数据的类型约束与显式类型转换流程

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())。明确两者的区别是避免语法错误的基础。

Python高频内置函数用法:print、input与列表操作代码演示
图3:全局内置函数与列表专属方法在内存修改行为上的区别

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() 串联为一个小型实用工作流。

Python高频内置函数用法:print、input与列表操作代码演示
图4:从输入接收、校验存储到统计输出的完整业务逻辑步骤
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() 的类型生命周期,以及正确区分列表的原地方法与只读内置函数,能够为后续编写更复杂的自动化处理、数据分析和接口调用脚本打下扎实可靠的代码根基。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表