你确定不需要看这篇 Python3 的 format 格式化?

专栏地址:最强 Python3 基础

公众号:Python 生产力


文章目录

  • 前言
  • 一、下标索引取值
  • 二、空大括号直接取值
  • 三、关键字取值
  • 四、混合使用
  • 五、format 函数的格式
  • 六、各组件使用方法
    • 1. `type`组件:指定类型
      • (一) i,u 类型
      • (二) c 类型
      • (三) r 类型
    • 2. `fill` 和 `align` 组件:空余部分指定填充内容或对齐方式
    • 3. `sign` 组件:指定数字前缀符号
    • 4. `#` 组件:展示二进制、八进制、十六进制的指示符
    • 5. `0` 组件:填充空余部分
    • 6. `width` 组件:指定宽度
    • 7. `group` 组件:对数字进行分组
    • 8. `.prec` 组件:指定精度
  • 七、`name` 和 `conversion` 的使用
    • 1. `name` 组件:获取对应的参数值
    • 2. `conversion` 组件:字符类型转换
  • 总结


前言

format 格式化函数其实就是 取模操作符(%) 的进阶版,和 取模操作符(%) 的使用方式大同小异,区别在于你很多时候并不需要像 取模操作符(%)一样去记忆各种输出类型符号代表的意思,只需要给出特定的占位符以及相对应的参数就能格式化,是一个相当方便的格式化函数。当然,如果要像 取模操作符(%)一样去专门制定精度,也是可以做到的。


一、下标索引取值

你确定不需要看这篇 Python3 的 format 格式化?_第1张图片

相比较于 模操作符(%)对象的各种指定,format 函数则限制很少,也就是说可以将任意的数据类型放在任意的位置,不管是普通的数字或字符串类型,还是可迭代的各种集合类型,如列表、元组等,都可以放入。可以看下面的例子。format 函数就像存入一个元组,在指定的位置存入指定的数据,每一个数据都有指定的下标。

print('整数:{0},浮点数:{1},字符串:{2}'.format(123, 52.36, 'Python'))
print('列表:{0},元组:{1},字典:{2},集合:{3}'.format([1, 2, 3], (4, 5, 6), {
   'name': 'Python', 'price': 123.36}, {
   7, 8, 9}))

# 输出 >>>
整数:123,浮点数:52.36,字符串:Python
列表:[1, 2, 3],元组:(4, 5, 6),字典:{
   'name': 'Python', 'price': 123.36},集合:{
   8, 9, 7}

对于 format 函数括号中的参数,每一个填入的元素就已经指定好了具体的下标,在字符串中相当于用这些下标获取指定位置的数据,不仅可以单次获取,也可以不断的使用同一个下标获取同一个元素。

# 多次取下标为 0 的值
print('整数:{0},数字:{0},正整数:{0},浮点数:{1},字符串:{2}'.format(123, 52.36, 'Python'))

# 输出 >>>
整数:123,数字:123,正整数:123,浮点数:52.36,字符串:Python

# ==============================================================================================

# 字符串下标可以放在任何地方
print('浮点数:{1},字符串:{2},整数:{0},数字:{0},正整数:{0}'.format(123, 52.36, 'Python'))

# 输出 >>>
浮点数:52.36,字符串:Python,整数:123,数字:123,正整数:123

# ==============================================================================================

# 只取某些下标内容
print('字符串:{2}'.format(123, 52.36, 'Python'))

# 输出 >>>
字符串:Python

同时,超出下标范围的取值会直接报错。

print('字符串:{3}'.format(123, 52.36, 'Python'))

# 输出 >>>
IndexError: Replacement index 3 out of range for positional args tuple

如果是一个列表添加进参数,那使用方式和在元组里面取列表的方式差不多,都是先取元组中对应位置的列表,然后取列表中的元素。当然,也可以添加多个列表。

# 添加单个列表
print('{0[1]}, {0[2]}'.format([123, 52.36, 'Python']))

# 输出 >>>
52.36, Python

# =====================================================================

# 添加多个列表
print('{0[1]}, {0[2]}, {1[1]}'.format([123, 52.36, 'Python'], [456, 789])

你可能感兴趣的:(最强,Python3,基础,python,编程语言)