Chuỗi bất biến Python

Mỗi biến trong python chứa một thể hiện của một đối tượng. Có hai loại đối tượng trong python i. e. Các đối tượng có thể thay đổi và không thể thay đổi. Bất cứ khi nào một đối tượng được khởi tạo, nó sẽ được gán một id đối tượng duy nhất. Loại đối tượng được xác định trong thời gian chạy và nó không thể thay đổi sau đó. Tuy nhiên, trạng thái của nó có thể được thay đổi nếu nó là một đối tượng có thể thay đổi

Để tóm tắt sự khác biệt, các đối tượng có thể thay đổi có thể thay đổi trạng thái hoặc nội dung của chúng và các đối tượng không thể thay đổi không thể thay đổi trạng thái hoặc nội dung của chúng

  • Đối tượng bất biến. Đây là các loại dựng sẵn như int, float, bool, string, unicode, tuple. Nói một cách đơn giản, một đối tượng bất biến không thể thay đổi sau khi nó được tạo




    # Python code to test that 

    # tuples are immutable 

       

    tuple1= [

    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    0_______0_______1
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    2
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    1
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    4
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    1
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    6
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    7

    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    8_______0_______0
    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    0=
    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    2

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    3
    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    4

    Lỗi

    Traceback [most recent call last]:
      File "e0eaddff843a8695575daec34506f126.py", line 3, in 
        tuple1[0]=4
    TypeError: 'tuple' object does not support item assignment




    # Python code to test that 

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    6

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    7

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    8=
     tup = [[3, 4, 5], 'myname'] 
    0

     tup = [[3, 4, 5], 'myname'] 
    1
    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    0_______10_______0=
     tup = [[3, 4, 5], 'myname'] 
    5

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    3
     tup = [[3, 4, 5], 'myname'] 
    7

    Lỗi

    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
  • Đối tượng có thể thay đổi. Đây là các loại list, dict, set. Các lớp tùy chỉnh thường có thể thay đổi




    # Python code to test that 

     tup = [[3, 4, 5], 'myname'] 
    9

    # Python code to test that 0= # Python code to test that 2# Python code to test that 3_______0_______1# Python code to test that 5

    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    1# Python code to test that 7
    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    0

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    3____40_______0

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    7

    # tuples are immutable 2_______0_______0

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    0= # tuples are immutable 6

    # tuples are immutable 2_______40_______8

    Traceback [most recent call last]:
      File "/home/ff856d3c5411909530c4d328eeca165b.py", line 3, in 
        message[0] = 'p'
    TypeError: 'str' object does not support item assignment
    2
    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    0=    2

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']
    3____40_______0

    đầu ra

    ['red', 'blue', 'green']
    ['pink', 'blue', 'orange']

Phần kết luận

  1. Các đối tượng có thể thay đổi và không thể thay đổi được xử lý khác nhau trong python. Các đối tượng bất biến truy cập nhanh hơn và tốn kém để thay đổi vì nó liên quan đến việc tạo một bản sao
    Trong khi các đối tượng có thể thay đổi dễ dàng thay đổi
  2. Nên sử dụng các đối tượng có thể thay đổi khi có nhu cầu thay đổi kích thước hoặc nội dung của đối tượng
  3. Ngoại lệ. Tuy nhiên, cũng có một ngoại lệ trong tính bất biến. Chúng tôi biết rằng tuple trong python là bất biến. Nhưng bộ dữ liệu bao gồm một chuỗi các tên có liên kết không thể thay đổi đối với các đối tượng
    Hãy xem xét một tuple_______18_______

    Tuple bao gồm một chuỗi và một danh sách. Chuỗi là bất biến nên chúng ta không thể thay đổi giá trị của nó. Nhưng nội dung của danh sách có thể thay đổi. Bản thân bộ dữ liệu không thể thay đổi nhưng chứa các mục có thể thay đổi

Theo nguyên tắc thông thường, các loại giống Nguyên thủy nói chung có thể là bất biến và các loại giống Vùng chứa tùy chỉnh hầu hết có thể thay đổi

Cái gì được sử dụng để lưu trữ một chuỗi các đối tượng Python bất biến?

Bộ là tập hợp các đối tượng Python. Chúng tương tự như danh sách nhưng sự khác biệt giữa chúng là bộ dữ liệu không thay đổi trong khi danh sách có thể thay đổi.

Những kiểu dữ liệu Python nào là bất biến?

Kiểu dữ liệu bất biến là những kiểu dữ liệu có giá trị không thể sửa đổi sau khi chúng được tạo. Ví dụ về các loại dữ liệu bất biến là int, str, bool, float, tuple , v.v.

Trình tự nào sau đây là trình tự có thể thay đổi trong Python?

Có hai loại trình tự có thể thay đổi trong Python. danh sách và mảng byte .

Danh sách Python có bất biến không?

Danh sách và bộ dữ liệu trong Python . Các bộ số nguyên, số float, chuỗi và [như bạn sẽ học sau trong khóa học này] đều là bất biến. Khi một trong những đối tượng này được tạo, nó không thể được sửa đổi, trừ khi bạn gán lại đối tượng cho một giá trị mới. Danh sách là một kiểu dữ liệu có thể thay đổi

Chủ Đề