134 lines
3.6 KiB
Python
134 lines
3.6 KiB
Python
# 基础打印
|
|
print("Hello Word")
|
|
print(100)
|
|
print(3.14)
|
|
print(True)
|
|
|
|
|
|
# 多个值
|
|
# 会自动用空格分开
|
|
name = "小明"
|
|
age = 18
|
|
print(name, age) # 小明 18
|
|
|
|
# print 参数
|
|
# 1. sep 分隔符
|
|
# sep 参数可以将多个输出对象用指定分隔符进行分割,默认情况下,print使用的是空格
|
|
print("小明", 18, sep=",") # 小明,18
|
|
print("年", "月", "日", sep="-") # 年-月-日
|
|
print("Hello", "World", sep="") # HelloWorld 无分割
|
|
print("Python", "Java", "javascript", sep="|") # Python|Java|javascript
|
|
|
|
# 2.end 结束符
|
|
# 用于指定输出结尾的字符,默认值是换行(\n)
|
|
print("第一行")
|
|
print("第二行")
|
|
print("Hello", end=" ")
|
|
print("World", end="!") # Hello World!
|
|
print()
|
|
print("加载中", end="")
|
|
print("....", end="") # 加载中....
|
|
|
|
print()
|
|
# 组合使用sep和end
|
|
print("苹果", "香蕉", "西瓜", sep=", ", end="都是水果") # 苹果, 香蕉, 西瓜都是水果
|
|
|
|
print()
|
|
print("姓名", "年龄", "城市", sep="|", end="\n----\n")
|
|
print("张三", 25, "北京", sep="|")
|
|
# 姓名|年龄|城市
|
|
# ----
|
|
# 张三|25|北京
|
|
|
|
# 3. file 输出到文件
|
|
# file 参数用于指定输出文件目标,默认是sys.stdout(标准输出,屏幕)。可以将输出重定向到文件或者标准错误流。
|
|
with open("optput.txt", "w", encoding="utf-8") as f:
|
|
print("这是写入的文件的内容", file=f)
|
|
print("这是第二行内容", file=f)
|
|
|
|
# 输出到标准错误
|
|
import sys
|
|
|
|
print("这是一个错误信息", file=sys.stderr)
|
|
|
|
# 输出到多个目标
|
|
with open("log.txt", "w", encoding="utf-8") as fs:
|
|
msg = "重要信息"
|
|
print(msg) # 输出到屏幕
|
|
print(msg, file=fs) # 输出到log.txt
|
|
|
|
|
|
# 4 flush 强制舒心缓冲区
|
|
# flush 参数用于控制输出缓冲区的刷新行为。默认是False,输出内容先存储在缓冲区中,系统决定合适显示。设置为True时,内容会立即展示
|
|
import time
|
|
|
|
# print("开始", end="")
|
|
# time.sleep(2)
|
|
# print("结束")
|
|
|
|
# 使用flush
|
|
# print("开始", end="", flush=True)
|
|
# time.sleep(2)
|
|
# print("结束")
|
|
|
|
# print("下载中", end="", flush=True)
|
|
# for i in range(5):
|
|
# time.sleep(0.5)
|
|
# print(".", end="", flush=True)
|
|
# print("完成")
|
|
|
|
|
|
# 格式化输出
|
|
# 1. f{} 在字符串前加上f,通过{}包裹变量或者表达式
|
|
name = "Bob"
|
|
age = 20
|
|
sorce = 98.88
|
|
print(f"姓名{name},年龄{20},成绩{100}")
|
|
|
|
# 表达式计算
|
|
print(f"年龄{age+1}")
|
|
print(f"分数翻倍{sorce*2}")
|
|
|
|
# 数字格式换(会四舍五入)
|
|
print(f"分数保留1位小数{sorce:.1f}") # 98.8
|
|
print(f"分数保留2位小数{sorce:.2f}") # 98.82
|
|
|
|
# 对齐
|
|
print(f"{name:>10}") # 右对齐,宽度是10 Bob
|
|
print(f"{name:<10}") # 左对齐,宽度是10 Bob
|
|
print(f"{name:^10}") # 居中对齐
|
|
|
|
# 进制转换
|
|
num = 255
|
|
print(
|
|
f"十进制{num},十六进制{num:x},二进制{num:b}"
|
|
) # 十进制255,十六进制ff,二进制11111111
|
|
|
|
# 2. format() 方法
|
|
# format方法是python3中常用的字符串格式化的方式,兼容性比较好
|
|
name = "Bob"
|
|
age = 30
|
|
sorce = 90.52
|
|
# 按顺序填充
|
|
print("姓名{},年龄{},成绩{}".format(name, age, sorce))
|
|
# 按指定索引填充
|
|
print("姓名{2},年龄{0},成绩{1}".format(age, sorce, name))
|
|
# 使用关键字填充
|
|
print("姓名{n},年龄{a},成绩{s}".format(n=name, a=age, s=sorce))
|
|
# 数字格式化
|
|
print("保留一位小数{:.1f}".format(sorce))
|
|
# 对齐和填充
|
|
print("{:<10}{:>10}".format(name, age))
|
|
|
|
# 3. % 传统格式化
|
|
# % 格式化是Pyhon早期格式化字符串的方式,目前仍在使用,但不推荐
|
|
name = "Bob"
|
|
age = 30
|
|
sorce = 90.52
|
|
print("姓名:%s,年龄:%d,分数:%.2f" % (name, age, sorce))
|
|
# %s 字符串
|
|
# %d 整数
|
|
# %f 浮点数
|
|
# %.2f 保留两位小数
|
|
print(0b1010 + 0o12 + 0xA)
|