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

 更新时间:2017年10月25日 11:50:17   作者:Oneruofeng   我要评论
在Python 3中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心,其中python3和python2中print的用法有很多不同,这篇文章主要给大家介绍了关于Python2和Python3中print用法的相关资料,需要的朋友可以参考下。

前言

最近在学习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安装cx_Oracle模块常见问题与解决方法

    python安装cx_Oracle模块常见问题与解决方法

    这篇文章主要介绍了python安装cx_Oracle模块常见问题与解决方法,举例分析了Python在Windows平台与Linux平台安装cx_Oracle模块常见问题、解决方法及相关注意事项,需要的朋友可以参考下
    2017-02-02
  • Python实现的读取电脑硬件信息功能示例

    Python实现的读取电脑硬件信息功能示例

    这篇文章主要介绍了Python实现的读取电脑硬件信息功能,结合实例形式分析了Python基于wmi库读取电脑CPU、磁盘、网络、进程等硬件信息相关操作技巧,需要的朋友可以参考下
    2018-05-05
  • 用python实现百度翻译的示例代码

    用python实现百度翻译的示例代码

    这篇文章主要介绍了用python实现百度翻译的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Python的Django框架中的Context使用

    Python的Django框架中的Context使用

    这篇文章主要介绍了Python的Django框架中的Context使用,相关的渲染是Django中创建模版的关键,需要的朋友可以参考下
    2015-07-07
  • python读取视频流提取视频帧的两种方法

    python读取视频流提取视频帧的两种方法

    这篇文章主要为大家详细介绍了python读取视频流提取视频帧的两种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-04-04
  • python打开网页和暂停实例

    python打开网页和暂停实例

    这篇文章主要介绍了python打开网页和暂停实例,涉及webbrowser模块与os模块的使用,是非常具有实用价值的一个技巧,需要的朋友可以参考下
    2014-09-09
  • python中pandas.DataFrame排除特定行方法示例

    python中pandas.DataFrame排除特定行方法示例

    这篇文章主要给大家介绍了关于python中pandas.DataFrame排除特定行的方法,文中给出了详细的示例代码,相信对大家的理解和学习具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • 进一步了解Python中的XML 工具

    进一步了解Python中的XML 工具

    这篇文章主要介绍了更为深入的的Python中的XML工具,本文来自于IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • python实现一个函数版的名片管理系统过程解析

    python实现一个函数版的名片管理系统过程解析

    这篇文章主要介绍了python实现一个函数版的名片管理系统过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • Python+tkinter使用80行代码实现一个计算器实例

    Python+tkinter使用80行代码实现一个计算器实例

    这篇文章主要介绍了Python+tkinter使用80行代码实现一个计算器实例,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论