Hướng dẫn what are objects and values in python? - các đối tượng và giá trị trong python là gì?

Nếu chúng ta thực hiện các câu lệnh gán này:

a = 'banana'
b = 'banana'

Chúng tôi biết rằng cả

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
0 và
>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
1 đều đề cập đến một chuỗi, nhưng chúng tôi không biết liệu chúng có tham khảo cùng một chuỗi hay không. Có hai trạng thái có thể:

Hướng dẫn what are objects and values in python? - các đối tượng và giá trị trong python là gì?

Trong một trường hợp,

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
0 và
>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
1 đề cập đến hai đối tượng khác nhau có cùng giá trị. Trong trường hợp thứ hai, họ đề cập đến cùng một đối tượng.

Để kiểm tra xem hai biến có tham chiếu đến cùng một đối tượng hay không, bạn có thể sử dụng toán tử

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
4.

Q-2: Người vận hành nào có thể được sử dụng để xem liệu hai biến có đề cập đến cùng một đối tượng không?

Trong ví dụ này, Python chỉ tạo một đối tượng chuỗi và cả

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
0 và
>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
1 đều đề cập đến nó.

Nhưng khi bạn tạo hai danh sách, bạn sẽ nhận được hai đối tượng:

Trong trường hợp này, chúng tôi sẽ nói rằng hai danh sách là tương đương, bởi vì chúng có cùng các yếu tố, nhưng không giống nhau, bởi vì chúng không phải là cùng một đối tượng. Nếu hai đối tượng giống hệt nhau, chúng cũng tương đương, nhưng nếu chúng tương đương, chúng không nhất thiết phải giống hệt nhau.

Q-4: Khi hai danh sách có cùng một yếu tố, nhưng là các đối tượng khác nhau, chúng tôi nói rằng chúng là __________.

Cho đến bây giờ, chúng tôi đã sử dụng đối tượng của người Viking và giá trị có thể thay thế cho nhau, nhưng chính xác hơn khi nói rằng một đối tượng có giá trị. Nếu bạn thực thi

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
7,
>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
0 đề cập đến một đối tượng danh sách có giá trị là một chuỗi các phần tử cụ thể. Nếu một danh sách khác có cùng yếu tố, chúng tôi sẽ nói nó có cùng giá trị.

    Q-5: Kết hợp các thuật ngữ với các ví dụ mã.try một lần nữa. Try again.
  • Tương đương
  • A = [1, 2, 3] B = [1, 2, 3]
  • Giống hệt nhau
  • a = [1, 2, 3] b = a

Bạn đã thử các hoạt động trên trang này of activities on this page

Mô hình dữ liệu Python

Mô hình dữ liệu Python - Phần 1

Ảnh của Chris Ried trên unplash

Một trong những phẩm chất tốt nhất của Python là sự nhất quán của nó. Sau khi làm việc với Python một thời gian, bạn có thể bắt đầu đưa ra những dự đoán chính xác, đúng đắn về các tính năng mới đối với bạn.One of the best qualities of Python is its consistency. After working with Python for a while, you are able to start making informed, correct guesses about features that are new to you.”

Mô hình dữ liệu của Python, mô tả API mà bạn có thể sử dụng để làm cho các đối tượng của riêng bạn chơi tốt với các tính năng ngôn ngữ thành ngữ nhất. - Python trôi chảy, Luciano Ramalho — Fluent Python, Luciano Ramalho

Mô hình dữ liệu Python có thể được định nghĩa là ‘khung Python, hoặc‘ Triết lý thiết kế Python. Các nhà phát triển của ngôn ngữ có tài liệu dành riêng cho tài liệu khá lớn hơn có thể là một chút mơ hồ, đáng sợ hoặc mơ hồ ngay từ cái nhìn đầu tiên.

Tuy nhiên, theo các từ đơn giản, mô hình dữ liệu thuật ngữ tự giải thích-nó liên quan đến cách Python tổ chức mọi thứ trong nội bộ để xử lý và xử lý dữ liệu cũng như một số khái niệm cấp cao về thiết kế và triết lý cốt lõi của nó. Nó thảo luận về các khối xây dựng cơ bản của chính ngôn ngữ, thiết kế/cấu trúc của các khối xây dựng và các khối mã cơ bản xuất hiện với chúng.

Trong chương này, chúng ta sẽ nói về các đối tượng, loại và giá trịObjects, types, and values

Trong Python - mọi thứ đều là một đối tượng. Mỗi đối tượng có một danh tính, một loại và một giá trị

Trong Python - mọi thứ đều là một đối tượng. Mỗi đối tượng có một danh tính, một loại và một giá trị. Vì vậy, sự ồn ào với danh tính, loại và giá trị là gì? Chúng tôi sẽ viết một số mã đơn giản -identity, a type, and a value. So, what is the fuss with identity, type, and value? We are going to write some simple code —

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824

Chúng ta có thể nghĩ về danh tính như một địa chỉ đối tượng trong bộ nhớ

Ở đây, id () cho chúng ta danh tính mà chúng ta đang nói, đó là một số nguyên độc đáo không bao giờ thay đổi trong suốt vòng đời của một đối tượng. Chúng ta có thể nghĩ về danh tính như một địa chỉ đối tượng trong bộ nhớ. Chúng ta có thể kiểm tra xem hai đối tượng có giống nhau với toán tử IS không.id() gives us the identity that we were talking about, which is a unique integer that never changes during the lifetime of an object. We can think of identity as an object’s address in memory. We can check if two objects are the same with is operator.

>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600

Bây giờ, nếu chúng ta muốn kiểm tra loại của các đối tượng này, chúng ta có thể sử dụng loại ().type of these objects, we can use type().

>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>

Loại đối tượng không thể thay đổi

Loại đối tượng không thể thay đổi¹type of an object cannot change¹

Trong một số trường hợp, có thể thay đổi loại đối tượng, trong các điều kiện được kiểm soát nhất định. Mặc dù vậy, nó thường là một ý tưởng tốt, vì nó có thể dẫn đến một số hành vi rất lạ nếu nó được xử lý không chính xác.

Loại chỉ định hai điều: - Hoạt động nào được phép - tập hợp các giá trị mà đối tượng có thể giữ specifies two things:
– what operations are allowed
– the set of values the object can hold

Giá trị của một đối tượng có thể được thay đổi nếu đối tượng có thể thay đổi và nếu đối tượng là bất biến, giá trị của nó không thể thay đổi.

Và, giá trị của một đối tượng là những gì đối tượng đang giữ trong đó. Ở đây

>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
9 là giá trị của
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
0 và
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
1 là giá trị của
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
2. Giá trị của một đối tượng có thể được thay đổi nếu đối tượng có thể thay đổi và nếu đối tượng là bất biến, giá trị của nó không thể thay đổi.value of an object is what the object is holding in it. Here
>>> player_1 = "Maradona"
>>> id(player_1)
139780790567600
>>> age = 53
>>> id(age)
9753824
9 is the value of
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
0 and
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
1 is the value of
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
2 . The value of an object can be changed if the object is mutable and if the object is immutable the value of it cant be changed.

>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
3 là một đối tượng loại số nguyên có giá trị 53 và có ID 9753824 is an integer type object with value 53 and has the id 9753824

Điều đó có nghĩa là

>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
4 là đối tượng loại số nguyên có giá trị 53 và có ID 9753824 và nếu bây giờ chúng ta thay đổi
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
0 thành
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
6, nó sẽ được đề cập đến một đối tượng kháctype object with value 53 and has the id 9753824 and if we now change the
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
0 to
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
6 , it will be referring to a different object

>>> age = 54 # here, age is referring to a different object
>>> id(age) # showing different identity than the previous one
9753856

Vì vậy, nếu chúng ta muốn thay đổi giá trị của

>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
2 thì cả hai đối tượng
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
8 và
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
2 sẽ không hiển thị cùng một danh tínhidentity

>>> player_1 = "Messi" # assigning new value to 
>>> player_copy
'Maradona'
>>> player_1 is player_copy
False

Vì vậy, cả

>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
2 AKA Chuỗi và
>>> player_2 = "Pele"
>>> player_1 is player_2 #They are not referring the same object
False
>>> player_copy = player_1
>>> player_1 is player_copy #They are referring the same object
True
>>> id(player_2)
139780790567984
>>> id(player_copy)
139780790567600
0 AKA Số nguyên là các loại bất biến. Có những loại bất biến khác. chẳng hạn như - số nguyên, phao, dây, bộ dữ liệu. Mặt khác, các loại có thể thay đổi là danh sách, từ điển và bộ. Bây giờ, nhìn vào các loại có thể thay đổiimmutable types. There are other immutable types. such as — integers, floats, strings, tuples. On the other hand, mutable types are lists, dictionaries, and sets. Now, looking into the mutable types

>>> players = ["Messi", "Maradona", "Pele"]
>>> players_copy = players # Coping the reference to the list
object,not the list object itself.
>>> players is players_copy
True
>>> players[0]="Ronaldo" # Changing the first element
>>> players
['Ronaldo', 'Maradona', 'Pele']
>>> players_copy
['Ronaldo', 'Maradona', 'Pele'] # They refer to same list object.
>>> players.append("Pirlo") # Appending a new element
>>> players
['Ronaldo', 'Maradona', 'Pele', 'Pirlo']
>>> players_copy
['Ronaldo', 'Maradona', 'Pele', 'Pirlo']
>>> players_copy.append("Cruyf")
>>> players_copy
['Ronaldo', 'Maradona', 'Pele', 'Pirlo', 'Cruyf']
>>> players
['Ronaldo', 'Maradona', 'Pele', 'Pirlo', 'Cruyf']

Vì cả

>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
2 và
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
3 đều đề cập đến cùng một đối tượng danh sách, các thay đổi trong một danh sách sẽ có ảnh hưởng đến biến khác.
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
2 and
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
3 referring to the same list object, changes in one list will have an effect on the other variable.

Trong ví dụ trên, chúng tôi đã đột biến danh sách

>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
4 bằng cách thay đổi giá trị đầu tiên và sử dụng phương thức
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
5. Vì cả
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
4 và
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
7 đều đề cập đến cùng một đối tượng danh sách, các thay đổi trong một danh sách sẽ có ảnh hưởng đến biến khác.

>>> id(players)
139780790567040
>>> id(players_copy)
139780790567040

Lưu ý rằng, nếu chúng tôi thay đổi danh sách một biến đề cập đến, nó sẽ tạo một đối tượng danh sách mới. Chúng ta không nên nhầm lẫn giữa đột biến và thay đổi một biến.

>>> players = ["Messi", "Maradona", "Pele"]
>>> id(players)
139780790567040
>>> players = ["Messi", "Maradona", "Pele", 'Pirlo', 'Cruyf']
>>> id(players)
139780790568064

Ở đây, dòng này

>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
8 tạo một danh sách mới và tham khảo biến
>>> type(age)
<class ‘int’>
>>> type(player_1)
<class 'str'>
4 vào nó. Chúng ta có thể nói bằng cách kiểm tra cả ID.

Để có được sự hiểu biết rõ ràng hơn về tính đột biến và tính bất biến, chúng ta hãy mang theo trong khu vực bắn. Như chúng tôi đã nói trước đó, các loại không thể thay đổi, các loại bộ đếm đột biến không thể có được.mutability and immutability, let's bring tuple in the firing zone. As we said earlier, tuples are immutable, mutating tuples types shouldn't be possible.

>>> players_tuple = ("Kaka", "Buffon")
>>> players_tuple
('Kaka', 'Buffon')
>>> type(players_tuple)
<class 'tuple'>
>>> id(players_tuple)
139780790517248
>>> players_tuple[0]
'Kaka'
>>> players_tuple[0]="De Bruyne" # can't mutate in tuples
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> players_tuple= players_tuple +("De Bruyne",) # adding a new data
>>> players_tuple
('Kaka', 'Buffon', 'De Bruyne')
>>> id(players_tuple) # it's creating a new tuple
139780766363584

Trong phần này, chúng tôi đã cố gắng hiểu rõ về cách một đối tượng giữ bản chất của nó trong thế giới Pythonic và sự khác biệt giữa tính đột biến và tính bất biến. Trong các chương sau, chúng tôi sẽ đi sâu hơn vào mô hình dữ liệu Python.mutability and immutability. In the later chapters, we will dive more into the python data model.

Tài liệu tham khảo: 1. https://docs.python.org/3/reference/datamodel.html2. Python trôi chảy của Luciano Ramalho. Đây là cuốn sách mà mọi Pythonista nên đọc để làm sắc nét các kỹ năng trăn của họ.
1. https://docs.python.org/3/reference/datamodel.html
2. Fluent Python by Luciano Ramalho. This is the book every Pythonista should read to sharpen their python skills.

Các đối tượng trong Python là gì?

Một đối tượng là một thể hiện của một lớp. Một lớp giống như một bản thiết kế trong khi một thể hiện là bản sao của lớp có giá trị thực. Python là ngôn ngữ lập trình hướng đối tượng nhấn mạnh trên các đối tượng, tức là nó chủ yếu nhấn mạnh các chức năng.an instance of a Class. A class is like a blueprint while an instance is a copy of the class with actual values. Python is object-oriented programming language that stresses on objects i.e. it mainly emphasizes functions.

Có nghĩa là gì bởi giá trị và đối tượng?

Trong khoa học máy tính, một đối tượng giá trị là một đối tượng nhỏ đại diện cho một thực thể đơn giản có sự bình đẳng không dựa trên danh tính: tức là hai đối tượng giá trị bằng nhau khi chúng có cùng giá trị, không nhất thiết phải là cùng một đối tượng. Ví dụ về các đối tượng giá trị là các đối tượng đại diện cho một số tiền hoặc phạm vi ngày.a value object is a small object that represents a simple entity whose equality is not based on identity: i.e. two value objects are equal when they have the same value, not necessarily being the same object. Examples of value objects are objects representing an amount of money or a date range.

Giá trị Python là gì?

Giá trị là một trong những điều cơ bản nhất trong bất kỳ chương trình nào hoạt động.Một giá trị có thể là ký tự, tức là 'Xin chào, thế giới!'hoặc một số như 1.2.2, 3.5, vv Các giá trị thuộc về các loại khác nhau: 1 là một số nguyên, 2 là một chiếc phao và 'Xin chào, thế giới!'là một chuỗi, v.v.A value may be characters i.e. 'Hello, World! ' or a number like 1,2.2 ,3.5 etc. Values belong to different types: 1 is an integer, 2 is a float and 'Hello, World! ' is a string etc.

Một đối tượng trong mã Python là gì?

Một đối tượng chỉ đơn giản là một tập hợp dữ liệu (biến) và phương thức (hàm) hoạt động trên các dữ liệu đó.Tương tự, một lớp là một bản thiết kế cho đối tượng đó.a collection of data (variables) and methods (functions) that act on those data. Similarly, a class is a blueprint for that object.