# 基础打印 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)