Computer >> Máy Tính >  >> Lập trình >> Python

Lớp mẫu chuỗi trong Python?

Lớp mẫu chuỗi Python được sử dụng để tạo một chuỗi mẫu đơn giản. Chuỗi mẫu Python lần đầu tiên được giới thiệu trong python 2.4. Mẫu chuỗi Python được tạo bằng cách chuyển các chuỗi mẫu làm đối số cho phương thức khởi tạo của nó. Trong đó các toán tử định dạng chuỗi được sử dụng cho ký hiệu phần trăm để thay thế và đối tượng mẫu sử dụng ký hiệu đô la.

Lớp mẫu cung cấp ba phương thức để tạo một chuỗi từ mẫu -

  • Class string.Template (mẫu ) - Hàm tạo nhận một đối số duy nhất, là chuỗi mẫu.

  • thay thế (ánh xạ, ** từ khóa) - Phương thức thay thế các giá trị chuỗi (ánh xạ) cho các giá trị chuỗi mẫu. Ánh xạ là một đối tượng giống như từ điển và các giá trị của nó có thể được truy cập như một từ điển. Nếu đối số từ khóa được sử dụng, đối số này đại diện cho trình giữ chỗ. Khi cả ánh xạ và từ khóa được sử dụng, từ khóa sẽ được ưu tiên hơn. Nếu thiếu trình giữ chỗ trong ánh xạ hoặc từ khóa, lỗi keyError sẽ xuất hiện.

  • safe_subsults (ánh xạ, ** từ khóa) - Các hàm tương tự như hàm thay thế (). Tuy nhiên, nếu trình giữ chỗ bị thiếu trong ánh xạ hoặc từ khóa, trình giữ chỗ ban đầu được sử dụng theo mặc định, do đó tránh được Lỗi KeyError. Ngoài ra, bất kỳ sự xuất hiện nào của ‘$’ đều trả về một ký hiệu đô la.

Các đối tượng mẫu cũng có một thuộc tính có sẵn công khai−

  • Mẫu - Nó là đối tượng được chuyển đến đối số mẫu của hàm tạo. Mặc dù quyền truy cập chỉ đọc không được thực thi, nhưng bạn không nên thay đổi thuộc tính này trong chương trình của mình.

Ví dụ về chuỗi mẫu Python

from string import Template

t = Template('$when, $who $action $what.')
s= t.substitute(when='In the winter', who='Rajesh', action='drinks', what ='Coffee')
print(s)

#dictionary as substitute argument

d = {"when":"In the winter", "who":"Rajesh", "action":"drinks","what":"Coffee"}
s = t.substitute(**d)
print(s)

đầu ra

In the winter, Rajesh drinks Coffee.
In the winter, Rajesh drinks Coffee.

safe_substitution ()

from string import Template

t = Template('$when, $who $action $what.')
s= t.safe_substitute(when='In the winter', who='Rajesh', action='drinks', what ='Coffee')
print(s)

Kết quả

In the winter, Rajesh drinks Coffee.

Chuỗi mẫu in

Thuộc tính mẫu trong đối tượng mẫu trả về chuỗi mẫu.

from string import Template

t = Template('$when, $who $action $what.')
print('Template String: ', t.template)

Kết quả

Template String: $when, $who $action $what.

Đang thoát $ sign

from string import Template

t = Template('$$ is called $name')
s=t.substitute(name='Dollar')
print(s)

Kết quả

$ is called Dollar

${identifier} example

${<identifier>} is equivalent to $<identifier>

Điều này là bắt buộc khi các ký tự định danh hợp lệ theo sau trình giữ chỗ nhưng không phải là một phần của trình giữ chỗ, chẳng hạn như $ {noun} ification.

from string import Template
t = Template('$noun adjective is ${noun}ing')
s = t.substitute(noun='Test')
print(s)

Kết quả

Test adjective is Testing