Văn bản được định dạng trong Python là gì?

Lớp FormattedDocument duy trì thông tin kiểu dáng cho các ký tự riêng lẻ trong văn bản, thay vì một kiểu duy nhất cho toàn bộ tài liệu. Ví dụ, các kiểu có thể được truy cập và sửa đổi theo tên

Bên trong, các kiểu ký tự được mã hóa theo độ dài chạy trên văn bản tài liệu;

Theo quan điểm của tài liệu, không có tên kiểu được xác định trước. nó chỉ đơn giản ánh xạ tên và phạm vi ký tự thành các giá trị Python tùy ý. Chính các lớp TextLayout diễn giải thông tin kiểu dáng này; . Các tên kiểu không được nhận dạng sẽ bị bố cục bỏ qua -- bạn có thể sử dụng kiến ​​thức này để lưu trữ dữ liệu bổ sung cùng với văn bản tài liệu [ví dụ: URL phía sau siêu liên kết]

pyglet cung cấp hai định dạng để giải mã các tài liệu được định dạng từ văn bản thuần túy. Chúng rất hữu ích để tải các tài liệu đã chuẩn bị sẵn, chẳng hạn như màn hình trợ giúp. Tại thời điểm này, không có phương tiện để lưu [mã hóa] tài liệu được định dạng

Định dạng văn bản được phân bổ là mã hóa dành riêng cho pyglet có thể mô tả chính xác bất kỳ FormattedDocument nào. Bạn phải sử dụng mã hóa này để truy cập tất cả các tính năng của bố cục văn bản pyglet. Để biết mã hóa dễ truy cập hơn nhưng ít tính năng hơn, hãy xem mã hóa, được mô tả bên dưới

Ví dụ sau đây cho thấy một tài liệu được mã hóa văn bản được phân bổ đơn giản

Chapter 1

My father's family name being Pirrip, and my Christian name Philip,
my infant tongue could make of both names nothing longer or more
explicit than Pip.  So, I called myself Pip, and came to be called
Pip.

I give Pirrip as my father's family name, on the authority of his
tombstone and my sister - Mrs. Joe Gargery, who married the
blacksmith.  As I never saw my father or my mother, and never saw
any likeness of either of them [for their days were long before the
days of photographs], my first fancies regarding what they were
like, were unreasonably derived from their tombstones.

Các dòng mới bị bỏ qua, trừ khi hai dòng được thực hiện liên tiếp, biểu thị ngắt đoạn. Có thể buộc ngắt dòng bằng lệnh \\

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.

Ngắt dòng cũng bị ép buộc khi văn bản được thụt lề bằng một hoặc nhiều khoảng trắng hoặc tab, điều này hữu ích cho việc sắp chữ mã

The following paragraph has hard line breaks for every line of code:

    import pyglet

    window = pyglet.window.Window[]
    pyglet.app.run[]

Văn bản có thể được tạo kiểu bằng cách sử dụng thẻ thuộc tính

This sentence makes a {bold True}bold{bold False} statement.

Thẻ thuộc tính bao gồm tên thuộc tính [trong ví dụ này, in đậm] theo sau là một bool Python, int, float, string, tuple hoặc list

Không giống như hầu hết các tài liệu có cấu trúc như HTML, văn bản được gán không có khái niệm về "kết thúc" của một kiểu; . Điều này tương ứng chính xác với biểu diễn được sử dụng bởi FormattedDocument trong nội bộ

Một số ví dụ khác sau đây

{font_name 'Times New Roman'}{font_size 28}Hello{font_size 12},
{color [255, 0, 0, 255]}world{color [0, 0, 0, 255]}!

[Ví dụ này sử dụng 28pt Times New Roman cho từ "Xin chào" và văn bản màu đỏ 12pt cho từ "thế giới"]

Các kiểu đoạn văn có thể được đặt bằng cách đặt trước tên kiểu với một dấu chấm [. ]. Điều này đảm bảo phạm vi kiểu bao gồm chính xác đoạn văn

{.margin_left "12px"}This is a block quote, as the margin is inset.

{.margin_left "24px"}This paragraph is inset yet again.

Văn bản được phân bổ có thể được tải dưới dạng chuỗi Unicode. Ngoài ra, bất kỳ ký tự nào cũng có thể được chèn với điểm mã Unicode của nó ở dạng số, hoặc ở dạng thập phân

Các hoạt động định dạng được mô tả ở đây [toán tử %] thể hiện nhiều điểm kỳ quặc dẫn đến một số lỗi phổ biến [. ]. Sử dụng phiên bản mới hơn [. ] giúp tránh những lỗi này. Những lựa chọn thay thế này cũng cung cấp các cách tiếp cận mạnh mẽ, linh hoạt và có thể mở rộng hơn để định dạng văn bản

% nhà điều hành

Thích chuỗi ký tự hơn

Đối với mã mới, sử dụng hoặc [Python 3. 6+] trên toán tử

>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"
2 được khuyến nghị mạnh mẽ

>>> name = 'Pete'
>>> 'Hello %s' % name
# "Hello Pete"

Chúng ta có thể sử dụng trình xác định định dạng

>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"
3 để chuyển đổi giá trị int thành chuỗi

>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"

str. định dạng

Python 3 đã giới thiệu một cách mới để thực hiện định dạng chuỗi mà sau này được chuyển ngược lại sang Python 2. 7. Điều này làm cho cú pháp định dạng chuỗi thường xuyên hơn

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
0

Định dạng String Literals hoặc f-Strings

Nếu bạn đang sử dụng Python 3. 6+, chuỗi

>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"
4 là cách được đề xuất để định dạng chuỗi

Từ

Một chuỗi ký tự chuỗi được định dạng hoặc chuỗi f là một chuỗi ký tự có tiền tố là `f` hoặc `F`. Các chuỗi này có thể chứa các trường thay thế, là các biểu thức được phân tách bằng dấu ngoặc nhọn {}. Trong khi các chuỗi ký tự khác luôn có giá trị không đổi, các chuỗi được định dạng thực sự là các biểu thức được đánh giá trong thời gian chạy

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
2

Thậm chí có thể thực hiện số học nội tuyến với nó

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
3

Chuỗi f nhiều dòng

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
4

Trình xác định
>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"
5

Điều này sẽ in biểu thức và giá trị của nó

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
6

Thêm khoảng trắng hoặc ký tự

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
7

định dạng chữ số

Thêm dấu phân cách hàng nghìn

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
8

làm tròn

This is the way the world ends \\
This is the way the world ends \\
This is the way the world ends \\
Not with a bang but a whimper.
9

Hiển thị dưới dạng Phần trăm

>>> num = 5
>>> 'I have %d apples' % num
# "I have 5 apples"
0

Bảng định dạng số

SốĐịnh dạngĐầu ramô tả3. 1415926{. 2f}3. 14Định dạng float 2 chữ số thập phân3. 1415926{. +. 2f}+3. 14Định dạng float 2 chữ số thập phân có dấu-1{. +. 2f}-1. 00 Định dạng float 2 chữ số thập phân có dấu2. 71828{. 0f}3 Định dạng float không có chữ số thập phân{. 0>2d}04Số pad có số 0 [phần đệm bên trái, chiều rộng 2]4{. x

Chủ Đề