Python基础之字符串操作,格式化。

Python字符串现在感觉在日常的使用中不多,但仔细看了书以后一些小技巧还是很方便的,我这里简单的记录下。

插入一个超搞逼格的:

.format_map(其实这个是字符串的方法。。。。。)

In [83]: info = {"name": "sidian", "age": 18}                                                         

In [84]: "my name is {name},age is {age}".format_map(info)
Out[84]: ‘my name is sidian,age is 18‘

当你做好一个键值对的数据表,格式化输出不要爽死了

插入完毕~

首先就来个高逼格的:

>>> name=‘sidian‘
>>> f‘my name is {name}‘
‘my name is sidian‘

这个效果跟‘my name is {name}‘.format(name=‘sidian‘)一样,但我觉的我写成上面的写法,别人看我代码肯定特别装13

>>> names = [‘yidian‘, ‘erdian‘, ‘sandian‘]
>>> ‘you name is {name[1]}‘.format(name=names)
‘you name is erdian‘

这种写法里面写了关键字写法,关键字里面取值,后面的关键字参数复制列表,感觉方便度一般般

还不如直接写

>>> ‘you name is {name}‘.format(name=names[1])
‘you name is erdian‘

这样逻辑更加清楚点,反正我这么觉的。

千位分隔符,这个有意思。

>>> ‘num is {:,}‘.format(1000**10)
‘num is 1,000,000,000,000,000,000,000,000,000,000‘

这个可以在输出大数字的让人看过去比较舒服

关键这里这个:,这个冒号的左边填写索引关键字(0或1或2),冒号的右边填写一些输出的形式与格式(:0.2f或:05.3f)

右边的花样千万种,我挑书中的集中展示下:

>>> from math import pi
>>> ‘{:010.2f}‘.format(pi)
‘0000003.14‘
>>>

这个比较好理解,左边没写参数按照默认顺序,右边第一个0为填充数,第二个10为数字个数为10位,第三个2为小数点有效数为2,最后一个f为数据类型为float类型。

>>> ‘{:<0.2f}‘.format(pi)
‘3.14‘
>>> ‘{:<10.2f}‘.format(pi)
‘3.14      ‘
>>> ‘{:^10.2f}‘.format(pi)
‘   3.14   ‘
>>> ‘{:>10.2f}‘.format(pi)
‘      3.14‘

通过这个可以看到:后面的<^>分别左对齐,居中,右对齐,后面数字的意思前面已经解释过了。

>>> ‘{:$^20}‘.format(‘ok‘)
‘$$$$$$$$$ok$$$$$$$$$‘
>>>

文字字符格式化:右边第一个是填充数字,第二个居中符号标志,第三个为字符串长度

>>> print(‘{0:10.2f}\n{1:&=10.2f}‘.format(pi,-pi))
      3.14
-&&&&&3.14
>>> print(‘{0:10.2f}\n{1:=10.2f}‘.format(pi,-pi))
      3.14
-     3.14
>>> print(‘{0:10.2f}\n{1:10.2f}‘.format(pi,-pi))
      3.14
     -3.14

这里有三个输出,分别从复杂到简单,最后一个其实很简单,就是位置格式话输出两个参数,只不过一个编程了负数

第二个:右边出现了一个等于,这个有意思,它能够让符号与数字之间产生空格,默认就是空格。

第一个:右边出现了一个填充元素&,这样在符号与数字之间可以自己定义不同的符号。

>>> print(‘{0:10.2f}\n{1:&<10.2f}‘.format(pi,-pi))
      3.14
-3.14&&&&&
>>> print(‘{0:10.2f}\n{1:&^10.2f}‘.format(pi,-pi))
      3.14
&&-3.14&&&

其实在前面的数字居中,左对齐,右对齐,也可以添加填充元素,默认的填充元素为空格。

这里说明一下如何格式话输出+-号:

In [6]: ‘{0:-.2}‘.format(pi)
Out[6]: ‘3.1‘

In [7]: ‘{0:-.2f}‘.format(pi)
Out[7]: ‘3.14‘

In [8]: ‘{0:+.2}‘.format(pi)
Out[8]: ‘+3.1‘

In [9]: ‘{0:-.2}‘.format(pi)
Out[9]: ‘3.1‘

In [10]: ‘{0:-.2}‘.format(-pi)
Out[10]: ‘-3.1‘

In [11]: ‘{0:+.2}‘.format(-pi)
Out[11]: ‘-3.1‘

In [12]: ‘{:^+10.2}‘.format(pi)
Out[12]: ‘   +3.1   ‘

通过上面的操作可以看出:

:右边默认其实就是-,实际操作中如果想添加+号,可以在:右边添加+,如果右对其符号应该在对齐符号(<、^、>)的右边;

按照前面测试的这么多,我基本给自己总结了一下在冒号右边第一位是填充符号(默认为空格)

第二位为对其符号(<、^、>)

第三位aa.b为aa为字符串长度,b为实际精度。

In [18]: ‘{:8.2}‘.format(5800)
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-18-e85d3e6ac999> in <module>
----> 1 ‘{:8.2}‘.format(5800)

ValueError: Precision not allowed in integer format specifier

In [19]: ‘{:8.2}‘.format(3.985)
Out[19]: ‘     4.0‘

‘{:8.2}‘.format(‘做人没意思‘)
Out[20]: ‘做人      ‘

从上面的测试看出数字默认的对齐方式是右对齐,字符串是左对齐,还搞这么麻烦

而且这种方式格式化不能输入整数

第四位如果在{:5.2f}这样的案例,就是说明数值取5位,小数点后面取2位。

In [22]: ‘{:8.2f}‘.format(3.1415926)
Out[22]: ‘    3.14‘

格式化输出{}:

In [26]: ‘{{:{}}}‘.format(10)
Out[26]: ‘{:10}‘

而且这种方式格式化不能输入整数

[Érqiě zhè zhǒng fāngshì géshì huà bùnéng shūrù zhěngshù]

And this way can not enter an integer format

原文地址:https://www.cnblogs.com/sidianok/p/11780399.html

时间: 2024-10-15 09:23:52

Python基础之字符串操作,格式化。的相关文章

python基础10 字符串操作,字典操作,集合操作

本节内容: 字符串操作 字典操作 集合操作 字符串操作 概述 字符串是以''或""括起来的任意文本,比如'abc',"xyz"等等.请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符. 如果字符串本身包含'怎么办?比如我们要表示字符串 I'm OK ,这时,可以用" "括起来表示: "I'm OK" 类似的,如果字符串包含",我们就可以用'

python基础之字符串操作

下面显示代码在ipython3中实现 s='i like python' #首字母大写 capitalize() 1 In [3]: s='i like python' 2 3 In [4]: s.capitalize() 4 Out[4]: 'I like python' #全部转换大写,全部转换小写 upper()  lower() In [6]: s.upper() Out[6]: 'I LIKE PYTHON' 1 In [7]: s.lower() 2 Out[7]: 'i like

Python基础语法&mdash;字符串&amp;语句&amp;集合

Python字符串 Python中不支持char单字符类型,单字符在Python中也是一个字符串 Python字符串更新 更新Python字符串方法 1234 var1 = 'Hello World!'print "Updated String :- ", var1[:6] + 'Python' 实际执行效果为 Updated String :- Hello Python Python转义字符 Python字符串运算符 Python字符串格式化 Python三引号(triple quo

19、python基础学习-字符串及操作

1 #!/usr/bin/env python 2 #__author: hlc 3 #date: 2019/5/26 4 # 字符串是以单引号'或者双引号"括起来的任意文本,例如:'asd',"123" 5 # '"不是字符串的一部分,如果需要作为字符串的一部分,需要在单引号外面加上双引号,如:"it's a Good !" 6 7 #创建字符串 8 # var1 = "Hello word" 9 # var2 = 'pyt

Python基础2 字符串、列表、字典、集合等操作

列表.元祖操作 列表 语法: name = ['jack', 'tom', 'bob'] 列表切片 列表切片的特点是"顾头不顾尾" >>> name = ['jack', 'tom', 'bob'] >>> name[:] ['jack', 'tom', 'bob'] >>> name[1:] ['tom', 'bob'] >>> name[1:2] ['tom'] >>> name[:-1] [

[Python Study Notes]字符串操作

字符串操作 a.字符串格式化输出 1 name = "liu" 2 print "i am %s " % name 3     4 #输出: i am liu   6 PS: 字符串是 %s;整数 %d;浮点数%f b.查找字符串(find) 1 str.find(str, start=0, end=len(mystr)) # 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 1 >>> str = 'xinge 好帅'

python基础、字符串和if条件语句

一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法      n为变量,代指某一变化的值 n = input ('请输入用户名:')     等到用户输入值,就会将用户输入的值赋值给n,n代指用户输入的内容. 4.变量只能由字母.数字.下划线组成. 不能以数字开头. 不能用Python的关键字开头: 5.n="花椒"      赋值  n=="花椒"    比较 二:字符串

python基础(字符串)

Python字符串: 在Python中的字符串被确定为一组连续的字符在引号之间, Python允许在任何对单引号或双引号. 串的子集,可以使用切片操作符可采用([]和[:]),索引从0开始的字符串的开始和结束(-1). 加号(+)符号的字符串连接操作符,而星号(*)表示重复操作. str = 'Hello,world!' print str print str[0] print str[2:5] print str[2:] print str * 2 print str + 'Ethon' 产生

【python基础】文件操作

首先要明确的就是python对文件的操作实质上是需要调配两种资源: 1.宿主机的系统资源,比如Linux下的limit文件句柄数 2.python内存资源 两种使用方法: 方式一: f=open('aaa.txt','rt',encoding='utf8') f.read() f.close ##释放系统资源,向系统发送指令告知,程序结束,请求系统关闭文件 方式二: with open('aaa.txt','rt',encoding='utf8') as f: f.read() ps:方式二借助