(增强型格式化字符串)str.format()

字符串格式化自2.6以后python提供更强大的函数str.format()

# 语法

用{}代替%

## EXP 1:简单例子,关键字映射

```python

x = 1

y = "shabi"

z = "wo shi {op1},{op2}".format(op1=y,op2=x)

print z

```

## EXP 2:转义{}

```python

x = 1

y = "shabi"

z = "wo shi {op}{{shit}}".format(op=y)

print z

```

## EXP3: 位置映射

```python

x = 1

y = "shabi"

z = "wo shi {0},{1},{0}".format(y,x)

print z

```

## EXP4: 列表(list,tuple)下表映射

```python

p = [‘shabi‘,1]

pp = [‘jiba‘,‘wanyi‘]

z = "wo shi {0[0]},{0[1]},{0[0]},{1[1]}".format(p,pp)

print z

```

## EXP5: 通过类属性?

```python

```

## EXP6: 用于进制转换

```python

print ‘{:b}‘.format(17)

print ‘{:o}‘.format(17)

print ‘{:d}‘.format(17)

print ‘{:x}‘.format(17)

```

来自为知笔记(Wiz)

时间: 2024-11-05 12:24:23

(增强型格式化字符串)str.format()的相关文章

Python格式化字符串str.format()

Python 字符串格式化解决的问题: 字符串格式化是为了实现字符串和变量同时输出时按一定的格式显示. 例如:" 一年有{}天,一天有{}小时 .".format(365,24)  ==>   " 一年有365天,一天有24小时." format()方法的基本使用: <模板字符串>.format(<逗号分隔的参数>) 模板字符串由一系列占位槽组成(用{}表示),参数会按{}中的序号替换到模板字符串的槽中,如果{}没有序号,就按出现顺序替

Python 中格式化字符串 % 和 format 两种方法之间的区别

Python2.6引入了 format 格式化字符串的方法,现在格式化字符串有两种方法,就是 % 和 format ,具体这两种方法有什么区别呢?请看以下解析. # 定义一个坐标值 c = (250, 250) # 使用%来格式化 s1 = "敌人坐标:%s" % c 上面的代码很明显会抛出一个如下的TypeError: TypeError: not all arguments converted during string formatting 像这类格式化的需求我们需要写成下面丑陋

输出格式化:str.format() 的基本使用

str.format() 的基本使用如下: >>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com')) 菜鸟教程网址: "www.runoob.com!" 括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换. 在括号中的数字用于指向传入对象在 format() 中的位置,如下所示: >>> print('{0} 和 {1}'.format('Goo

Python格式化字符串%与format的区别

简介 Python中格式化字符串目前有两种方法:%和format Python2.6引入了format这个格式化字符串的方法 区别 % # 定义一个坐标值 c = (250, 250) # 使用%丑陋的格式化... s1 = "敌人坐标:%s" % (c,) # 因为c是一个元祖,所以%格式化时后面不能只写一个c format # 定义一个坐标值 c = (250, 250) # 使用format格式化 s2 = "敌人坐标:{}".format(c) 3.6的新特

【Python】格式化字符串和format函数

## 本文基于Python3,可能存在部分内容不适配Python2 1. 最简单的字符串的输出: str1 = 'popma is so cool' print(str1) 输出: popma is so cool 2. '%S'格式化字符串输出: 格式化字符串时,字符串中有格式符,字符串就变成一个模板了: 例如: str2 = '%s is so cool' %'popma' print(str2) 输出还是像上面的一样,可以试试看. 但是如果有多个格式符,如何处理呢?Python用一个tup

python中的格式化输出and format()应用

普通格式化方法 (%s%d)生成格式化的字符串,其中s是一个格式化字符串,d是一个十进制数; 格式化字符串包含两部分:普通的字符和转换说明符(见下表), 将使用元组或映射中元素的字符串来替换转换说明符; **如果d是元组的话,必须与s中的转换说明符个数一致; 如果d是dict的话,每个转换说明符都必须与dict中一个有效的键名相关联.** 转换说明符,都以%开始 输出格式 d,i 十进制 u 无符号数 o 八进制 x 十六进制或长整数 X 十六进制 f,e,E 浮点数 g,G 指数小于-4时使用

3.1.3 格式化字符串的语法

字符串str.format()和Formatter类都是使用相同的格式化字符串. 格式化字符使用大括号{}来包括替换的字段.不论什么不在大括号中的字符都是直接输出而不作转换.因此.想要输出大括号,就须要使用特别的方式,使用双大括号方式来输出大括号.比方{{来输出{,}}来输出}. 格式化字符串的语法例如以下: replacement_field ::=  "{" [field_name] ["!" conversion] [":" format_

python之字符串str操作方法

str.upper() (全部大写) str.lower() (全部小写) str.startswith() (以什么开头) str.endswith() (以什么结尾) str.count() (统计) str.replace() (替换) ***** str.strip() (除去头尾两边的空格) ***** str.lstrip() (去掉字符串左边的东西) str.rstrip() (去掉字符串右边的东西) str.split() (分割) ***** str.isdigit() (判断

编译器检查函数声明和函数实际调用参数之间的格式化字符串是否匹配

背景 在输出日志时 被 RUNLOG_DEBUG("%s,%d", para_int, para_str.c_str()) 坑过, 才知道 能校验 格式化字符串和 字段本身是否匹配 的重要性: 参考文献:https://www.cnblogs.com/marvin-notes/p/4482805.html 感谢原作者 方法 attribute format 该属性 可以给被声明的 函数 加上 类似 printf /scanf 的特征, 能用于 编译器检查 函数声明和时间调用参数直接的