Python交互编程第一步:掌握input与print

Python交互编程第一步:掌握input与print

在编程中,我们经常需要让程序与用户进行交互:获取用户提供的信息(输入),并将处理结果或信息展示给用户(输出)。Python 提供了简单易用的内置函数来实现这些功能,其中最基础、最常用的就是 input()print()。本文将带你了解这两个函数的基本用法。


一、获取用户输入:input() 函数

1.1 input()输入函数

input() 函数是 Python 用来从用户那里接收信息的主要工具。

    1. 屏幕上会显示 请输入你的名字:;
    2. 用户输入名字(例如 小明)并按 Enter;
    3. 程序将输入的名字存储在变量 user_name 中;
    4. 然后执行 print 语句,输出 你好, 小明!
  • 提示信息:input() 函数可以接收一个字符串作为参数,这个字符串会作为提示信息显示给用户,告诉用户需要输入什么内容。例如 input("请输入你的年龄:")

返回值类型:非常重要的一点:无论用户输入的是数字、字母还是符号,input() 函数总是将其作为字符串返回。例如,用户输入 18input() 得到的是字符串 "18",而不是整数 18

age_str = input("请输入你的年龄:") print(type(age_str)) # 输出: <class 'str'>, 表明 age_str 是字符串类型 

基本用法: 调用 input() 函数时,程序会暂停运行,等待用户在命令行(或控制台)中输入内容。用户输入完毕后按下 Enter 键,input() 函数会将用户输入的内容作为字符串返回。

user_name = input("请输入你的名字:") # 提示用户输入名字 print("你好,", user_name + "!") # 输出问候语

运行这段代码:

1.2 python数据类型

类别数据类型描述可变性示例
数字类型int整数类型,可以是正数、负数或零不可变x = 10
float浮点数类型,包含小数部分不可变y = 3.14
complex复数类型,包含实部和虚部不可变z = 2 + 3j
序列类型str字符串类型,由字符序列组成不可变s = "Hello"
list列表,有序的可变序列可变lst = [1, 2, 3]
tuple元组,有序的不可变序列不可变tup = (1, 2, 3)
range范围类型,表示不可变的数字序列不可变r = range(5)
映射类型dict字典,键值对集合可变d = {"a": 1, "b": 2}
集合类型set集合,无序的不重复元素集合可变s = {1, 2, 3}
frozenset冻结集合,不可变的集合类型不可变fs = frozenset([1, 2, 3])
布尔类型bool布尔值,True或False不可变flag = True
二进制类型bytes字节序列,不可变的字节数组不可变b = b"hello"
bytearray字节数组,可变的字节序列可变ba = bytearray(b"hello")
memoryview内存视图,允许访问其他二进制对象的内部数据可变mv = memoryview(b"hello")
空类型NoneType表示空值或没有值不可变x = None

(关于Python数据类型的详细说明,可以参考文章Python数据类型全解析:从基础到实战)。


二、向屏幕输出信息:print() 函数

print() 函数是 Python 用来将信息输出到屏幕(标准输出)的主要方式。

  • 格式化输出: 为了让输出更美观、更符合特定格式,Python 提供了多种格式化字符串的方法:
  • 控制换行:print() 函数默认在输出内容的末尾添加一个换行符 \n,导致下一次 print 的输出会显示在新的一行。
    • 使用 \n 可以在字符串内部强制换行。

如果不想换行,可以在 print() 函数中设置 end 参数。例如 end="" 表示以空字符串结尾(即不换行)。

print("Hello",) print("World!") # 输出:Hello World! (在同一行) 

f-string (推荐,Python 3.6+): 在字符串前加 fF,在字符串内部用 {变量名}{表达式} 直接嵌入变量或表达式。

print(f"姓名:{name}, 年龄:{age}") print(f"明年年龄:{age + 1}") 

f-string 是最简洁、可读性最高的方式。

str.format()方法:

print("姓名:{}, 年龄:{}".format(name, age)) 

% 操作符 (旧式,但仍有使用):

print("姓名:%s, 年龄:%d" % (name, age)) # %s 字符串, %d 整数 

连接字符串: 使用 + 运算符可以将多个字符串连接起来输出。注意,如果想把数字和字符串连接,需要先将数字转换为字符串 str()

print("你的名字是:" + name) # 输出:你的名字是:小李 # print("年龄:" + age) # 这样会报错,因为 age 是整数 print("年龄:" + str(age)) # 正确:先将 age 转为字符串再连接 

输出多个值:print() 可以一次输出多个值,用逗号 , 分隔。默认情况下,这些值会用一个空格分隔开。

name = "小李" age = 25 print("姓名:", name, "年龄:", age) # 输出:姓名: 小李 年龄: 25 

基本用法: 你可以将想要显示的内容(字符串、数字、变量等)放在 print() 函数的括号内。

print("Hello, World!") # 输出字符串 print(42) # 输出数字 

(关于Python运算符的详细说明,可以参考文章Python运算符:30字掌握精髓

关于Python运算符的详细说明,可以参考文章Python转义字符全攻略)。


结语

input()print() 是 Python 程序与外界进行简单交互的基石。掌握了它们,你就可以编写能接收用户指令并反馈结果的程序了。记住:

  • input() 用于获取用户输入,返回字符串
  • 必要时使用 int()float() 转换输入类型;
  • print() 用于输出信息,支持多种格式和输出控制;
  • 多动手实践,尝试修改示例代码,感受它们的工作原理!

希望这篇文章能帮助你顺利迈出 Python 交互编程的第一步!

Read more

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

摘要:本文聚焦OpenClaw从测试环境走向生产环境的核心痛点,围绕“性能优化、安全加固、监控运维”三大维度展开实操讲解。先明确生产环境硬件/系统选型标准,再通过硬件层资源管控、模型调度策略、缓存优化等手段提升响应速度(实测响应效率提升50%+);接着从网络、权限、数据三层构建安全防护体系,集成火山引擎安全方案拦截高危操作;最后落地TenacitOS可视化监控与Prometheus告警体系,配套完整故障排查清单和虚拟实战案例。全文所有配置、代码均经实测验证,兼顾新手入门实操性和进阶读者的生产级部署需求,帮助开发者真正实现OpenClaw从“能用”到“放心用”的跨越。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性能优化】 【Java生产级避坑指南:

By Ne0inhk
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》 ❄专栏传送门: 《freertos专栏》《STM32 HAL库专栏》 ⭐️流水不争先,争的是滔滔不绝  📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生 | 省级优秀毕业生获得者 | ZEEKLOG新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生 在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连 目录 前言  一、实验基础说明 1.1、互斥体简介 1.2 本次实验设计思路 二、硬件原理分析(看过之前博客的可以忽略) 三、实验程序编写 3.1 互斥体 LED 驱动代码(mutex.c) 3.2.1、设备结构体定义(28-39

By Ne0inhk
Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 后端工程师扔给你一个 Swagger (OpenAPI) 文档地址,你会怎么做? 1. 对着文档,手写 Dart Model 类(容易写错字段类型)。 2. 手写 Retrofit/Dio 的 API 接口定义(容易拼错 URL)。 3. 当后端修改了字段名,你对着报错修半天。 这是重复劳动的地狱。 swagger_dart_code_generator 可以将 Swagger (JSON/YAML) 文件直接转换为高质量的 Dart 代码,包括: * Model 类:支持 json_serializable,带 fromJson/

By Ne0inhk
Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

文章目录 * 前言 * make/makefile * 文件的三个时间 * Linux第一个小程序-进度条 * 回车和换行 * 缓冲区 * 程序的代码展示 * git指令 * 关于gitee * Linux调试器-gdb使用 * 作业部分 前言 做 Linux 开发时,你是不是也遇到过这些 “卡脖子” 时刻?写 makefile 时,明明语法没错却报错,最后发现是依赖方法行没加 Tab;想提交代码到 gitee,记不清 git add/commit/push 的 “三板斧”,还得反复搜教程;用 gdb 调试程序,输了命令没反应,才想起编译时没加-g生成 debug 版本;甚至连写个进度条,都搞不懂\r和\n的区别,导致进度条乱跳…… 其实这些问题,

By Ne0inhk