Python2和Python3中print的用法示例总结


Posted in Python onOctober 25, 2017

前言

最近在学习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)

  • %字符:标记转换说明符的开始
  • 最小字段宽度:转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出
  • 转换标志:-表示左对齐;+表示在转换值之前要加上正负号;''(空白字符)表示正数之前保留空格;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!!!*

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
让python json encode datetime类型
Dec 28 Python
python装饰器使用方法实例
Nov 21 Python
详解Django中的ifequal和ifnotequal标签使用
Jul 16 Python
使用Python保存网页上的图片或者保存页面为截图
Mar 05 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
Python3 操作符重载方法示例
Nov 23 Python
Python如何使用函数做字典的值
Nov 30 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
Python greenlet和gevent使用代码示例解析
Apr 01 Python
如何基于python把文字图片写入word文档
Jul 31 Python
python 实现压缩和解压缩的示例
Sep 22 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
Jan 24 Python
Python_LDA实现方法详解
Oct 25 #Python
python+mongodb数据抓取详细介绍
Oct 25 #Python
python装饰器实例大详解
Oct 25 #Python
Python3 模块、包调用&amp;路径详解
Oct 25 #Python
Python探索之创建二叉树
Oct 25 #Python
Python探索之修改Python搜索路径
Oct 25 #Python
python中 logging的使用详解
Oct 25 #Python
You might like
PHP采集静态页面并把页面css,img,js保存的方法
2014/12/23 PHP
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
使用jQuery jqPlot插件绘制柱状图
2014/12/18 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
JS获取鼠标相对位置的方法
2016/09/20 Javascript
js实现3D图片环展示效果
2017/03/09 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
JavaScript实现带有子菜单和控件的slider轮播图效果
2017/11/01 Javascript
基于Vue制作组织架构树组件
2017/12/06 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
通过webpack引入第三方库的方法
2018/07/20 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
对于Python编程中一些重用与缩减的建议
2015/04/14 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python语言实现获取主机名根据端口杀死进程
2016/03/31 Python
Python进程间通信Queue实例解析
2018/01/25 Python
浅析Python数据处理
2018/05/02 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
python实现excel公式格式化的示例代码
2020/12/23 Python
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
英国专业美容产品在线:Mylee(从指甲到脱毛)
2020/07/06 全球购物
实习自我鉴定范文
2013/10/30 职场文书
公务员个人自我评价分享
2013/11/06 职场文书
服装促销活动方案
2014/02/23 职场文书
公司任命书模板
2014/06/06 职场文书
感恩教育月活动总结
2014/07/07 职场文书
防汛工作情况汇报
2014/10/28 职场文书
党员电教片《信仰》心得体会
2016/01/15 职场文书
Nginx本地目录映射实现代码实例
2021/03/31 Servers
试用1103暨1103、1101同门大比武 [ DAIWEI ]
2022/04/05 无线电
Redis Lua脚本实现ip限流示例
2022/07/15 Redis