Python2和Python3中print的用法示例总结
前言 最近在学习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 11 2.格式化输出16进制整数 # 格式 描述 # %% 百分号标记 # %c 字符及其ASCII码 # %s 字符串 # %d 有符号整数(十进制) # %u 无符号整数(十进制) # %o 无符号整数(八进制) # %x 无符号整数(十六进制) # %X 无符号整数(十六进制大写字符) # %e 浮点数字(科学计数法) # %E 浮点数字(科学计数法,用E代替e) # %f 浮点数字(用小数点符号) # %g 浮点数字(根据值的大小采用%e或%f) # %G 浮点数字(类似于%g) # %p 指针(用十六进制打印值的内存地址) # %n 存储输出字符的数量放进参数列表的下一个变量中 nHex = 0x20 print '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)
import math #default print 'PI = %f' % math.pi # PI = 3.141593 # width = 10,precise = 3,align = left print 'PI = %10.3fxxx' % math.pi # PI = 3.142xxx # width = 10,align = right print 'PI = %-10.3fxxx' % math.pi # PI = 3.142 xxx # 前面填充字符串 print 'PI = %06d' % int(math.pi) # PI = 000003 4.格式化输出字符串(string) # precise = 3 print '%.3s' % ('jcodeer') # jco # precise = 4 print '%.*s' % (4,'jcodeer') # jcod # width = 10,precise = 3 print 'xx%10.3s' % ('jcodeer') # xx jco 5.输出列表(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 sys sys.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 np a = 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 Ace 2. 通过关键词参数 name = "Ace" age = 26 print("{myname}'s age is {myage}".format(myname=name,myage=age)) # Ace's age is 26 3. 通过属性和下标 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 26 4. 格式化限定符 {0:0.3f} {1:3d} 在序号后面加上格式符就可以了,不用加% 5.填充与对齐 ^,<,>分别代表居住,左对齐,右对齐,后面带宽度 a = 123.456789 haha = '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!!!* 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |