• Python中print()打印如何不换行?



    Python中print()打印如何不换行

    print() 函数用于打印输出,是python中最常见的一个内置函数。

    如何在Python中打印两个或多个变量、语句时而不进入新行?
    因为python中函数有一个预定义的格式,如果使用print(a_variable)默认会换行

    print("输出结果:")
    print("None")
    
    • 1
    • 2

    运行后的结果为:

    输出结果:
    None
    
    • 1
    • 2

    但是有时我们不想转到下一行,在python2 和python3 中使用不同方法可以实现。

    python2.x

    python2.x 中,print 后面的参数可以不用括号括起来,如果要输出不换行,只需要在输出的内容后面加一个逗号,举例输出“123”:

    print '123'  #输出自动换行
    print '123', #输出不会自动换行
    
    • 1
    • 2

    print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一个关键字

    python3.x

    python3.x 中,print后面的参数必须放在括号里,如果要输出不换行,继续使用输出"123" ,需要用下面的格式:

    print ('123',end='')#输出不会自动换行
    
    • 1

    print()函数语法

    print()函数的形式是:

    print(*objects, sep=' ', end='\n', file=sys.stdout,flush=False)
    
    • 1

    将 “objects” 打印输出至 “file参数” 指定的文本流,以 "sep 参数"分隔开并在末尾加上 “end参数”。 “sep” 、 "end “、 “file” 和"flush” 必须以关键字参数的形式给出。 flush 关键字参数是在 phthon3.3 版后增加的。

    objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
    sep – 用来间隔多个对象,默认值是一个空格。
    end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
    file – 要写入的文件对象。
    flush–是否要强行刷新stream

    “sep参数“ 和 “end参数“都必须为字符串;它们也可以为 “None“,这意味着使用默认值。 如果没有给出 “objects参数“,则 print() 将只写入 “end参数“。

    objects基本语法

    print('www','baidu','com')
    
    • 1

    运行结果展示:

    www baidu com
    
    • 1

    sep基本语法

    print('www','baidu','com',sep='.')
    
    • 1

    运行结果展示:

    www.baidu.com
    
    • 1

    end基本语法

    不使用end参数效果:

    print("好好学习")
    print("天天向上")
    好好学习
    天天向上
    
    • 1
    • 2
    • 3
    • 4

    使用end参数效果:

    print("好好学习",end=",")
    print("天天向上")
    好好学习,天天向上
    
    • 1
    • 2
    • 3

    字符串和数值的格式化输出

    print函数常用格式说明符列表

    占位符说明
    %c单个字符
    %d十进制整数
    %f十进制浮点数
    %o八进制数
    %s字符串
    %x十六进制数
    %%输出百分号%

    print
    格式化输出就是把要输出的内容按照预定义的格式输出。例如输出的“圆的面积为:78”就是把字符串和变量的内容按照指定格式输出。在输出的内容中添加半径及半径的值。输出格式为“半径为5.0圆的面积为:78”,使用print函数可做如下格式化输出:
    print
    输出浮点数,并保留2位小数:
    float
    语法
    标记符“%”左侧的字符串是格式化字符串,格式化字符串由字符串和占位符组成,占位符的作用是在字符串中占据一个固定位置,内容由标记符“%”右侧的参数列表中的参数来填充,参数就是一个变量或一个数值。

    在格式字符串里可以有多个占位符,占位符在字符串的位置可以随意。需要注意格式字符串里的占位符和参数列表的参数是一一对应的,格式字符串里有多少个占位符,参数列表里面就有多少个参数对应。

    参数列表里面的每个参数之间用英文逗号分隔,参数列表的参数顺序与格式字符串中的占位符顺序要保持一致。例如上图的格式字符串有两个占位符“%.2f”,因此在参数列表里面有两个参数。

    输出指定小数位数(%.Nf)

    a = 65.0
    print('%.2f' % a)  # 输出65.00
    print('%.3f' % a)  # 输出65.000
    print('%.4f' % a)  # 输出65.0000
    
    • 1
    • 2
    • 3
    • 4

    指定占位符宽度,右对齐(%M.Nf)
    指定占位符宽度,左对齐(%-M.Nf)
    指定占位符,使用0当占位符(0M.N)
    %8 .2f :固定输出8 个字符宽度(含小数点),其中小数点输出为2 位。若整数部分少于5 位( 8 - 3=5 ),会在左边填入空格符;若小数少于2 位,会在右方填入“ 0"

    不进行四舍五入,直接进行截断

    可以放大指定的倍数,然后取整,然后再除以指定的倍数。

    #保留三位小数截断 python3
    print(int(1.23456 * 1000) / 1000 )
    
    • 1
    • 2

    总结

    本文介绍print基础语法,希望对各位有帮助,小编也是新手一个,工作中边学习边记录。

  • 相关阅读:
    Yolov8-pose关键点检测:模型轻量化创新 | OREPA结合c2f,节省70%的显存!训练速度提高2倍! | CVPR2022
    使用Pytorch测试cuda设备的性能(单卡或多卡并行)
    u盘文件夹被隐藏怎么恢复正常?
    RuoYi-Vue-Plus 高端进阶 源码分析 系列教程
    mybatispuls 批处理 rewriteBatchedStatements=true
    【C语言】函数的系统化精讲(二)
    御神楽的学习记录之SoC FPGA的第一个工程-Hello World
    网络程序设计——异步选择模型(基于消息的选择、基于事件的选择)
    这是Facebook母公司 关于元宇宙的80万亿美元豪赌
    C++模板初阶
  • 原文地址:https://blog.csdn.net/qq_41908302/article/details/133563916