
前言
最近在学习python,对于python的print一直很恼火,老是不按照预期输出。在python2中print是一种输出语句,和if语句,while语句一样的东西,在python3中为了填补python2的各种坑,将print变为函数,因此导致python3中print的一些使用和python2很不一样。下面就来给大家详细的总结了关于Python2和python3中print的用法,话不多说了,来一起看看详细的介绍吧。
一、Python2中的print用法
在Python2 中 print 是一种输出语句
strHello = 'Hello Python'print strHello# Hello Python
1.格式化输出整数
strHello = "the length of (%s) is %d" %('Hello Wordld',len('Hello World'))print strHello# the length of (Hello Wordld) is 112.格式化输出16进制整数
# 格式 描述# %% 百分号标记# %c 字符及其ASCII码# %s 字符串# %d 有符号整数(十进制)# %u 无符号整数(十进制)# %o 无符号整数(八进制)# %x 无符号整数(十六进制)# %X 无符号整数(十六进制大写字符)# %e 浮点数字(科学计数法)# %E 浮点数字(科学计数法,用E代替e)# %f 浮点数字(用小数点符号)# %g 浮点数字(根据值的大小采用%e或%f)# %G 浮点数字(类似于%g)# %p 指针(用十六进制打印值的内存地址)# %n 存储输出字符的数量放进参数列表的下一个变量中
nHex = 0x20print 'nHex = %x,nDec = %d,nOct = %o' %(nHex,nHex,nHex)# nHex = 20,nDec = 32,nOct = 40
输出二进制的话,可以使用python函数bin()
# Python 2.7.10 (default,Feb 7 2017,00:08:15)# [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin# Type "help","copyright","credits" or "license" for more information.# >>> bin(789)# '0b1100010101'# >>>
3.格式化输出浮点数(float)
%字符:标记转换说明符的开始 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;''(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出import math#defaultprint 'PI = %f' % math.pi# PI = 3.141593# wIDth = 10,precise = 3,align = leftprint 'PI = %10.3fxxx' % math.pi# PI = 3.142xxx# wIDth = 10,align = rightprint 'PI = %-10.3fxxx' % math.pi# PI = 3.142 xxx# 前面填充字符串print 'PI = %06d' % int(math.pi)# PI = 000003
4.格式化输出字符串(string)
# precise = 3print '%.3s' % ('jcodeer')# jco# precise = 4print '%.*s' % (4,'jcodeer')# jcod# wIDth = 10,precise = 3print 'xx%10.3s' % ('jcodeer')# xx jco5.输出列表(List)
l = [1,2,3,'jcodeer']print l# [1,'jcodeer']
6.输出字典(dictionary)
d = {1: 'A',2: 'B',3: 'C',4: 'D'}print d# {1: 'A',4: 'D'}7.python print 自动换行
# print会在行末加上回车,如果不需要,只需在print语句结尾添加一个逗号','for i in range(0,5): print i,# 0 1 2 3 4
或者直接使用下面的函数进行输出:
import syssys.stdout.write("输出的字符串")8.万能的 %r
它可以将后面给的参数原样打印出来,带有类型信息
formatter = '%r %r %r %r' print formatter % (1,4)print formatter % ('one','two','three','four')print formatter % (True,False,True)print formatter % (formatter,formatter,formatter)print formatter % ("I had this thing.","That you Could type up right.","But it dIDn't sing.","So I saID goodnight.")# 1 2 3 4# 'one' 'two' 'three' 'four'# True False False True# '%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'# 'I had this thing.' 'That you Could type up right.' "But it dIDn't sing." 'So I saID goodnight.'9.矩阵输出
import numpy as npa = np.array([[1,2],[3,4]])b = np.array([[5,6],[7,8]])print a# [[1 2]# [3 4]] print b# [[5 6]# [7 8]] print a,b# [[1 2]# [3 4]] [[5 6]# [7 8]]
二、python3中的print用法
在python3 中print 是一个函数,通过格式化函数format()来控制输出格式
1. 通过位置标号
# {0}表示第一个元素, {1}表示第二个元素, {2}表示第三个元素,以此类推。。。 a = 'Ace'b = 'hello'print("{1},my name is {0}".format(a,b))# hello,my name is Ace2. 通过关键词参数
name = "Ace"age = 26print("{myname}'s age is {myage}".format(myname=name,myage=age))# Ace's age is 263. 通过属性和下标
person = ["Ace",26]print("{0[0]}'s age is {0[1]}".format(person))# Ace's age is 26 print("{people[0]}'s age is {people[1]}".format(people=person))# Ace's age is 26字典字符串不需要加引号
person = {'Ace': 26}print("{myname}'s age is {people[Ace]}".format(myname=name,people=person))# Ace's age is 264. 格式化限定符
{0:0.3f} {1:3d} 在序号后面加上格式符就可以了,不用加%
5.填充与对齐
^,<,>分别代表居住,左对齐,右对齐,后面带宽度
a = 123.456789haha = 'haha!!!'print("{0:0.3f},*{1:<14}*".format(a,haha))print("{0:0.3f},*{1:>14}*".format(a,*{1:^14}*".format(a,*{1:}*".format(a,haha)) # 123.457,*haha!!! *# 123.457,* haha!!!*# 123.457,* haha!!! *# 123.457,*haha!!!*总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。
总结以上是内存溢出为你收集整理的Python2和Python3中print的用法示例总结全部内容,希望文章能够帮你解决Python2和Python3中print的用法示例总结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)