Python-enhanced formatted string format function

Source: Internet
Author: User
Tags string format

Grammar

It replaces% with {} and:.

Map sample

By location

In [1]: ‘{0},{1}‘.format(‘kzc‘,18)  Out[1]: ‘kzc,18‘  In [2]: ‘{},{}‘.format(‘kzc‘,18)  Out[2]: ‘kzc,18‘  In [3]: ‘{1},{0},{1}‘.format(‘kzc‘,18)  Out[3]: ‘18,kzc,18‘

字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次,不过2.6不能为空{},2.7才可以。
通过关键字参数
In [5]: ‘{name},{age}‘.format(age=18,name=‘kzc‘)  Out[5]: ‘kzc,18‘
通过对象属性
class Person:      def __init__(self,name,age):          self.name,self.age = name,age          def __str__(self):              return ‘This guy is {self.name},is {self.age} old‘.format(self=self)  

In [2]: str(Person(‘kzc‘,18))  Out[2]: ‘This guy is kzc,is 18 old‘

by subscript

In [7]: p=[‘kzc‘,18]In [8]: ‘{0[0]},{0[1]}‘.format(p)Out[8]: ‘kzc,18‘
有了这些便捷的“映射”方式,我们就有了偷懒利器。基本的Python知识告诉我们,list和tuple可以通过“打散”成普通参数给函数,而dict可以打散成关键字参数给函数(通过和*)。所以可以轻松的传个list/tuple/dict给format函数。非常灵活。

Format qualifier

It has a rich "format qualifier" (syntax is {} with:), such as:

fill and align
Padding is used in conjunction with alignment
^, <, > center, Align Left, right, back with width
: The fill character after the number, only one character, not specified by default is filled with a space
Like what

In [15]: ‘{:>8}‘.format(‘189‘)Out[15]: ‘     189‘In [16]: ‘{:0>8}‘.format(‘189‘)Out[16]: ‘00000189‘In [17]: ‘{:a>8}‘.format(‘189‘)Out[17]: ‘aaaaa189‘

accuracy and type F
Accuracy is often used in conjunction with Type F

In [44]: ‘{:.2f}‘.format(321.33345)Out[44]: ‘321.33‘
其中.2表示长度为2的精度,f表示float类型。

Other types

主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制。

In [54]: ‘{:b}‘.format(17)Out[54]: ‘10001‘In [55]: ‘{:d}‘.format(17)Out[55]: ‘17‘In [56]: ‘{:o}‘.format(17)Out[56]: ‘21‘In [57]: ‘{:x}‘.format(17)Out[57]: ‘11‘

Use, the number can also be used to make the amount of thousands separator.

in [+]: ' {:,} '. Format (1234567890) out[47]: ' 1,234,567,890 '

Python-enhanced formatted string format function

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.