search
HomeBackend DevelopmentPython TutorialExample tutorial on using python special class methods

It’s time to talk about examples again. This time we are talking about example tutorials on the use of python special class methods. There are many.

1.__getitem__Specialized method
##

1 >>> map = {'name':'c小加'}
2 >>> map.__getitem__("name")
3 'c\xe5\xb0\x8f\xe5\x8a\xa0'

Just redirect to the dictionary and return the value of the dictionary
2.__setitem__Specialized method
##

 >>> map = {'name':'c小加'}
2 >>> map.__setitem__('monaker','队花')
3 >>> map
4 {'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'}

map actual The above is a class that pretends to be a dictionary as much as possible, just like C Xiaojia, pretending to be the team star as much as possible, even though he is a male.

 >>> map['monaker'] = '队花'
 >>> map
{'monaker': '\xe9\x98\x9f\xe8\x8a\xb1', 'name': 'c\xe5\xb0\x8f\xe5\x8a\xa0'} 
这个看上去像个正常的字典语法,这行代码实际上暗自调用了map.__setitem__('monaker','队花')

Overriding the __setitem__ method in a class is strictly defined in the same form as the parent class method. The name of the parameter doesn't matter, just the number. At the same time, when calling the parent class directly, although there is no __setitem__, Python will walk along the parent class tree until it finds the class in which we are calling the method.
3 .__repr__ is a dedicated method that is called when repr(instance) is called. repr function is a built-in function that returns a string representation of an object. It can be used on any object, not just instances of classes. You have already responded to repr Pretty familiar even though you don't know it. In the interactive window, when you type just a variable name and then press ENTER, Python uses repr to display the value of the variable. Create a dictionary d with some data, and then use print repr(d) to take a look.

4.__cmp__ Called when comparing class instances. Generally, you can compare any two Python objects by using == Objects, not just class instances. There are some rules that define when built-in data types are considered equal. For example, dictionaries are equal if they have all the same keys and values. For class instances you can define __cmp__ method, write your own comparison logic, then you can use == to compare your classes, and Python will call your __cmp__ special method for you.
5.__len__ is called when len(instance) is called. len is a built-in function that returns the length of an object. It can be used for any object that is thought to have a deserving length. string len is its number of characters; len of a dictionary is the number of its keywords; len of a list or sequence is the number of elements. For class instances, define __len__ method, then write your own length calculation, then call len(instance), and Python will call your __len__ special method for you.
6.__delitem__ Called when del instance[key] is called, you may remember it as deleting a single item from the dictionary Element methods. When you use del on a class instance, Python calls the __delitem__ private method for you.

Private methods mean that any class can hold key-value pairs like a dictionary by defining a __setitem__ method. Any class can behave like a sequence by defining __getitem__ method. Any class that defines a __cmp__ method can be compared using ==. And if your class behaves like it has something like length, don't define GetLength method, instead define __len__ method and use len(instance).
【Related recommendations】

1.

In-depth understanding of the special function __len__(self) in python

2. Little knowledge that must be mastered--detailed explanation of Python len examples

3. Summary of the len() function in Python Usage examples

4. Python magic methods __getitem__, __setitem__, __delitem__, and __len__ are introduced respectively

The above is the detailed content of Example tutorial on using python special class methods. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Are Python lists dynamic arrays or linked lists under the hood?Are Python lists dynamic arrays or linked lists under the hood?May 07, 2025 am 12:16 AM

Pythonlistsareimplementedasdynamicarrays,notlinkedlists.1)Theyarestoredincontiguousmemoryblocks,whichmayrequirereallocationwhenappendingitems,impactingperformance.2)Linkedlistswouldofferefficientinsertions/deletionsbutslowerindexedaccess,leadingPytho

How do you remove elements from a Python list?How do you remove elements from a Python list?May 07, 2025 am 12:15 AM

Pythonoffersfourmainmethodstoremoveelementsfromalist:1)remove(value)removesthefirstoccurrenceofavalue,2)pop(index)removesandreturnsanelementataspecifiedindex,3)delstatementremoveselementsbyindexorslice,and4)clear()removesallitemsfromthelist.Eachmetho

What should you check if you get a 'Permission denied' error when trying to run a script?What should you check if you get a 'Permission denied' error when trying to run a script?May 07, 2025 am 12:12 AM

Toresolvea"Permissiondenied"errorwhenrunningascript,followthesesteps:1)Checkandadjustthescript'spermissionsusingchmod xmyscript.shtomakeitexecutable.2)Ensurethescriptislocatedinadirectorywhereyouhavewritepermissions,suchasyourhomedirectory.

How are arrays used in image processing with Python?How are arrays used in image processing with Python?May 07, 2025 am 12:04 AM

ArraysarecrucialinPythonimageprocessingastheyenableefficientmanipulationandanalysisofimagedata.1)ImagesareconvertedtoNumPyarrays,withgrayscaleimagesas2Darraysandcolorimagesas3Darrays.2)Arraysallowforvectorizedoperations,enablingfastadjustmentslikebri

For what types of operations are arrays significantly faster than lists?For what types of operations are arrays significantly faster than lists?May 07, 2025 am 12:01 AM

Arraysaresignificantlyfasterthanlistsforoperationsbenefitingfromdirectmemoryaccessandfixed-sizestructures.1)Accessingelements:Arraysprovideconstant-timeaccessduetocontiguousmemorystorage.2)Iteration:Arraysleveragecachelocalityforfasteriteration.3)Mem

Explain the performance differences in element-wise operations between lists and arrays.Explain the performance differences in element-wise operations between lists and arrays.May 06, 2025 am 12:15 AM

Arraysarebetterforelement-wiseoperationsduetofasteraccessandoptimizedimplementations.1)Arrayshavecontiguousmemoryfordirectaccess,enhancingperformance.2)Listsareflexiblebutslowerduetopotentialdynamicresizing.3)Forlargedatasets,arrays,especiallywithlib

How can you perform mathematical operations on entire NumPy arrays efficiently?How can you perform mathematical operations on entire NumPy arrays efficiently?May 06, 2025 am 12:15 AM

Mathematical operations of the entire array in NumPy can be efficiently implemented through vectorized operations. 1) Use simple operators such as addition (arr 2) to perform operations on arrays. 2) NumPy uses the underlying C language library, which improves the computing speed. 3) You can perform complex operations such as multiplication, division, and exponents. 4) Pay attention to broadcast operations to ensure that the array shape is compatible. 5) Using NumPy functions such as np.sum() can significantly improve performance.

How do you insert elements into a Python array?How do you insert elements into a Python array?May 06, 2025 am 12:14 AM

In Python, there are two main methods for inserting elements into a list: 1) Using the insert(index, value) method, you can insert elements at the specified index, but inserting at the beginning of a large list is inefficient; 2) Using the append(value) method, add elements at the end of the list, which is highly efficient. For large lists, it is recommended to use append() or consider using deque or NumPy arrays to optimize performance.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

VSCode Windows 64-bit Download

VSCode Windows 64-bit Download

A free and powerful IDE editor launched by Microsoft

Atom editor mac version download

Atom editor mac version download

The most popular open source editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)