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 相关文章推荐
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
wxPython的安装图文教程(Windows)
Dec 28 Python
Python去除、替换字符串空格的处理方法
Apr 01 Python
Python实现的简单排列组合算法示例
Jul 04 Python
python opencv实现运动检测
Jul 10 Python
python实现在多维数组中挑选符合条件的全部元素
Nov 26 Python
在win64上使用bypy进行百度网盘文件上传功能
Jan 02 Python
python实现滑雪者小游戏
Feb 22 Python
Python定时器线程池原理详解
Feb 26 Python
浅谈python输出列表元素的所有排列形式
Feb 26 Python
通俗讲解python 装饰器
Sep 07 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 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实现根据IP地址获取其所在省市的方法
2015/04/30 PHP
使用PHP如何实现高效安全的ftp服务器(一)
2015/12/20 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
原生js 秒表实现代码
2012/07/24 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
两个listbox实现选项的添加删除和搜索
2013/03/01 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
上传文件返回的json数据会被提示下载问题解决方案
2014/12/03 Javascript
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
javascript使用 concat 方法对数组进行合并的方法
2016/09/08 Javascript
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
2017/04/04 jQuery
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
2017/06/05 Javascript
Vue.js 2.x之组件的定义和注册图文详解
2018/06/19 Javascript
vue页面切换过渡transition效果
2018/10/08 Javascript
angularjs通过过滤器返回超链接的方法
2018/10/26 Javascript
vscode 开发Vue项目的方法步骤
2018/11/25 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
python定时采集摄像头图像上传ftp服务器功能实现
2013/12/23 Python
代码讲解Python对Windows服务进行监控
2018/02/11 Python
python斐波那契数列的计算方法
2018/09/27 Python
linux安装python修改默认python版本方法
2019/03/31 Python
python创建ArcGIS shape文件的实现
2019/12/06 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
数控技术与应用毕业生自荐信
2013/09/24 职场文书
婚礼答谢礼品
2015/01/20 职场文书
委托公证书格式
2015/01/26 职场文书
幼儿园老师个人总结
2015/02/28 职场文书
全国助残日活动总结
2015/05/11 职场文书
开工典礼致辞
2015/07/29 职场文书
调研报告的主要写法
2019/04/18 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
Springboot配置suffix指定mvc视图的后缀方法
2021/07/03 Java/Android
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js