1. 程式人生 > 其它 >030 向字串的format方式傳遞引數有幾種方式

030 向字串的format方式傳遞引數有幾種方式

1. 字串的format方法有幾種指定引數方式

1. 預設方式(傳入的引數與{}一一對應)

2. 命名引數

3. 位置引數

 

2. 通過程式碼詳細描述

s1 = 'Today is {}, the temperature is {} degrees.'
print(s1.format('Saturday', 24))

s2 = 'Today is {day}, the temperature is {degree} degrees.'
print(s2.format(degree=30, day='Saturday'))

s3 = 'Today is {week}, {}, the {} temperature is {degree}'
print(s3.format('abcd', 1234, degree=24, week='Sunday'))

s4 = 'Today is {week}, {1}, the {0} temperature is {degree} degrees'
print(s4.format('abcd', 1234, degree=24, week='Sunday'))

class Person:
    def __init__(self):
        self.age = 20
        self.name = 'Bill'

    def getName(self):
        return 'Bill'

person = Person()
# s5 = 'My name is {p.getName()}, my age is {p.age}.'
# print(s5.format(p = person))
# AttributeError: 'Person' object has no attribute 'getName()'

# 只能訪問屬性,不能訪問方法
s5 = 'My name is {p.name}, my age is {p.age}.'
print(s5.format(p = person))

 

Today is Saturday, the temperature is 24 degrees.
Today is Saturday, the temperature is 30 degrees.
Today is Sunday, abcd, the 1234 temperature is 24
Today is Sunday, 1234, the abcd temperature is 24 degrees
My name is Bill, my age is 20.

 

format方法使用一對大括號{}指定字串中需要替換的部分。

使用數字,表示引用特定位置的引數值

使用識別符號,根據名字設定位置的佔位符