Bạn có thể gán giá trị cho một chuỗi trong python không?

The Python programming language, despite its ease of use, offers a depth of useful functions, modules and data structures. One of these data structures, the "dictionary" data structure, functions as a storage structure for collections of key-value pairs. Bằng cách sử dụng các cặp khóa-giá trị này, lập trình viên có thể gán giá trị cho người chỉ định khóa, chẳng hạn như hình ảnh. In this way, the programmer can get beyond the limitations of type conversion to a more flexible model of value assignment

Strings and Values

  1. Typically, when assigning a value to a word, the easiest [and most limiting] technique to to take the ASCII value of each letter in a word and calculate all of them together. Using the "ord" function, you can convert a letter to its numerical representation; then it's simply be a matter of adding the letters. However, this value can never change, since ASCII specifications are permanent, and a word can have only one or two possible values [depending on capitalization]

Key-Value Pairs

  1. Another way to assign values to words is to construct key-value pairs. In a key-value pair, each key, which can be anything including words, has an associated value. So, for example, the key "Father" could have a value of "Bob. " Or, more relevantly, a key of "Hits" [or any word] could have a value of 55. In the latter case, the word is given the value of 55

Dictionaries in Python

  1. In order to store key-value pairs in Python, you can use the dictionary data structure. The dictionary functions in a similar fashion to the Python list, in that it is a collection of data. In this case, however, dictionaries hold key-value pairs instead of single values. For example, the key-value pair ["Hits," 55] can be stored as an entry to a dictionary, and the value 55 can be referenced by its key word, "hits. "

A List of Words with Assigned Values

  1. Như một ví dụ, đoạn mã sau đây cho thấy một từ điển hoạt động như thế nào. Bạn lưu trữ các cặp khóa-giá trị vào từ điển, đồng thời bạn cũng tạo các khóa mới và gán giá trị mới cho chúng. Sau đó, bạn có thể chỉ cần gọi các giá trị bằng cách tham khảo từ khóa

    Trong hướng dẫn về Các kiểu dữ liệu cơ bản trong Python, bạn đã học cách xác định chuỗi. các đối tượng chứa chuỗi dữ liệu ký tự. Xử lý dữ liệu ký tự là không thể thiếu trong lập trình. Đây là một ứng dụng hiếm hoi không cần thao tác với chuỗi ít nhất ở một mức độ nào đó

    Đây là những gì bạn sẽ học trong hướng dẫn này. Python cung cấp một tập hợp phong phú các toán tử, hàm và phương thức để làm việc với chuỗi. Khi bạn hoàn thành hướng dẫn này, bạn sẽ biết cách truy cập và trích xuất các phần của chuỗi, đồng thời làm quen với các phương thức có sẵn để thao tác và sửa đổi dữ liệu chuỗi

    Bạn cũng sẽ được giới thiệu về hai đối tượng Python khác được sử dụng để biểu diễn dữ liệu byte thô, các loại

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30

    Take the Quiz. Test your knowledge with our interactive “Python Strings and Character Data” quiz. Upon completion you will receive a score so you can track your learning progress over time

    Take the Quiz »

    String Manipulation

    The sections below highlight the operators, methods, and functions that are available for working with strings

    Remove ads

    String Operators

    You have already seen the operators

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31 and
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32 applied to numeric operands in the tutorial on Operators and Expressions in Python. These two operators can be applied to strings as well

    The
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31 Operator

    The

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31 operator concatenates strings. It returns a string consisting of the operands joined together, as shown here

    >>>

    >>> s = 'foo'
    >>> t = 'bar'
    >>> u = 'baz'
    
    >>> s + t
    'foobar'
    >>> s + t + u
    'foobarbaz'
    
    >>> print['Go team' + '!!!']
    Go team!!!
    

    The
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32 Operator

    The

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32 operator creates multiple copies of a string. If
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 is a string and
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38 is an integer, either of the following expressions returns a string consisting of
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38 concatenated copies of
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    41
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    42

    Here are examples of both forms

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    

    The multiplier operand

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38 must be an integer. You’d think it would be required to be a positive integer, but amusingly, it can be zero or negative, in which case the result is an empty string

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    7

    If you were to create a string variable and initialize it to the empty string by assigning it the value

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    44, anyone would rightly think you were a bit daft. Nhưng nó sẽ hoạt động

    The
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    45 Operator

    Python also provides a membership operator that can be used with strings. The

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    45 operator returns
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 if the first operand is contained within the second, and
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 otherwise

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    3

    There is also a

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    49 operator, which does the opposite

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    5

    Built-in String Functions

    As you saw in the tutorial on Basic Data Types in Python, Python provides many functions that are built-in to the interpreter and always available. Here are a few that work with strings

    FunctionDescription

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    50Converts an integer to a character
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    51Converts a character to an integer
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    52Returns the length of a string
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    53Returns a string representation of an object

    These are explored more fully below

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    54

    Returns an integer value for the given character

    At the most basic level, computers store all information as numbers. To represent character data, a translation scheme is used which maps each character to its representative number

    The simplest scheme in common use is called ASCII. It covers the common Latin characters you are probably most accustomed to working with. For these characters,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    54 returns the ASCII value for character
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    56

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    3

    ASCII is fine as far as it goes. But there are many different languages in use in the world and countless symbols and glyphs that appear in digital media. The full set of characters that potentially may need to be represented in computer code far surpasses the ordinary Latin letters, numbers, and symbols you usually see

    Unicode is an ambitious standard that attempts to provide a numeric code for every possible character, in every possible language, on every possible platform. Python 3 supports Unicode extensively, including allowing Unicode characters within strings

    For More Information. See Unicode & Character Encodings in Python. A Painless Guide and Python’s Unicode Support in the Python documentation

    As long as you stay in the domain of the common characters, there is little practical difference between ASCII and Unicode. But the

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    51 function will return numeric values for Unicode characters as well

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    5

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    58

    Returns a character value for the given integer

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    50 does the reverse of
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    51. Given a numeric value
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    58 returns a string representing the character that corresponds to
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    2

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    50 handles Unicode characters as well

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    4

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    65

    Returns the length of a string

    With

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    52, you can check Python string length.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    65 returns the number of characters in
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    9

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    69

    Returns a string representation of an object

    Virtually any object in Python can be rendered as a string.

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    69 returns the string representation of object
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    71

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    0

    Remove ads

    String Indexing

    Often in programming languages, individual items in an ordered set of data can be accessed directly using a numeric index or key value. This process is referred to as indexing

    In Python, strings are ordered sequences of character data, and thus can be indexed in this way. Individual characters in a string can be accessed by specifying the string name followed by a number in square brackets [

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    72]

    String indexing in Python is zero-based. the first character in the string has index

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    73, the next has index
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    74, and so on. The index of the last character will be the length of the string minus one

    For example, a schematic diagram of the indices of the string

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    75 would look like this

    String Indices

    Các ký tự riêng lẻ có thể được truy cập theo chỉ mục như sau

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    1

    Cố gắng lập chỉ mục ngoài phần cuối của chuỗi dẫn đến lỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    2

    Chỉ mục chuỗi cũng có thể được chỉ định bằng số âm, trong trường hợp đó, việc lập chỉ mục xảy ra từ cuối chuỗi trở lại.

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76 đề cập đến ký tự cuối cùng,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    77 ký tự thứ hai đến cuối cùng, v.v. Đây là sơ đồ tương tự hiển thị cả chỉ số dương và âm trong chuỗi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    75

    Chỉ số chuỗi dương và âm

    Dưới đây là một số ví dụ về lập chỉ mục tiêu cực

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    3

    Cố gắng lập chỉ mục với các số âm ngoài phần đầu của chuỗi dẫn đến lỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    4

    Đối với bất kỳ chuỗi không trống nào, cả

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    80 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    81 đều trả về ký tự cuối cùng. Không có bất kỳ chỉ mục nào có ý nghĩa đối với một chuỗi rỗng

    cắt chuỗi

    Python cũng cho phép một dạng cú pháp lập chỉ mục trích xuất các chuỗi con từ một chuỗi, được gọi là cắt chuỗi. Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 là một chuỗi, một biểu thức có dạng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    83 trả về phần của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 bắt đầu với vị trí
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    85 và cho đến nhưng không bao gồm vị trí
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    5

    Nhớ lại. Các chỉ số chuỗi dựa trên số không. Ký tự đầu tiên trong chuỗi có chỉ số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    73. Điều này áp dụng cho cả lập chỉ mục tiêu chuẩn và cắt lát

    Một lần nữa, chỉ mục thứ hai xác định ký tự đầu tiên không được bao gồm trong kết quả—ký tự

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    88 [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    89] trong ví dụ trên. Điều đó có vẻ hơi không trực quan, nhưng nó tạo ra kết quả này có ý nghĩa. biểu thức
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    83 sẽ trả về một chuỗi con có độ dài
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    91 ký tự, trong trường hợp này là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    92

    Nếu bạn bỏ qua chỉ mục đầu tiên, lát cắt sẽ bắt đầu ở đầu chuỗi. Như vậy,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    93 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    94 là tương đương

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    6

    Tương tự, nếu bạn bỏ qua chỉ mục thứ hai như trong

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    95, lát cắt sẽ kéo dài từ chỉ mục đầu tiên cho đến hết chuỗi. Đây là một thay thế hay, ngắn gọn cho
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    96 rườm rà hơn

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    7

    Đối với bất kỳ chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 và bất kỳ số nguyên
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38 [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    99],
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    700 sẽ bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    8

    Bỏ qua cả hai chỉ số trả về toàn bộ chuỗi gốc. Theo đúng nghĩa đen. Nó không phải là một bản sao, nó là một tham chiếu đến chuỗi gốc

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    9

    Nếu chỉ mục đầu tiên trong một lát cắt lớn hơn hoặc bằng chỉ mục thứ hai, Python sẽ trả về một chuỗi rỗng. Đây là một cách khó hiểu khác để tạo ra một chuỗi trống, trong trường hợp bạn đang tìm kiếm một chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    70

    Các chỉ số tiêu cực cũng có thể được sử dụng với cắt lát.

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76 đề cập đến ký tự cuối cùng,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    77 từ thứ hai đến cuối cùng, v.v., giống như với lập chỉ mục đơn giản. Sơ đồ dưới đây cho thấy cách cắt chuỗi con
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    704 từ chuỗi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    75 bằng cách sử dụng cả chỉ số dương và âm

    Cắt chuỗi với các chỉ số tích cực và tiêu cực

    Đây là mã Python tương ứng

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    71

    Remove ads

    Chỉ định một Stride trong một String Slice

    Có thêm một biến thể của cú pháp cắt để thảo luận. Thêm một

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    706 bổ sung và chỉ số thứ ba chỉ định một sải chân [còn gọi là bước], cho biết có bao nhiêu ký tự cần nhảy sau khi truy xuất từng ký tự trong lát cắt

    Ví dụ: đối với chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    75, lát cắt
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    708 bắt đầu bằng ký tự đầu tiên và kết thúc bằng ký tự cuối cùng [toàn bộ chuỗi] và mọi ký tự thứ hai đều bị bỏ qua. Điều này được thể hiện trong sơ đồ sau

    Lập chỉ mục chuỗi với Stride

    Tương tự,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    709 chỉ định một lát cắt bắt đầu bằng ký tự thứ hai [chỉ mục
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    74] và kết thúc bằng ký tự cuối cùng, và một lần nữa, giá trị sải chân
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    711 khiến mọi ký tự khác bị bỏ qua

    Lập chỉ mục chuỗi khác với Stride

    Mã REPL minh họa được hiển thị ở đây

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    72

    Như với bất kỳ phép cắt nào, chỉ số đầu tiên và thứ hai có thể được bỏ qua và mặc định tương ứng với các ký tự đầu tiên và cuối cùng

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    73

    Bạn cũng có thể chỉ định giá trị sải chân âm, trong trường hợp đó, Python sẽ lùi lại qua chuỗi. Trong trường hợp đó, chỉ số bắt đầu/đầu tiên phải lớn hơn chỉ số kết thúc/thứ hai

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    74

    Trong ví dụ trên,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    712 có nghĩa là “bắt đầu từ ký tự cuối cùng và lùi lại bởi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    711, cho đến nhưng không bao gồm ký tự đầu tiên. ”

    Khi bạn lùi lại, nếu chỉ số thứ nhất và thứ hai bị bỏ qua, giá trị mặc định sẽ bị đảo ngược theo cách trực quan. chỉ mục đầu tiên mặc định ở cuối chuỗi và chỉ mục thứ hai mặc định ở đầu. Đây là một ví dụ

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    75

    Đây là một mô hình phổ biến để đảo ngược một chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76

    Nội suy các biến thành một chuỗi

    Trong Python phiên bản 3. 6, một cơ chế định dạng chuỗi mới đã được giới thiệu. Tính năng này có tên chính thức là Formatted String Literal, nhưng thường được gọi bằng biệt danh f-string

    Khả năng định dạng được cung cấp bởi chuỗi f rất rộng và sẽ không được trình bày chi tiết đầy đủ ở đây. Nếu muốn tìm hiểu thêm, bạn có thể xem bài viết Real Python Python 3’s f-Strings. Cú pháp định dạng chuỗi được cải thiện [Hướng dẫn]. Ngoài ra còn có một hướng dẫn về Đầu ra được định dạng xuất hiện sau trong loạt bài này để tìm hiểu sâu hơn về chuỗi f

    Một tính năng đơn giản của f-string mà bạn có thể bắt đầu sử dụng ngay là nội suy biến. Bạn có thể chỉ định một tên biến trực tiếp trong một chuỗi ký tự f và Python sẽ thay thế tên đó bằng giá trị tương ứng

    Ví dụ: giả sử bạn muốn hiển thị kết quả của phép tính số học. Bạn có thể làm điều này với một câu lệnh

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    714 đơn giản, phân tách các giá trị số và chuỗi ký tự bằng dấu phẩy

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    77

    Nhưng điều này là cồng kềnh. Để thực hiện điều tương tự bằng cách sử dụng chuỗi f

    • Chỉ định chữ thường
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      715 hoặc chữ hoa
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      716 ngay trước dấu ngoặc kép mở đầu của chuỗi ký tự. Điều này cho Python biết đó là chuỗi f thay vì chuỗi tiêu chuẩn
    • Chỉ định bất kỳ biến nào được nội suy trong dấu ngoặc nhọn [
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      717]

    Viết lại bằng chuỗi f, ví dụ trên trông gọn gàng hơn nhiều

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    78

    Bất kỳ cơ chế trích dẫn nào trong số ba cơ chế trích dẫn của Python đều có thể được sử dụng để xác định chuỗi f

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    79

    Remove ads

    sửa đổi chuỗi

    Tóm lại, bạn không thể. Chuỗi là một trong những kiểu dữ liệu Python coi là bất biến, nghĩa là không thể thay đổi. Trên thực tế, tất cả các kiểu dữ liệu bạn đã thấy cho đến nay đều là bất biến. [Python cung cấp các kiểu dữ liệu có thể thay đổi, như bạn sẽ sớm thấy. ]

    Một tuyên bố như thế này sẽ gây ra một lỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30

    Trên thực tế, thực sự không cần phải sửa đổi nhiều chuỗi. Bạn thường có thể dễ dàng thực hiện những gì mình muốn bằng cách tạo một bản sao của chuỗi gốc có thay đổi mong muốn tại chỗ. Có rất nhiều cách để làm điều này trong Python. Đây là một khả năng

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31

    Ngoài ra còn có một phương thức chuỗi tích hợp để thực hiện điều này

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32

    Đọc tiếp để biết thêm thông tin về các phương thức chuỗi tích hợp

    Các phương thức chuỗi tích hợp

    Bạn đã học trong hướng dẫn về Biến trong Python rằng Python là một ngôn ngữ hướng đối tượng cao. Mỗi mục dữ liệu trong chương trình Python là một đối tượng

    Bạn cũng đã quen thuộc với các chức năng. các thủ tục có thể gọi được mà bạn có thể gọi để thực hiện các tác vụ cụ thể

    Phương thức tương tự như hàm. Một phương thức là một loại thủ tục có thể gọi được chuyên biệt được liên kết chặt chẽ với một đối tượng. Giống như một hàm, một phương thức được gọi để thực hiện một tác vụ riêng biệt, nhưng nó được gọi trên một đối tượng cụ thể và có kiến ​​thức về đối tượng đích của nó trong quá trình thực thi

    Cú pháp gọi một phương thức trên một đối tượng như sau

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    33

    Điều này gọi phương thức

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    718 trên đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    71.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    720 chỉ định các đối số được truyền cho phương thức [nếu có]

    Bạn sẽ khám phá nhiều hơn nữa về việc định nghĩa và gọi các phương thức sau này trong phần thảo luận về lập trình hướng đối tượng. Hiện tại, mục tiêu là trình bày một số phương thức tích hợp được sử dụng phổ biến hơn mà Python hỗ trợ để thao tác trên các đối tượng chuỗi

    In the following method definitions, arguments specified in square brackets [

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    72] are optional

    Chuyển đổi trường hợp

    Các phương thức trong nhóm này thực hiện chuyển đổi trường hợp trên chuỗi mục tiêu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    722

    Viết hoa chuỗi mục tiêu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    722 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với ký tự đầu tiên được chuyển thành chữ hoa và tất cả các ký tự khác được chuyển thành chữ thường

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    34

    Các ký tự không phải là bảng chữ cái không thay đổi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    35

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    725

    Chuyển đổi các ký tự chữ cái thành chữ thường

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    725 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với tất cả các ký tự chữ cái được chuyển thành chữ thường

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    36

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    728

    Trường hợp hoán đổi của các ký tự chữ cái

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    728 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với các ký tự chữ hoa được chuyển thành chữ thường và ngược lại

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    731

    Chuyển đổi chuỗi mục tiêu thành "trường hợp tiêu đề. ”

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    731 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 trong đó chữ cái đầu tiên của mỗi từ được chuyển đổi thành chữ hoa và các chữ cái còn lại là chữ thường

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38

    Phương pháp này sử dụng một thuật toán khá đơn giản. Nó không cố gắng phân biệt giữa các từ quan trọng và không quan trọng, và nó không xử lý các dấu nháy đơn, sở hữu hoặc từ viết tắt một cách duyên dáng

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    39

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    734

    Chuyển đổi các ký tự chữ cái thành chữ hoa

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    734 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với tất cả các ký tự chữ cái được chuyển thành chữ hoa

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    50

    Tìm và thay thế

    Các phương thức này cung cấp các phương tiện khác nhau để tìm kiếm chuỗi mục tiêu cho một chuỗi con đã chỉ định

    Mỗi phương thức trong nhóm này hỗ trợ các đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738 tùy chọn. Chúng được hiểu là để cắt chuỗi. hành động của phương thức bị giới hạn ở phần của chuỗi đích bắt đầu từ vị trí ký tự
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và tiếp tục đến nhưng không bao gồm vị trí ký tự
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738. Nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 được chỉ định nhưng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738 thì không, phương pháp này sẽ áp dụng cho phần của chuỗi mục tiêu từ
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 đến hết chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    744

    Đếm số lần xuất hiện của một chuỗi con trong chuỗi đích

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    745 trả về số lần xuất hiện không chồng lấp của chuỗi con
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    746 trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    51

    Số lượng được giới hạn ở số lần xuất hiện trong chuỗi con được chỉ định bởi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738, nếu chúng được chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    52

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    750

    Xác định xem chuỗi mục tiêu có kết thúc bằng một chuỗi con đã cho hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    751 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 kết thúc bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    754 đã chỉ định và ngược lại là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    53

    Việc so sánh được giới hạn ở chuỗi con được chỉ định bởi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738, nếu chúng được chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    54

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    758

    Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định

    Bạn có thể sử dụng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    759 để xem chuỗi Python có chứa chuỗi con cụ thể không.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    760 trả về chỉ số thấp nhất trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 nơi tìm thấy chuỗi con
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    746

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    55

    Phương thức này trả về

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76 nếu không tìm thấy chuỗi con đã chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    56

    Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738, nếu chúng được chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    57

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    766

    Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định

    Phương pháp này giống hệt với

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    759, ngoại trừ việc nó đưa ra một ngoại lệ nếu không tìm thấy
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    746 thay vì trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    58

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    770

    Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định bắt đầu từ cuối

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    771 trả về chỉ số cao nhất trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 nơi tìm thấy chuỗi con
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    746

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    59

    Như với

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    759, nếu không tìm thấy chuỗi con, thì trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30

    Tìm kiếm được giới hạn trong chuỗi con được chỉ định bởi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738, nếu chúng được chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    31

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    778

    Tìm kiếm chuỗi mục tiêu cho một chuỗi con nhất định bắt đầu từ cuối

    Phương thức này giống hệt với

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    779, ngoại trừ việc nó đưa ra một ngoại lệ nếu không tìm thấy
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    746 thay vì trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    32

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    782

    Xác định xem chuỗi mục tiêu có bắt đầu bằng một chuỗi con đã cho hay không

    Khi bạn sử dụng phương thức Python

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    783,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    784 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 bắt đầu bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    754 đã chỉ định và ngược lại là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    33

    Việc so sánh được giới hạn ở chuỗi con được chỉ định bởi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    737 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    738, nếu chúng được chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    34

    Phân loại nhân vật

    Các phương thức trong nhóm này phân loại một chuỗi dựa trên các ký tự mà nó chứa

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    791

    Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ và số hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    791 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự của nó là chữ và số [một chữ cái hoặc một số] và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu không

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    35

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    796

    Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ cái hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    796 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự của nó là chữ cái, và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu ngược lại

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    36

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    301

    Xác định xem chuỗi mục tiêu có bao gồm các ký tự chữ số hay không

    Bạn có thể sử dụng phương thức

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    302 Python để kiểm tra xem chuỗi của bạn có chỉ gồm các chữ số không.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    301 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự của nó là các chữ số và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu ngược lại

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    307

    Xác định xem chuỗi đích có phải là mã định danh Python hợp lệ hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    307 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 là mã định danh Python hợp lệ theo định nghĩa ngôn ngữ và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu ngược lại

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38

    Ghi chú.

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    312 sẽ trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 cho một chuỗi khớp với từ khóa Python mặc dù đó không thực sự là một mã định danh hợp lệ

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    39

    Bạn có thể kiểm tra xem một chuỗi có khớp với từ khóa Python hay không bằng cách sử dụng hàm có tên là

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    314, hàm này có trong một mô-đun có tên là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    315. Một cách có thể để làm điều này được hiển thị dưới đây

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    50

    Nếu bạn thực sự muốn đảm bảo rằng một chuỗi sẽ đóng vai trò là mã định danh Python hợp lệ, bạn nên kiểm tra xem

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    312 có phải là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 không và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    314 có phải là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 không

    Xem Các gói và mô-đun Python—Giới thiệu để đọc thêm về các mô-đun Python

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    320

    Xác định xem các ký tự chữ cái của chuỗi mục tiêu có phải là chữ thường hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    320 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự chữ cái chứa trong đó là chữ thường, và nếu không thì
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48. Các ký tự không phải là bảng chữ cái được bỏ qua

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    51

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    325

    Xác định xem chuỗi mục tiêu có bao gồm toàn bộ các ký tự có thể in được hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    325 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 trống hoặc tất cả các ký tự chữ cái mà nó chứa đều có thể in được. Nó trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 chứa ít nhất một ký tự không in được. Các ký tự không phải là bảng chữ cái được bỏ qua

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    52

    Ghi chú. Đây là phương thức duy nhất của

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    331 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 là một chuỗi rỗng. Tất cả những cái khác trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 cho một chuỗi rỗng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    335

    Xác định xem chuỗi mục tiêu có bao gồm các ký tự khoảng trắng hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    335 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự đều là ký tự khoảng trắng, và ngược lại là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48

    Các ký tự khoảng trắng thường gặp nhất là khoảng trắng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    340, tab
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    341 và dòng mới
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    342

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    53

    Tuy nhiên, có một vài ký tự ASCII khác đủ điều kiện là khoảng trắng và nếu bạn tính đến các ký tự Unicode, thì có khá nhiều ký tự ngoài đó

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    54

    [

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    343 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    344 là các chuỗi thoát cho các ký tự Trả về Vận chuyển và Nguồn cấp dữ liệu Biểu mẫu ASCII;
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    345 là chuỗi thoát cho Không gian Bốn-Em-Em Unicode. ]

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    346

    Xác định xem chuỗi mục tiêu có phải là tiêu đề không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    346 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống, ký tự chữ cái đầu tiên của mỗi từ là chữ hoa và tất cả các ký tự chữ cái khác trong mỗi từ là chữ thường. Nó trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48 nếu không

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    55

    Ghi chú. Đây là cách tài liệu Python mô tả

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    351, trong trường hợp bạn thấy điều này trực quan hơn. “Các ký tự chữ hoa chỉ có thể theo sau các ký tự không có chữ cái và các ký tự chữ thường chỉ có các ký tự có chữ hoa. ”

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    352

    Xác định xem các ký tự chữ cái của chuỗi mục tiêu có phải là chữ hoa hay không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    352 trả về
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47 nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 không trống và tất cả các ký tự chữ cái chứa trong đó đều là chữ hoa, và ngược lại là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48. Các ký tự không phải là bảng chữ cái được bỏ qua

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    56

    Định dạng chuỗi

    Các phương thức trong nhóm này sửa đổi hoặc nâng cao định dạng của một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    357

    Căn giữa một chuỗi trong một trường

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    358 returns a string consisting of
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 centered in a field of width
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    57

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    361 tùy chọn được chỉ định, nó sẽ được sử dụng làm ký tự đệm

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    58

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 đã tồn tại ít nhất bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360, nó sẽ được trả về không thay đổi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    59

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    364

    Mở rộng các tab trong một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    365 thay thế từng ký tự tab [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    341] bằng dấu cách. Theo mặc định, các khoảng trống được điền vào giả sử tab dừng ở mỗi cột thứ tám

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    20

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    367 là một tham số từ khóa tùy chọn chỉ định các cột dừng tab thay thế

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    21

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    368

    Căn trái một chuỗi trong trường

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    369 trả về một chuỗi bao gồm
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 được căn trái trong một trường có chiều rộng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    22

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    361 tùy chọn được chỉ định, nó sẽ được sử dụng làm ký tự đệm

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 đã tồn tại ít nhất bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360, nó sẽ được trả về không thay đổi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    24

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    375

    Cắt các ký tự đầu từ một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    376 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên trái

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    25

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    378 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định bộ ký tự sẽ bị xóa

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    26

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    379

    Thay thế các lần xuất hiện của một chuỗi con trong một chuỗi

    Trong Python, để xóa một ký tự khỏi chuỗi, bạn có thể sử dụng phương thức Python string

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    380.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    381 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với tất cả các lần xuất hiện của chuỗi con
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    383 được thay thế bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    384

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    27

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    385 tùy chọn được chỉ định, tối đa thay thế
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    385 được thực hiện, bắt đầu từ đầu bên trái của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    28

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    388

    Căn phải một chuỗi trong một trường

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    389 trả về một chuỗi bao gồm
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 được căn phải trong một trường có chiều rộng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360. Theo mặc định, phần đệm bao gồm ký tự khoảng trắng ASCII

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    361 tùy chọn được chỉ định, nó sẽ được sử dụng làm ký tự đệm

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    40

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 đã tồn tại ít nhất bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360, nó sẽ được trả về không thay đổi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    41

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    395

    Cắt các ký tự theo sau từ một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    396 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 với bất kỳ ký tự khoảng trắng nào bị xóa khỏi đầu bên phải

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    42

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    378 tùy chọn được chỉ định, thì đó là một chuỗi chỉ định bộ ký tự sẽ bị xóa

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    43

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    399

    Tách các ký tự từ đầu bên trái và bên phải của một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    500 về cơ bản tương đương với việc gọi liên tiếp
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    376 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    396. Không có đối số
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    378, nó sẽ loại bỏ khoảng trắng ở đầu và cuối

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    44

    Như với

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    504 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    505, đối số tùy chọn
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    378 chỉ định bộ ký tự sẽ bị xóa

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    45

    Ghi chú. Khi giá trị trả về của một phương thức chuỗi là một chuỗi khác, như thường lệ, các phương thức có thể được gọi liên tiếp bằng cách xâu chuỗi các lệnh gọi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    46

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    507

    Đệm một chuỗi ở bên trái bằng số không

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    507 trả về một bản sao của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 được đệm bên trái với các ký tự
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    510 cho
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360 đã chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    47

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 chứa dấu ở đầu, thì nó vẫn ở cạnh trái của chuỗi kết quả sau khi các số 0 được chèn vào

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    48

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 đã tồn tại ít nhất bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    360, nó sẽ được trả về không thay đổi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    49

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    515 hữu ích nhất cho các biểu diễn chuỗi số, nhưng Python vẫn vui vẻ sẽ không đệm một chuỗi không phải là

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    90

    Chuyển đổi giữa chuỗi và danh sách

    Các phương thức trong nhóm này chuyển đổi giữa một chuỗi và một số kiểu dữ liệu tổng hợp bằng cách dán các đối tượng lại với nhau để tạo thành một chuỗi hoặc bằng cách chia một chuỗi thành nhiều phần

    Các phương thức này hoạt động trên hoặc trả về các lần lặp, thuật ngữ Python chung cho một tập hợp các đối tượng tuần tự. Bạn sẽ khám phá hoạt động bên trong của iterables chi tiết hơn trong hướng dẫn sắp tới về phép lặp xác định

    Nhiều phương thức trong số này trả về một danh sách hoặc một bộ. Đây là hai loại dữ liệu tổng hợp tương tự nhau, là ví dụ nguyên mẫu của các lần lặp trong Python. Chúng được đề cập trong hướng dẫn tiếp theo, vì vậy bạn sẽ sớm tìm hiểu về chúng. Cho đến lúc đó, chỉ cần nghĩ về chúng như các chuỗi giá trị. Danh sách được đặt trong dấu ngoặc vuông [

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    72] và bộ giá trị được đặt trong dấu ngoặc đơn [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    517]

    Với phần giới thiệu đó, chúng ta hãy xem nhóm phương thức chuỗi cuối cùng này

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    518

    Nối các chuỗi từ một iterable

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    518 trả về chuỗi kết quả từ việc nối các đối tượng trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 được phân tách bằng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    Lưu ý rằng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    522 được gọi trên
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37, chuỗi dấu phân cách.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 cũng phải là một chuỗi các đối tượng chuỗi

    Một số mã mẫu sẽ giúp làm rõ. Trong ví dụ sau, dấu tách

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 là chuỗi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    526 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 là danh sách các giá trị chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    91

    Kết quả là một chuỗi duy nhất bao gồm các đối tượng danh sách được phân tách bằng dấu phẩy

    Trong ví dụ tiếp theo,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 được chỉ định là một giá trị chuỗi đơn. Khi một giá trị chuỗi được sử dụng dưới dạng có thể lặp lại, nó được hiểu là danh sách các ký tự riêng lẻ của chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    92

    Như vậy, kết quả của

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    529 là một chuỗi gồm mỗi ký tự trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    530 cách nhau bởi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    531

    Ví dụ này không thành công vì một trong các đối tượng trong

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 không phải là một chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    93

    Điều đó có thể được khắc phục, mặc dù

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    94

    Như bạn sẽ sớm thấy, nhiều đối tượng phức hợp trong Python có thể được hiểu là các đối tượng có thể lặp lại và

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    522 đặc biệt hữu ích để tạo các chuỗi từ chúng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    534

    Chia một chuỗi dựa trên dấu phân cách

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    534 chia tách
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 ở lần xuất hiện đầu tiên của chuỗi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537. Giá trị trả về là một bộ ba phần bao gồm

    • Phần của
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      37 trước
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      537
    • >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      537 chính nó
    • Phần của
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      37 sau
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      537

    Dưới đây là một vài ví dụ về

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    543 đang hoạt động

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    95

    Nếu không tìm thấy

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37, bộ trả về chứa
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 theo sau là hai chuỗi trống

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    96

    Nhớ lại. Danh sách và bộ dữ liệu được trình bày trong hướng dẫn tiếp theo

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    547

    Chia một chuỗi dựa trên dấu phân cách

    Chức năng của

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    547 hoàn toàn giống như
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    534, ngoại trừ việc
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 được phân chia ở lần xuất hiện cuối cùng của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 thay vì lần xuất hiện đầu tiên

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    97

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    552

    Tách một chuỗi thành một danh sách các chuỗi con

    Không có đối số,

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    553 chia tách
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 thành các chuỗi con được phân định bởi bất kỳ chuỗi khoảng trắng nào và trả về các chuỗi con dưới dạng danh sách

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    98

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 được chỉ định, nó được sử dụng làm dấu phân cách để tách

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    99

    [Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 được chỉ định với giá trị là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    557, thì chuỗi được phân tách bằng khoảng trắng, giống như thể
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 hoàn toàn không được chỉ định. ]

    Khi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537 được cung cấp rõ ràng dưới dạng dấu phân cách, các dấu phân cách liên tiếp trong
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 được giả định để phân tách các chuỗi trống, chuỗi này sẽ được trả về

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    00

    Tuy nhiên, đây không phải là trường hợp khi bỏ qua

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    537. Trong trường hợp đó, các ký tự khoảng trắng liên tiếp được kết hợp thành một dấu phân cách duy nhất và danh sách kết quả sẽ không bao giờ chứa các chuỗi trống

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    01

    Nếu tham số từ khóa tùy chọn

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    562 được chỉ định, thì tối đa nhiều phần tách đó được thực hiện, bắt đầu từ đầu bên phải của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    02

    Giá trị mặc định cho

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    562 là
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    76, có nghĩa là tất cả các phân tách có thể phải được thực hiện—giống như khi bỏ qua hoàn toàn
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    562

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    03

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    567

    Tách một chuỗi thành một danh sách các chuỗi con

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    568 hoạt động giống hệt như
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    553, ngoại trừ việc nếu
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    562 được chỉ định, các phần tách được tính từ đầu bên trái của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 thay vì đầu bên phải

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    04

    Nếu

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    562 không được chỉ định, thì không thể phân biệt được
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    573 và
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    574

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    575

    Phá vỡ một chuỗi tại ranh giới dòng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    576 tách
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    37 thành các dòng và trả về chúng trong một danh sách. Bất kỳ ký tự hoặc chuỗi ký tự nào sau đây được coi là cấu thành ranh giới dòng

    Trình tự thoát Character

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    578Newline
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    579Carriage Return
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    580Carriage Return + Line Feed
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    581 hoặc
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    582Line Tabulation
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    583 hoặc
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    584Form Feed
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    585File Separator
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    586Group Separator
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    587Record Separator
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    588Next Line [C1 Control Code]_______2589Unicode Line Separator59Unicode

    Dưới đây là một ví dụ sử dụng một số dấu tách dòng khác nhau

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    05

    Nếu các ký tự ranh giới dòng liên tiếp xuất hiện trong chuỗi, chúng được coi là phân định các dòng trống, sẽ xuất hiện trong danh sách kết quả

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    06

    Nếu đối số

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    591 tùy chọn được chỉ định và là trung thực, thì ranh giới của dòng được giữ lại trong chuỗi kết quả

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    07

    Remove ads

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 đối tượng

    Đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 là một trong những loại tích hợp cốt lõi để thao tác dữ liệu nhị phân. Một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 là một chuỗi bất biến của các giá trị byte đơn. Mỗi phần tử trong một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 là một số nguyên nhỏ trong khoảng từ
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    73 đến
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    597

    Định nghĩa một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 theo nghĩa đen

    Một chữ

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 được định nghĩa giống như một chuỗi chữ có thêm tiền tố
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    300

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    08

    Đối với chuỗi, bạn có thể sử dụng bất kỳ cơ chế trích dẫn đơn, kép hoặc ba nào

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    09

    Chỉ cho phép các ký tự ASCII trong một chữ

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29. Bất kỳ giá trị ký tự nào lớn hơn
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    302 phải được chỉ định bằng cách sử dụng chuỗi thoát thích hợp

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    10

    Tiền tố

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    88 có thể được sử dụng trên một chữ
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 để vô hiệu hóa việc xử lý các chuỗi thoát, như với các chuỗi

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    11

    Xác định một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 với chức năng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    306 tích hợp

    Hàm

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    306 cũng tạo đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29. Loại đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 nào được trả về tùy thuộc vào [các] đối số được truyền cho hàm. Các hình thức có thể được hiển thị dưới đây

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    310

    Tạo một đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 từ một chuỗi

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    310 chuyển đổi chuỗi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    313 thành đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29, sử dụng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    315 theo
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    316 đã chỉ định

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    12

    Lưu ý kỹ thuật. Ở dạng này của hàm

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    306, đối số
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    316 là bắt buộc. “Mã hóa” đề cập đến cách mà các ký tự được dịch sang các giá trị số nguyên. Giá trị của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    319 biểu thị Định dạng chuyển đổi Unicode UTF-8, đây là một mã hóa có thể xử lý mọi ký tự Unicode có thể. UTF-8 cũng có thể được chỉ định bằng cách chỉ định
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    320,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    321 hoặc
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    322 cho
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    316

    See the Unicode documentation for more information. Miễn là bạn đang xử lý các ký tự dựa trên tiếng Latinh phổ biến, UTF-8 sẽ phục vụ bạn tốt

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    324

    Tạo một đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 bao gồm null [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    326] byte

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    324 định nghĩa một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 của
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    329 đã chỉ định, đối tượng này phải là một số nguyên dương. Đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 kết quả được khởi tạo thành null [
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    326] byte

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    13

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    332

    Tạo một đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 từ một iterable

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    332 định nghĩa một đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 từ chuỗi các số nguyên được tạo bởi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    520 phải là một iterable tạo ra một chuỗi các số nguyên
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    38 trong phạm vi
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    339

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    14

    Remove ads

    Thao tác trên đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29

    Giống như các chuỗi, các đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 hỗ trợ các phép toán tuần tự phổ biến

    • Toán tử

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      45 và
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      49

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      15

    • Toán tử nối [

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      31] và nhân rộng [
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      32]

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      16

    • Lập chỉ mục và cắt lát

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      17

    • Chức năng tích hợp sẵn

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      18

    Nhiều phương thức được định nghĩa cho các đối tượng chuỗi cũng hợp lệ cho các đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    19

    Tuy nhiên, lưu ý rằng khi các toán tử và phương thức này được gọi trên đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29, toán hạng và đối số cũng phải là đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    20

    Mặc dù định nghĩa và biểu diễn đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 dựa trên văn bản ASCII, nhưng nó thực sự hoạt động giống như một chuỗi số nguyên nhỏ bất biến trong phạm vi từ
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    73 đến
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    597, bao gồm cả. Đó là lý do tại sao một phần tử từ đối tượng
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 được hiển thị dưới dạng số nguyên

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    21

    Tuy nhiên, một lát cắt được hiển thị dưới dạng đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29, ngay cả khi nó chỉ dài một byte

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    22

    Bạn có thể chuyển đổi một đối tượng

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 thành một danh sách các số nguyên bằng hàm
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    355 tích hợp

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    23

    Hexadecimal numbers are often used to specify binary data because two hexadecimal digits correspond directly to a single byte. The

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 class supports two additional methods that facilitate conversion to and from a string of hexadecimal digits

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    357

    Returns a

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object constructed from a string of hexadecimal values

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    357 returns the
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object that results from converting each pair of hexadecimal digits in
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    313 to the corresponding byte value. The hexadecimal digit pairs in
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    313 may optionally be separated by whitespace, which is ignored

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    24

    Note. This method is a class method, not an object method. It is bound to the

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 class, not a
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object. You will delve much more into the distinction between classes, objects, and their respective methods in the upcoming tutorials on object-oriented programming. For now, just observe that this method is invoked on the
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 class, not on object
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    366

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    367

    Returns a string of hexadecimal value from a

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    367 returns the result of converting
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    366 into a string of hexadecimal digit pairs. That is, it does the reverse of
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    372

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    25

    Note. As opposed to

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    372,
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    374 is an object method, not a class method. Thus, it is invoked on an object of the
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 class, not on the class itself

    Remove ads

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30 đối tượng

    Python supports another binary sequence type called the

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30.
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30 objects are very like
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 objects, despite some differences

    • There is no dedicated syntax built into Python for defining a

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      30 literal, like the
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      300 prefix that may be used to define a
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      29 object. A
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      30 object is always created using the
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      384 built-in function

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      26

    • >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      30 objects are mutable. You can modify the contents of a
      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      30 object using indexing and slicing

      >>>

      >>> s = 'foo.'
      
      >>> s * 4
      'foo.foo.foo.foo.'
      >>> 4 * s
      'foo.foo.foo.foo.'
      
      27

    A

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30 object may be constructed directly from a
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 object as well

    >>>

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    28

    Conclusion

    Hướng dẫn này cung cấp cái nhìn sâu sắc về nhiều cơ chế khác nhau mà Python cung cấp để xử lý chuỗi, bao gồm toán tử chuỗi, hàm tích hợp, lập chỉ mục, cắt và phương thức tích hợp. You also were introduced to the

    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    29 and
    >>> s = 'foo.'
    
    >>> s * 4
    'foo.foo.foo.foo.'
    >>> 4 * s
    'foo.foo.foo.foo.'
    
    30 types

    These types are the first types you have examined that are composite—built from a collection of smaller parts. Python provides several composite built-in types. In the next tutorial, you will explore two of the most frequently used. lists and tuples

    Take the Quiz. Test your knowledge with our interactive “Python Strings and Character Data” quiz. Upon completion you will receive a score so you can track your learning progress over time

    Take the Quiz »

    « Operators and Expressions in Python

    Strings in Python

    Lists and Tuples in Python »

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

    Watch Now This tutorial has a related video course created by the Real Python team. Watch it together with the written tutorial to deepen your understanding. Strings and Character Data in Python

🐍 Python Tricks 💌

Get a short & sweet Python Trick delivered to your inbox every couple of days. No spam ever. Hủy đăng ký bất cứ lúc nào. Curated by the Real Python team

Send Me Python Tricks »

Giới thiệu về John Sturtz

John là một Pythonista cuồng nhiệt và là thành viên của nhóm hướng dẫn Real Python

» More about John

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. The team members who worked on this tutorial are

Dan

Joanna

Master Real-World Python Skills With Unlimited Access to Real Python

Join us and get access to thousands of tutorials, hands-on video courses, and a community of expert Pythonistas

Level Up Your Python Skills »

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 ngàn hướng dẫn, khóa học video thực hành và cộng đồng Pythonistas chuyên gia

Level Up Your Python Skills »

Bạn nghĩ sao?

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

Tweet Chia sẻ Chia sẻ Email

What’s your #1 takeaway or favorite thing you learned? How are you going to put your newfound skills to use? Leave a comment below and let us know

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. Get tips for asking good questions and get answers to common questions in our support portal

Chủ Đề