1. 程式人生 > >Python 第16課 字串格式化2 Crossin的程式設計教室

Python 第16課 字串格式化2 Crossin的程式設計教室

分為兩種,分別為佔位符(%)和format方式。佔位符方式在Python2.x中用的比較廣泛,隨著Python3.x的使用越來越廣,format方式使用的更加廣泛。

一、佔位符

 

# -*- coding: UTF-8 -*-
from __future__ import print_function
print ("%s's score is %d" % ('Mike', 87))

Mike's score is 87

*注:3.x情況下為上圖,在2.x情況下,為print  "%s's score is %d" % ('Mike', 87)

二、format

位置對映

例項(Python3.0+):

1

2

print("{}:{}".format('192.168.0.100',8888))

#192.168.0.100:8888

關鍵字對映

例項(Python3.0+):

1

2

print("{server}{1}:{0}".format(8888,'192.168.1.100',server='Web Server Info :'))

#Web Server Info :192.168.1.100:8888  

元素訪問

例項(Python3.0+):

1

2

print("{0[0]}.{0[1]}".format(('baidu','com')))

#baidu.com 

填充對齊

  1. ^、<、>分別是居中、左對齊、右對齊

例項1(Python3.0+):

1

2

3

4

5

print("{0}*{1}={2:0>2}".format(3,2,2*3))

#3*2=06

print("{:*^30}".format('centered'))

#***********centered*********** 

例項2(Python3.0+):九九乘法表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

for in range(1,10):

= 1

while a <= i:

print("{0}*{1}={2:0>2}".format(a,i,a*i),end="\t")

+=1

print()

"""

1*1=01 

1*2=02  2*2=04 

1*3=03  2*3=06  3*3=09 

1*4=04  2*4=08  3*4=12  4*4=16 

1*5=05  2*5=10  3*5=15  4*5=20  5*5=25 

1*6=06  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36 

1*7=07  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49 

1*8=08  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64 

1*9=09  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81 

"""

小練習:

 print("{1[0]},{0[1]}".format((1,0),(2,9)))
2,0
>>> print("{0}*{1}={2:0>2}".format(3,2,2*3))
3*2=06
>>> print("{0}*{1}={2:>2}".format(3,2,2*3))
3*2= 6
>>> print("{0}*{1}={2:>}".format(3,2,2*3))
3*2=6
>>> print("{0}*{1}={2>}".format(3,2,2*3))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: '2>'

精度設定

例項(Python3.0+):

1

2

3

4

print("{:.3f}".format(2.1415))

#2.142

print("{:.10f}".format(3.1415))

#3.1415000000