Ghi đè str python

Trong bài học này, bạn sẽ thấy một cách Pythonic để chuyển đổi các đối tượng Python thành chuỗi bằng cách sử dụng __str__. Bạn cũng sẽ tìm hiểu ý nghĩa của __str__ và cũng học cách sử dụng nó trong một lớp Python

class Car:
    def __init__[self, color, mileage]:
        self.color = color
        self.mileage = mileage

    def __str__[self]:
        return 'a {self.color} car'.format[self=self]

paulakula11 trên

Tôi chỉ muốn giữ nó theo cách thời trang cũ

return 'a {} car'.format[self.color]

Hector trên

Perdon, nhưng nó có nghĩa là gì 'dunder' trong bối cảnh sử dụng nó ở đây? . Tôi tìm thấy cái này…www. merriam-webster. com/từ điển/dunder

Dan Bader Nhóm RP trên

@Hector. dunder là viết tắt của dấu gạch dưới kép trong ngữ cảnh này. Thêm ở đây trong hướng dẫn này. trăn thật. com/operator-function-overloading/

RMS bật

Còn về __str__1 thì sao?

Dan Bader Nhóm RP trên

@RMS hahah hay đấy, chưa từng nghe cái đó bao giờ. D Đó là một sự kết hợp hoàn hảo. Cách ly Corona, mã hóa Python và xem lại The Office…

Raïss Bahati trên

Phần format[self=self] từ dòng mã bên dưới khiến tôi bối rối. Logic đằng sau nó là gì?

Lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 của Python có nhiều tính năng hữu ích có thể giúp bạn khi bạn đang xử lý văn bản hoặc chuỗi trong mã của mình. Tuy nhiên, trong một số trường hợp, tất cả các tính năng tuyệt vời này có thể không đủ cho bạn. Bạn có thể cần tạo các lớp giống như chuỗi tùy chỉnh. Để làm điều này trong Python, bạn có thể kế thừa trực tiếp từ lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp sẵn hoặc lớp con
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4, nằm trong mô-đun
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5

Trong hướng dẫn này, bạn sẽ học cách

  • Tạo các lớp giống như chuỗi tùy chỉnh bằng cách kế thừa từ lớp
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    2 tích hợp
  • Xây dựng các lớp giống như chuỗi tùy chỉnh bằng cách phân lớp
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4 từ mô-đun
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    5
  • Quyết định khi nào nên sử dụng
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    2 hoặc
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4 để tạo các lớp giống như chuỗi tùy chỉnh

Trong khi chờ đợi, bạn sẽ viết một số ví dụ giúp bạn quyết định nên sử dụng

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 hay
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 khi tạo các lớp chuỗi tùy chỉnh của mình. Sự lựa chọn của bạn chủ yếu sẽ phụ thuộc vào trường hợp sử dụng cụ thể của bạn

Để làm theo hướng dẫn này, sẽ hữu ích nếu bạn quen thuộc với lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp sẵn của Python và các tính năng tiêu chuẩn của nó. Bạn cũng sẽ cần biết kiến ​​thức cơ bản về lập trình hướng đối tượng và kế thừa trong Python

Mã mẫu. Nhấp vào đây để tải xuống mã mẫu miễn phí mà bạn sẽ sử dụng để tạo các lớp giống như chuỗi tùy chỉnh

Tạo các lớp giống chuỗi trong Python

Lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp cho phép bạn tạo các chuỗi trong Python. Chuỗi là chuỗi ký tự mà bạn sẽ sử dụng trong nhiều tình huống, đặc biệt là khi làm việc với dữ liệu văn bản. Đôi khi, các chức năng tiêu chuẩn của
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 của Python có thể không đủ để đáp ứng nhu cầu của bạn. Vì vậy, bạn có thể muốn tạo các lớp giống như chuỗi tùy chỉnh để giải quyết vấn đề cụ thể của mình

Thông thường, bạn sẽ tìm thấy ít nhất hai lý do để tạo các lớp giống như chuỗi tùy chỉnh

  1. Mở rộng chuỗi thông thường bằng cách thêm chức năng mới
  2. Sửa đổi chức năng của chuỗi tiêu chuẩn

Bạn cũng có thể đối mặt với các tình huống trong đó bạn cần mở rộng và sửa đổi chức năng tiêu chuẩn của chuỗi cùng một lúc

Trong Python, bạn sẽ thường sử dụng một trong các kỹ thuật sau để tạo các lớp giống như chuỗi của mình. Bạn có thể kế thừa trực tiếp từ lớp dựng sẵn Python hoặc lớp con từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5

Ghi chú. Trong lập trình hướng đối tượng, thông thường người ta sử dụng các động từ inherit và subclass thay thế cho nhau

Một tính năng có liên quan của chuỗi Python là, có nghĩa là bạn không thể sửa đổi chúng tại chỗ. Vì vậy, khi chọn kỹ thuật thích hợp để tạo các lớp giống như chuỗi tùy chỉnh của riêng bạn, bạn cần xem xét liệu các tính năng mong muốn của mình có ảnh hưởng đến tính bất biến hay không

Ví dụ: nếu bạn cần sửa đổi hành vi hiện tại của các phương thức chuỗi hiện có, thì có lẽ bạn sẽ ổn khi phân lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2. Ngược lại, nếu bạn cần thay đổi cách chuỗi được tạo, thì việc kế thừa từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 sẽ yêu cầu kiến ​​thức nâng cao. Bạn sẽ phải ghi đè phương thức. Trong trường hợp sau này, việc thừa kế từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 có thể giúp cuộc sống của bạn dễ dàng hơn vì bạn sẽ không phải chạm vào
>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
1

Trong các phần sắp tới, bạn sẽ tìm hiểu những ưu và nhược điểm của từng kỹ thuật để bạn có thể quyết định đâu là chiến lược tốt nhất để sử dụng cho vấn đề cụ thể của mình

Loại bỏ các quảng cáo

Kế thừa từ lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp sẵn của Python

Trong một thời gian dài, không thể kế thừa trực tiếp từ các kiểu Python được triển khai trong C. Trăn 2. 2 đã khắc phục sự cố này. Bây giờ bạn có thể , bao gồm cả

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2. Tính năng mới này khá tiện lợi khi bạn cần tạo các lớp dạng chuỗi tùy chỉnh

Bằng cách kế thừa trực tiếp từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2, bạn có thể mở rộng và sửa đổi hành vi tiêu chuẩn của lớp dựng sẵn này. Bạn cũng có thể điều chỉnh các lớp giống như chuỗi tùy chỉnh của mình để thực hiện các phép biến đổi trước khi các phiên bản mới sẵn sàng

Mở rộng hành vi tiêu chuẩn của chuỗi

Một ví dụ về việc yêu cầu một lớp giống như chuỗi tùy chỉnh là khi bạn cần mở rộng các chuỗi Python tiêu chuẩn với hành vi mới. Ví dụ, giả sử rằng bạn cần một lớp dạng chuỗi cài đặt một phương thức mới để đếm số lượng từ trong chuỗi bên dưới

Trong ví dụ này, chuỗi tùy chỉnh của bạn sẽ sử dụng ký tự khoảng trắng làm dấu tách từ mặc định. Tuy nhiên, nó cũng sẽ cho phép bạn cung cấp một ký tự phân tách cụ thể. Để mã hóa một lớp đáp ứng những nhu cầu này, bạn có thể làm điều gì đó như thế này

>>>

>>> class WordCountString[str]:
..     def words[self, separator=None]:
..         return len[self.split[separator]]
...

Lớp này kế thừa trực tiếp từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2. Điều này có nghĩa là nó cung cấp giao diện giống như lớp cha của nó

Trên giao diện kế thừa này, bạn thêm một phương thức mới có tên là

>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
8. Phương thức này lấy một ký tự
>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
9 làm đối số được truyền cho
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
0. Giá trị mặc định của nó là
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
1 sẽ chạy trên khoảng trắng liên tiếp. Sau đó, bạn gọi
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
0 với dấu tách mục tiêu để tách chuỗi bên dưới thành các từ. Cuối cùng, bạn sử dụng hàm
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
3 để xác định số lượng từ

Đây là cách bạn có thể sử dụng lớp này trong mã của mình

>>>

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

Mát lạnh. Phương pháp

>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
8 của bạn hoạt động tốt. Nó chia văn bản đầu vào thành các từ và sau đó trả về số lượng từ. Bạn có thể sửa đổi cách phương pháp này phân định và xử lý các từ, nhưng cách triển khai hiện tại hoạt động tốt đối với ví dụ minh họa này

Trong ví dụ này, bạn chưa sửa đổi hành vi tiêu chuẩn của

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 của Python. Bạn vừa thêm hành vi mới vào lớp tùy chỉnh của mình. Tuy nhiên, bạn cũng có thể thay đổi hành vi mặc định của
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 bằng cách ghi đè bất kỳ phương thức mặc định nào của nó, khi bạn khám phá phần tiếp theo

Sửa đổi hành vi tiêu chuẩn của chuỗi

Để tìm hiểu cách sửa đổi hành vi tiêu chuẩn của

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 trong một lớp giống như chuỗi tùy chỉnh, hãy nói rằng bạn cần một lớp chuỗi luôn in các chữ cái của nó bằng chữ hoa. Bạn có thể làm điều này bằng cách ghi đè
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
8 , điều này quan tâm đến cách các đối tượng chuỗi được in

Đây là một lớp học

>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
9 hoạt động như bạn cần

>>>

>>> class UpperPrintString[str]:
..     def __str__[self]:
..         return self.upper[]
...

Một lần nữa, lớp này kế thừa từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2. Phương thức
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
8 trả về một bản sao cho chuỗi bên dưới,
>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
2, với tất cả các chữ cái của nó được viết hoa. Để biến đổi các chữ cái, bạn sử dụng phương thức

Để thử lớp giống như chuỗi tùy chỉnh của bạn, hãy tiếp tục và chạy đoạn mã sau

>>>

>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'

Khi bạn in một phiên bản của

>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
9, bạn sẽ nhận được chuỗi bằng chữ in hoa trên màn hình của mình. Lưu ý rằng chuỗi ban đầu không bị sửa đổi hoặc bị ảnh hưởng. Bạn chỉ thay đổi tính năng in tiêu chuẩn của
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2

Loại bỏ các quảng cáo

Tinh chỉnh quá trình khởi tạo của
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2

Trong phần này, bạn sẽ làm điều gì đó khác biệt. Bạn sẽ tạo một lớp dạng chuỗi biến đổi chuỗi đầu vào ban đầu trước khi tạo đối tượng chuỗi cuối cùng. Ví dụ: giả sử bạn cần một lớp dạng chuỗi lưu trữ tất cả các chữ cái của nó ở dạng chữ thường. Để làm điều này, bạn sẽ cố gắng ghi đè trình khởi tạo lớp,

>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7, và làm điều gì đó như thế này

>>>

>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...

Trong đoạn mã này, bạn cung cấp phương thức

>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7 ghi đè trình khởi tạo
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 mặc định. Bên trong triển khai
>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7 này, bạn sử dụng
>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
1 để truy cập phương thức
>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7 của lớp cha. Sau đó, bạn gọi
>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
3 trên chuỗi đầu vào để chuyển đổi tất cả các chữ cái của nó thành chữ thường trước khi khởi tạo chuỗi hiện tại

Tuy nhiên, đoạn mã trên không hoạt động, như bạn sẽ xác nhận trong ví dụ sau

>>>

>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...

Vì các đối tượng

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 là bất biến nên bạn không thể thay đổi giá trị của chúng trong
>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7. Điều này là do giá trị được đặt trong quá trình tạo đối tượng chứ không phải trong quá trình khởi tạo đối tượng. Cách duy nhất để chuyển đổi giá trị của một chuỗi đã cho trong quá trình khởi tạo là ghi đè phương thức

Đây là cách để làm điều này

>>>

>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'

Trong ví dụ này, lớp

>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
7 của bạn sẽ ghi đè phương thức
>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
1 của siêu lớp để tùy chỉnh cách tạo các thể hiện. Trong trường hợp này, bạn chuyển đổi chuỗi đầu vào trước khi tạo đối tượng
>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
7 mới. Bây giờ lớp học của bạn hoạt động như bạn cần. Nó lấy một chuỗi làm đầu vào và lưu nó dưới dạng một chuỗi chữ thường

Nếu bạn cần chuyển đổi chuỗi đầu vào tại thời điểm khởi tạo, thì bạn sẽ phải ghi đè

>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
1. Kỹ thuật này sẽ yêu cầu kiến ​​thức nâng cao về mô hình dữ liệu của Python và các phương thức đặc biệt

Phân lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 Từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5

Công cụ thứ hai cho phép bạn tạo các lớp giống như chuỗi tùy chỉnh là lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 từ mô-đun
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5. Lớp này là một trình bao bọc xung quanh loại
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp. Nó được thiết kế để phát triển các lớp dạng chuỗi khi không thể kế thừa trực tiếp từ lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp sẵn

Khả năng phân loại trực tiếp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 có nghĩa là bạn có thể ít cần đến
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4. Tuy nhiên, lớp này vẫn có sẵn trong thư viện chuẩn, để thuận tiện và tương thích ngược. Trên thực tế, lớp này cũng có một số tính năng ẩn có thể hữu ích, bạn sẽ sớm tìm hiểu

Tính năng phù hợp nhất của

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 là thuộc tính
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
0 của nó, cho phép bạn truy cập vào đối tượng chuỗi được bao bọc. Thuộc tính này có thể tạo điều kiện thuận lợi cho việc tạo chuỗi tùy chỉnh, đặc biệt trong trường hợp tùy chỉnh mong muốn của bạn ảnh hưởng đến khả năng thay đổi chuỗi

Trong hai phần sau, bạn sẽ xem lại các ví dụ từ các phần trước, nhưng lần này bạn sẽ phân lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 thay vì
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2. Để bắt đầu, bạn sẽ bắt đầu bằng cách mở rộng và sửa đổi hành vi tiêu chuẩn của chuỗi Python

Mở rộng và sửa đổi hành vi tiêu chuẩn của chuỗi

Thay vì phân lớp lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 dựng sẵn, bạn có thể triển khai
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
4 và
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
9 bằng cách kế thừa từ lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4. Việc triển khai mới này sẽ chỉ yêu cầu bạn thay đổi lớp cha. Bạn sẽ không phải thay đổi cách triển khai nội bộ ban đầu của các lớp học của mình

Đây là phiên bản mới của

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
4 và
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
9

>>>

>>> from collections import UserString

>>> class WordCountString[UserString]:
..     def words[self, separator=None]:
..         return len[self.split[separator]]
...

>>> class UpperPrintString[UserString]:
..     def __str__[self]:
..         return self.upper[]
...

Sự khác biệt duy nhất giữa những triển khai mới này và những triển khai ban đầu là hiện tại bạn đang kế thừa từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4. Lưu ý rằng kế thừa từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 yêu cầu bạn nhập lớp từ mô-đun
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5

Nếu bạn thử các lớp này với các ví dụ giống như trước, thì bạn sẽ xác nhận rằng chúng hoạt động giống như các lớp tương đương dựa trên

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2

>>>

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'

Trong các ví dụ này, cách triển khai mới của bạn đối với

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
4 và
>>> class LowerString[str]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...
9 hoạt động giống như cách triển khai cũ. Vì vậy, tại sao bạn nên sử dụng
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 thay vì
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2? . Tuy nhiên,
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 có ích khi bạn cần sửa đổi cách tạo chuỗi của mình

Loại bỏ các quảng cáo

Tinh chỉnh quá trình khởi tạo của
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4

Bạn có thể viết mã lớp

>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
7 bằng cách kế thừa từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4. Bằng cách thay đổi lớp cha, bạn sẽ có thể tùy chỉnh quy trình khởi tạo trong trình khởi tạo phiên bản,
>>> sample_string = LowerString["Hello, Pythonista!"]
Traceback [most recent call last]:
    ...
TypeError: object.__init__[] takes exactly one argument...
7, mà không ghi đè trình tạo phiên bản,
>>> sample_string = UpperPrintString["Hello, Pythonista!"]

>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
1

Đây là phiên bản mới của

>>> class LowerString[str]:
..     def __new__[cls, string]:
..         instance = super[].__new__[cls, string.lower[]]
..         return instance
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'
7 và cách nó hoạt động trong thực tế

>>>

>>> from collections import UserString

>>> class LowerString[UserString]:
..     def __init__[self, string]:
..         super[].__init__[string.lower[]]
...

>>> sample_string = LowerString["Hello, Pythonista!"]
>>> sample_string
'hello, pythonista!'

Trong ví dụ trên, bạn đã thực hiện các phép biến đổi đang chạy trên chuỗi đầu vào có thể bằng cách sử dụng

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 thay vì
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 làm lớp cha của bạn. Các phép biến đổi là có thể bởi vì
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 là một lớp trình bao bọc lưu trữ chuỗi cuối cùng trong thuộc tính
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68

>>> sample_string = UpperPrintString["Hello, Pythonista!"]
>>> print[sample_string]
HELLO, PYTHONISTA!

>>> sample_string
'Hello, Pythonista!'
0 của nó, là đối tượng bất biến thực sự

Bởi vì

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 là một trình bao bọc xung quanh lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2, nên nó cung cấp một cách linh hoạt và đơn giản để tạo các chuỗi tùy chỉnh với các hành vi có thể thay đổi. Việc cung cấp các hành vi có thể thay đổi bằng cách kế thừa từ
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 rất phức tạp do điều kiện bất biến tự nhiên của lớp

Trong phần sau, bạn sẽ sử dụng

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 để tạo một lớp giống chuỗi mô phỏng kiểu dữ liệu chuỗi có thể thay đổi

Mô phỏng các đột biến trong các lớp giống như chuỗi của bạn

Như một ví dụ cuối cùng về lý do tại sao bạn nên có

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 trong bộ công cụ Python của mình, giả sử rằng bạn cần một lớp giống như chuỗi có thể thay đổi. Nói cách khác, bạn cần một lớp dạng chuỗi mà bạn có thể sửa đổi tại chỗ

Không giống như danh sách và từ điển, chuỗi không cung cấp phương thức đặc biệt vì chúng không thay đổi. Chuỗi tùy chỉnh của bạn sẽ cần phương thức này để cho phép bạn cập nhật các ký tự và theo chỉ số của chúng bằng cách sử dụng một câu lệnh

Lớp giống như chuỗi của bạn cũng sẽ cần thay đổi hành vi tiêu chuẩn của các phương thức chuỗi phổ biến. Để giữ cho ví dụ này ngắn gọn, bạn sẽ chỉ sửa đổi các phương thức và. Cuối cùng, bạn sẽ cung cấp một phương pháp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
16 để sắp xếp chuỗi của bạn tại chỗ

Các phương thức chuỗi tiêu chuẩn không làm thay đổi chuỗi bên dưới. Chúng trả về một đối tượng chuỗi mới với phép biến đổi cần thiết. Trong chuỗi tùy chỉnh của bạn, bạn cần các phương thức để thực hiện các thay đổi của chúng tại chỗ

Để đạt được tất cả các mục tiêu này, hãy kích hoạt trình chỉnh sửa mã yêu thích của bạn, tạo một tệp có tên

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
17 và viết mã sau đây

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
0

Đây là cách mã này hoạt động theo từng dòng

  • Dòng 3 nhập khẩu

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4 từ
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    5

  • Dòng 5 tạo

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    20 như một phân lớp của
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4

  • Dòng 6 định nghĩa

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    13. Python gọi phương thức đặc biệt này bất cứ khi nào bạn chạy một thao tác gán trên một chuỗi bằng chỉ mục, như trong
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    23. Việc triển khai
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    13 này biến
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    >>> sample_string = UpperPrintString["Hello, Pythonista!"]
    >>> print[sample_string]
    HELLO, PYTHONISTA!
    
    >>> sample_string
    'Hello, Pythonista!'
    
    0 thành một danh sách, thay thế mục tại
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    26 bằng
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    27, tạo chuỗi cuối cùng bằng cách sử dụng
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    28 và gán giá trị của nó trở lại
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    >>> sample_string = UpperPrintString["Hello, Pythonista!"]
    >>> print[sample_string]
    HELLO, PYTHONISTA!
    
    >>> sample_string
    'Hello, Pythonista!'
    
    0. Toàn bộ quá trình mô phỏng một sự biến đổi hoặc đột biến tại chỗ

  • Dòng 11 định nghĩa , phương thức đặc biệt cho phép bạn sử dụng câu lệnh để xóa các ký tự theo chỉ mục khỏi chuỗi có thể thay đổi của bạn. Nó được triển khai tương tự như

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    13. Ở dòng 13, bạn sử dụng
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    31 để xóa các mục khỏi danh sách tạm thời

  • Dòng 16 ghi đè

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    34 và gọi
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    35 trên
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    >>> sample_string = UpperPrintString["Hello, Pythonista!"]
    >>> print[sample_string]
    HELLO, PYTHONISTA!
    
    >>> sample_string
    'Hello, Pythonista!'
    
    0. Sau đó, nó lưu kết quả trở lại vào
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    >>> sample_string = UpperPrintString["Hello, Pythonista!"]
    >>> print[sample_string]
    HELLO, PYTHONISTA!
    
    >>> sample_string
    'Hello, Pythonista!'
    
    0. Một lần nữa, hoạt động cuối cùng này mô phỏng một đột biến tại chỗ

  • Dòng 19 ghi đè

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    38 bằng kỹ thuật tương tự như trong
    >>> sample_string = LowerString["Hello, Pythonista!"]
    Traceback [most recent call last]:
        ...
    TypeError: object.__init__[] takes exactly one argument...
    
    3

  • Dòng 22 định nghĩa

    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    16, kết hợp hàm có sẵn với phương thức
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    42 để tạo phiên bản được sắp xếp của chuỗi gốc. Lưu ý rằng phương thức này có cùng chữ ký với
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    43 và hàm
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    41 được tích hợp sẵn

Đó là nó. Chuỗi có thể thay đổi của bạn đã sẵn sàng. Để dùng thử, hãy quay lại trình bao Python của bạn và chạy đoạn mã sau

>>>

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
1

Tuyệt vời. Lớp giống như chuỗi có thể thay đổi mới của bạn hoạt động như mong đợi. Nó cho phép bạn sửa đổi chuỗi bên dưới tại chỗ, như bạn sẽ làm với một chuỗi có thể thay đổi. Lưu ý rằng ví dụ này chỉ bao gồm một số phương thức chuỗi. Bạn có thể chơi với các phương thức khác và tiếp tục cung cấp cho lớp của mình các tính năng có thể thay đổi mới

Phần kết luận

Bạn đã học cách tạo các lớp giống như chuỗi tùy chỉnh với các hành vi mới hoặc được sửa đổi. Bạn đã thực hiện điều này bằng cách trực tiếp phân lớp con lớp

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 tích hợp sẵn và bằng cách kế thừa từ lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4, đây là một lớp thuận tiện có sẵn trong mô-đun
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
5

Kế thừa từ

>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
2 và phân lớp
>>> sample_text = WordCountString[
..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
..     harum nesciunt ipsum debitis quas aliquid."""
.. ]

>>> sample_text.words[]
68
4 đều là những tùy chọn phù hợp khi tạo các lớp giống như chuỗi của riêng bạn trong Python

Trong hướng dẫn này, bạn đã học cách

  • Tạo các lớp dạng chuỗi bằng cách kế thừa từ lớp
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    2 tích hợp
  • Xây dựng các lớp giống như chuỗi bằng cách phân lớp
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4 từ mô-đun
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    5
  • Quyết định khi nào nên phân lớp
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    2 hoặc
    >>> sample_text = WordCountString[
    ..     """Lorem ipsum dolor sit amet consectetur adipisicing elit. Maxime
    ..     mollitia, molestiae quas vel sint commodi repudiandae consequuntur
    ..     voluptatum laborum numquam blanditiis harum quisquam eius sed odit
    ..     fugiat iusto fuga praesentium optio, eaque rerum! Provident similique
    ..     accusantium nemo autem. Veritatis obcaecati tenetur iure eius earum
    ..     ut molestias architecto voluptate aliquam nihil, eveniet aliquid
    ..     culpa officia aut! Impedit sit sunt quaerat, odit, tenetur error,
    ..     harum nesciunt ipsum debitis quas aliquid."""
    .. ]
    
    >>> sample_text.words[]
    68
    
    4 để tạo các lớp giống như chuỗi tùy chỉnh của bạn

Bây giờ bạn đã sẵn sàng để viết các lớp giống như chuỗi tùy chỉnh, điều này sẽ cho phép bạn tận dụng toàn bộ sức mạnh của loại dữ liệu phổ biến và có giá trị này trong Python

Mã mẫu. Nhấp vào đây để tải xuống mã mẫu miễn phí mà bạn sẽ sử dụng để tạo các lớp giống như chuỗi tùy chỉnh

Đánh dấu là đã hoàn thành

🐍 Thủ thuật Python 💌

Nhận một Thủ thuật Python ngắn và hấp dẫn được gửi đến hộp thư đến của bạn vài ngày một lần. Không có thư rác bao giờ. Hủy đăng ký bất cứ lúc nào. Được quản lý bởi nhóm Real Python

Gửi cho tôi thủ thuật Python »

Giới thiệu về Leodanis Pozo Ramos

Leodanis là một kỹ sư công nghiệp yêu thích Python và phát triển phần mềm. Anh ấy là một nhà phát triển Python tự học với hơn 6 năm kinh nghiệm. Anh ấy là một nhà văn đam mê kỹ thuật với số lượng bài báo được xuất bản ngày càng tăng trên Real Python và các trang web khác

» Tìm hiểu thêm về Leodanis

Mỗi hướng dẫn tại Real Python được tạo bởi một nhóm các nhà phát triển để nó đáp ứng các tiêu chuẩn chất lượng cao của chúng tôi. Các thành viên trong nhóm đã làm việc trong hướng dẫn này là

Aldren

Bartosz

Geir Arne

kate

Philipp

Bậc thầy Kỹ năng Python trong thế giới thực Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng nghìn hướng dẫn, khóa học video thực hành và cộng đồng các Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Chuyên gia Kỹ năng Python trong thế giới thực
Với quyền truy cập không giới hạn vào Python thực

Tham gia với chúng tôi và có quyền truy cập vào hàng ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Nâng cao kỹ năng Python của bạn »

Bạn nghĩ sao?

Đánh giá bài viết này

Tweet Chia sẻ Chia sẻ Email

Bài học số 1 hoặc điều yêu thích mà bạn đã học được là gì?

Mẹo bình luận. Những nhận xét hữu ích nhất là những nhận xét được viết với mục đích học hỏi hoặc giúp đỡ các sinh viên khác. và nhận câu trả lời cho các câu hỏi phổ biến trong cổng thông tin hỗ trợ của chúng tôi

Phương pháp __ str __ dùng để làm gì?

Phương thức __str__[] trả về một biểu diễn chuỗi mà con người có thể đọc được hoặc không chính thức của một đối tượng . Phương thức này được gọi bởi các hàm print[] , str[] và format[] tích hợp sẵn.

Làm thế nào để __ str __ hoạt động trong Python?

Phương thức __str__ trong Python đại diện cho các đối tượng lớp dưới dạng một chuỗi – nó có thể được sử dụng cho các lớp. Phương thức __str__ nên được định nghĩa theo cách dễ đọc và xuất ra tất cả các thành viên của lớp. Phương thức này cũng được sử dụng như một công cụ sửa lỗi khi cần kiểm tra các thành viên của một lớp

Đâu là sự khác biệt giữa __ STR __ và __ REPR __ ?

Sau đây là sự khác biệt. str[] được sử dụng để tạo đầu ra cho người dùng cuối trong khi repr[] chủ yếu được sử dụng để gỡ lỗi và phát triển . mục tiêu của repr là rõ ràng và str là có thể đọc được.

Làm cách nào để chuyển đổi lớp str thành chuỗi trong Python?

Python hoàn toàn là về các đối tượng, do đó, các đối tượng có thể được chuyển đổi trực tiếp thành chuỗi bằng cách sử dụng các phương thức như str[] và repr[] . Phương thức str[] được sử dụng để chuyển đổi tất cả các đối tượng tích hợp thành chuỗi. Tương tự, phương thức repr[] như một phần của phương thức chuyển đổi đối tượng cũng được sử dụng để chuyển đổi một đối tượng trở lại chuỗi.

Chủ Đề