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的Bottle框架中返回静态文件和JSON对象的方法
Apr 30 Python
详解Python中open()函数指定文件打开方式的用法
Jun 04 Python
Python基于scapy实现修改IP发送请求的方法示例
Jul 08 Python
Python基于matplotlib绘制栈式直方图的方法示例
Aug 09 Python
Python模拟鼠标点击实现方法(将通过实例自动化模拟在360浏览器中自动搜索python)
Aug 23 Python
Python之list对应元素求和的方法
Jun 28 Python
Python骚操作之动态定义函数
Mar 26 Python
django 控制页面跳转的例子
Aug 06 Python
python字典的遍历3种方法详解
Aug 10 Python
python logging日志模块原理及操作解析
Oct 12 Python
python操作docx写入内容,并控制文本的字体颜色
Feb 13 Python
tensorflow 动态获取 BatchSzie 的大小实例
Jun 30 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
自己前几天写的无限分类类
2007/02/14 PHP
简化php模板页面中分页代码的解析
2009/02/06 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
纯php生成随机密码
2015/10/30 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法
2012/11/14 Javascript
简单的js图片轮换代码(js图片轮播)
2014/05/06 Javascript
JS基于面向对象实现的放烟花效果
2015/05/07 Javascript
javascript类型系统——日期Date对象全面了解
2016/07/13 Javascript
javaScript实现滚动条事件详解
2020/03/24 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
js使用Promise实现简单的Ajax缓存
2018/11/14 Javascript
简单了解JavaScript异步
2019/05/23 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
浅谈vue 组件中的setInterval方法和window的不同
2020/07/30 Javascript
js实现贪吃蛇小游戏(加墙)
2020/07/31 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[46:44]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第一场 6.2
2018/06/03 DOTA
Python3读取zip文件信息的方法
2015/05/22 Python
详解Python命令行解析工具Argparse
2016/04/20 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
遗传算法之Python实现代码
2017/10/10 Python
python实现转圈打印矩阵
2019/03/02 Python
python频繁写入文件时提速的方法
2019/06/26 Python
Django model update的多种用法介绍
2020/03/28 Python
如何在django中添加日志功能
2020/02/06 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
七年级上册语文教学计划
2015/01/22 职场文书
简历上的自我评价,该怎么写呢?
2019/06/13 职场文书
导游词之江西赣州
2019/10/15 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL