python print 技巧

1、print 终端打印带颜色

1.1 实现原理

  • 终端的字符颜色是用转义序列控制的,是文本模式下的系统显示功能,和具体的语言无关。
  • 转义序列是以ESC开头,即用\033来完成(ESC的ASCII码用十进制表示是27,用八进制表示就是033)。

1.2 标准格式

\033[显示方式;前景色;背景色m + 结尾部分:\033[0m

解释:

  1. 开头部分的三个参数:显示方式,前景色,背景色是可选参数,可以只写其中的某一个;
  2. 由于表示三个参数不同含义的数值都是唯一的没有重复的,所以三个参数的书写先后顺序没有固定要求,系统都能识别;
  3. 建议按照默认的格式规范书写。
  4. 对于结尾部分,其实也可以省略,但是为了书写规范,建议\033[***开头,\033[0m结尾。

数值表示的含义:

  • 显示方式: 0(默认\)、1(高亮)、22(非粗体)、4(下划线)、24(非下划线)、 5(闪烁)、25(非闪烁)、7(反显)、27(非反显)
  • 前景色: 30(黑色)、31(红色)、32(绿色)、 33(黄色)、34(蓝色)、35(洋 红)、36(青色)、37(白色)
  • 背景色: 40(黑色)、41(红色)、42(绿色)、 43(黄色)、44(蓝色)、45(洋 红)、46(青色)、47(白色)

1.3 测试案例

def prRed(skk): print("\033[91m {}\033[00m" .format(skk))
def prGreen(skk): print("\033[92m {}\033[00m" .format(skk))
def prYellow(skk): print("\033[93m {}\033[00m" .format(skk))
def prBlue(skk): print("\033[94m {}\033[00m" .format(skk))
def prPurple(skk): print("\033[95m {}\033[00m" .format(skk))
def prCyan(skk): print("\033[96m {}\033[00m" .format(skk))
def prWrite(skk): print("\033[97m {}\033[00m" .format(skk))
prCyan("Hello World, ")
prYellow("It's")
prGreen("Geeks")
prRed("For")
prGreen("Geeks")

2、print 小技巧

2.1 %r

一会儿是%s,一会儿是%d,麻烦,有没有一个万能的?

import math
print("pi = %r" % math.pi)
output: pi = 3.141592653589793
print("pi = %r" % int(math.pi))
output: pi = 3
print("pi = %r" % str(math.pi))
output: pi = '3.141592653589793'

2.2 format

扩展 输出的时候,还可以用一个名曰:format的东西

#将format后面的内容以此填充
input: print "My name is {0} and I am  {1}".format("xiaoma",20)     
output: My name is xiaoma and I am  20

#{}里面相当于一个变量
input: print "My name is {name}".format(name="xiaoma")    
output: My name is xiaoma

2.3 多变量分割符

  • print() 函数输出多个变量时,print() 函数默认以空格隔开多个变量,如果读者希望改变默认的分隔符,可通过 sep 参数进行设置。
user_name = 'Charlie'
user_age = 8
#同时输出多个变量和字符串,指定分隔符
print("读者名:" ,user_name,"年龄:",user_age,sep='|')
output: 读者名:|Charlie|年龄:|8

2.4 函数输出默认换行

  • print() 函数输出之后总会换行,这是因为 print() 函数的 end 参数的默认值是“\n”,这个“\n”就代表了换行。
  • 如果希望 print() 函数输出之后不会换行,则重设 end 参数即可,例如如下代码:
#设置end 参数,指定输出之后不再换行
print(40,'\t',end="")
print(5O,'\t',end="")
print(60,'\t',end="")
output: 40 50 60

2.5 print 指定输出到文件

  • file 参数指定 print() 函数的输出目标,file 参数的默认值为 sys.stdout,该默认值代表了系统标准输出,也就是屏幕,因此 print() 函数默认输出到屏幕。
  • 实际上,完全可以通过改变该参数让 print() 函数输出到特定文件中,例如如下代码:
f = open("demo.txt","w")#打开文件以便写入
print('沧海月明珠有泪',file=f)
print('蓝回日暖玉生烟',file=f)
f.close()
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值