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)

  • %字符:标记转换说明符的开始
  • 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出
  • 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;''(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充
  • 点(.)后跟精度值:如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出
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, precise = 3, 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, 2, 3, 'jcodeer']

6.输出字典(dictionary)

d = {1: 'A',2: 'B',3: 'C',4: 'D'}
print d
# {1: 'A', 2: 'B', 3: 'C', 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, 2, 3, 4)
print formatter % ('one', 'two', 'three', 'four')
print formatter % (True, False, False, True)
print formatter % (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, haha))
print("{0:0.3f}, *{1:^14}*".format(a, haha))
print("{0:0.3f}, *{1:}*".format(a, haha))
    
# 123.457, *haha!!!       *
# 123.457, *       haha!!!*
# 123.457, *   haha!!!    *
# 123.457, *haha!!!*
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,176评论 5 469
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,190评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,232评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,953评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,879评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,177评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,626评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,295评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,436评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,365评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,414评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,096评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,685评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,771评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,987评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,438评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,032评论 2 341

推荐阅读更多精彩内容