当我们使用Python编写程序时,经常需要处理不同类型的数据,并输出相应的结果。在输出数据时,我们希望能够根据自己的需求进行格式化,使输出的结果更加易于阅读和理解。Python提供了丰富的输出格式化方式和进制转换方法,下面就来详细讲解一下。
一、输出格式化
1.1 格式化字符串
格式化字符串可以让我们将不同类型的数据以特定的格式输出。Python的字符串格式化的方法是使用%
操作符,类似于C语言中的printf
函数。我们可以使用占位符来指定输出的格式,如下表所示:
字符 | 描述 |
---|---|
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
%% | 字符 % |
在字符串中,使用占位符后,可以通过%
操作符将相应的数据传入字符串中进行输出,示例如下:
name = "张三"
age = 18
score = 85.5
print("姓名:%s,年龄:%d,成绩:%.2f" % (name, age, score))
输出结果为:
姓名:张三,年龄:18,成绩:85.50
1.2 新式字符串格式化
新式字符串格式化是Python 2.6及以上版本引入的一种输出格式化方式,使用{}
作为占位符,格式化字符串时更加灵活方便,推荐使用。与旧式字符串格式化类似,不同类型的数据使用不同的格式化方式。
name = "张三"
age = 18
score = 85.5
print("姓名:{},年龄:{},成绩:{:.2f}".format(name, age, score))
输出结果为:
姓名:张三,年龄:18,成绩:85.50
二、进制转换
Python支持各种进制之间的转换,包括二进制、八进制、十进制、十六进制等。我们可以通过内置的函数进行转换。
2.1 十进制转其他进制
十进制整数转换为其他进制,可以使用bin
、oct
、hex
等函数。其中,bin
函数用于将十进制整数转换为二进制,oct
函数用于将十进制整数转换为八进制,hex
函数用于将十进制整数转换为十六进制。
num = 13
print("二进制:%s" % bin(num))
print("八进制:%s" % oct(num))
print("十六进制:%s" % hex(num))
输出结果为:
二进制:0b1101
八进制:0o15
十六进制:0xd
2.2 其他进制转十进制
其他进制的整数转换为十进制,可以使用内置函数int
。int
函数接受两个参数,第一个参数为要转换的数值字符串,第二个参数为原始数值的进制。例如,将二进制转换为十进制:
num_str = "1101"
num = int(num_str, 2)
print("十进制:%d" % num)
输出结果为:
十进制:13
三、示例说明
3.1 示例一:格式化输出学生信息
假设我们有一个列表,其中存储了若干个学生的姓名、年龄和成绩。我们需要输出每个学生的信息,并按照一定的格式进行排版。
students = [("张三", 18, 85.5), ("李四", 20, 92.0), ("王五", 19, 78.5)]
print("姓名\t年龄\t成绩")
for student in students:
name, age, score = student
print("{}\t{}\t{:.2f}".format(name, age, score))
输出结果为:
姓名 年龄 成绩
张三 18 85.50
李四 20 92.00
王五 19 78.50
3.2 示例二:进制转换
假设我们需要将一个八进制数转换为二进制和十进制,输出结果中包含各进制之间的转换过程。
num_str = "17"
num_octal = int(num_str, 8)
num_binary = bin(num_octal)
num_decimal = int(num_binary, 2)
print("八进制:{},转换为二进制:{},转换为十进制:{}".format(num_str, num_binary, num_decimal))
输出结果为:
八进制:17,转换为二进制:0b1111,转换为十进制:15
以上就是Python的输出格式化和进制转换的完整攻略。希望可以帮助到大家!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python的输出格式化和进制转换介绍 - Python技术站