侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

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

Python  /  管理员 发布于 7年前   248

前言

最近在学习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 = 0x20print '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#defaultprint 'PI = %f' % math.pi# PI = 3.141593# width = 10, precise = 3, align = leftprint 'PI = %10.3fxxx' % math.pi# PI =  3.142xxx# width = 10, precise = 3, align = rightprint 'PI = %-10.3fxxx' % math.pi# PI = 3.142  xxx# 前面填充字符串print 'PI = %06d' % int(math.pi)# PI = 000003

4.格式化输出字符串(string)

# precise = 3print '%.3s' % ('jcodeer')# jco# precise = 4print '%.*s' % (4,'jcodeer')# jcod# width = 10, precise = 3print '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 syssys.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 npa = 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 = 26print("{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.456789haha = '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正则表达式re之compile函数解析
    下一条:
    Python_LDA实现方法详解
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客