文章目录
- 前言
- 一、print()函数详解
- 二、input()函数获取用户输入
- 三、文件读写基础操作
前言
print()函数与input()函数详解
一、print()函数详解
print()函数用于向标准输出(通常是屏幕)打印信息。
基本用法
pythonprint("Hello, World!")# 打印字符串print(100)# 打印数字print("结果是:",42)# 打印多个项目,默认用空格分隔关键参数控制
通过参数可以精细控制输出格式:
sep:指定多个项目之间的分隔符(默认是空格 " ")。
end:指定输出末尾的字符(默认是换行符 \n)。
pythonprint("2023","10","27",sep="-")# 输出:2023-10-27print("Hello",end=" ")# 末尾不换行,改为空格print("World!")# 输出:Hello World!(在同一行)格式化输出(三种主流方法)
这是将变量值按特定格式嵌入字符串的核心技能。
| 方法 | 语法示例 | 特点与适用场景 |
|---|---|---|
| f-string | (Python 3.6+) print(f"…{变量}…") | 现代首选,直观高效,可在{}内直接写表达式。 |
| str.format() | print(“…{}…”.format(变量)) | 灵活强大,Python 2/3通用,支持位置和关键字参数。 |
| % 格式化(旧式) | print(“…%s…” % 变量) | 源自C语言,现已不推荐在新代码中使用。 |
f-string示例(最推荐):
python name="Alice"age=25score=95.5# 直接嵌入变量print(f"{name}今年{age}岁。")# Alice今年25岁。# 在{}内进行简单运算或调用方法print(f"{name.upper()}的分数是{score+5}")# ALICE的分数是100.5# 控制数字格式:.2f表示保留两位小数print(f"平均分:{score:.2f}")# 平均分:95.50str.format()示例(作为备选):pythonprint("{0}喜欢{1}。".format("小明","编程"))# 小明喜欢编程。(按位置)print("{name}的成绩是{score}分。".format(name="小红",score=90))# 按关键字二、input()函数获取用户输入
input()函数从标准输入(通常是键盘)读取一行文本,永远返回字符串类型。
基本用法
python name=input("请输入你的名字:")# 提示信息可选print(f"你好,{name}!")运行以上代码,程序会等待用户输入,输入内容(如张三)会作为字符串赋给变量name。
获取数字输入(需要类型转换)
python# 错误示范:直接进行数学运算age_str=input("请输入你的年龄:")# next_year = age_str + 1 # 错误!字符串不能与数字相加# 正确做法:转换为整数age_int=int(input("请输入你的年龄:"))next_year=age_int+1print(f"明年你就{next_year}岁了。")输入安全提示
对于数字转换,用户可能输入非数字字符,这会导致程序崩溃(ValueError)。在实际项目中,需要使用try…except进行异常处理来确保健壮性。
三、文件读写基础操作
在Python中,操作文件的流程遵循“打开 -> 操作(读/写)-> 关闭”的模式。
- 打开文件:open()函数
pythonfile=open('filename.txt','mode',encoding='utf-8')文件名:可以是相对或绝对路径。
模式:决定文件如何被使用。
编码:处理中文等文本时,通常指定encoding=‘utf-8’。
- 常用文件模式:
| 模式 | 含义 | 文件不存在时 |
|---|---|---|
| ‘r’ | 只读(默认) | 报错 (FileNotFoundError) |
| ‘w’ | 写入(覆盖) | 创建新文件 |
| ‘a’ | 追加 | 创建新文件 |
| ‘x’ | 创建并写入 | 文件已存在则报错 |
| ‘b’ | 二进制模式,需与其他模式组合,如 ‘rb’, ‘wb’ | 读取文件内容 |
python# 方法1:read() 读取全部内容withopen('example.txt','r',encoding='utf-8')asf:content=f.read()# 整个文件内容作为一个字符串print(content)# 方法2:readline() 逐行读取withopen('example.txt','r',encoding='utf-8')asf:line=f.readline()# 每次读取一行whileline:print(line,end='')# 行尾本身有换行符,所以end=''避免重复line=f.readline()# 方法3(最常用):readlines() 或 直接迭代文件对象withopen('example.txt','r',encoding='utf-8')asf:# lines = f.readlines() # 返回由所有行组成的列表forlineinf:# 直接遍历文件对象,内存高效print(line.strip())# .strip()去掉行首尾的空白字符(包括换行符)- 写入文件内容
python# 写入模式 'w' (注意:会清空原文件!)withopen('output.txt','w',encoding='utf-8')asf:f.write("第一行内容。\n")f.write("第二行内容。\n")# 追加模式 'a'withopen('output.txt','a',encoding='utf-8')asf:f.write("这是追加的内容。")使用 with 语句(最佳实践)
如上面所有示例所示,with open(…) as f: 是处理文件的标准方式。
优势:它会自动管理文件的关闭,即使在读写过程中发生异常,也能确保文件被正确关闭,避免资源泄露。
等价于:
python f=open('file.txt','r')try:# 操作文件data=f.read()finally:f.close()# 确保无论如何都会执行关闭