suchen
HeimBackend-EntwicklungPython-TutorialFünf versteckte Tricks in Python, von denen Sie wahrscheinlich noch nie gehört haben

Fünf versteckte Tricks in Python, von denen Sie wahrscheinlich noch nie gehört haben

Das Leben ist kurz, lerne Python schnell

1 ... Objekt

Das hast du richtig gemacht Wenn Sie es falsch lesen, ist es „…“

In Python... stellt es ein Objekt namens Ellipsis dar. Laut offizieller Beschreibung handelt es sich um einen speziellen Wert, der normalerweise als Platzhalter für eine leere Funktion oder für Slicing-Operationen in Numpy verwendet werden kann.

Zum Beispiel:

def my_awesome_function():
...

entspricht:

def my_awesome_function():
Ellipsis

Natürlich können Sie auch pass oder string als Platzhalter verwenden: #🎜🎜 #

def my_awesome_function():
pass
def my_awesome_function():
"An empty, but also awesome function"

Ihre Endwirkung ist die gleiche.

Lassen Sie uns darüber sprechen, wie ... Objekte in Numpy eine Rolle spielen. Erstellen Sie ein 3x3x3-Matrix-Array und rufen Sie dann die zweite Spalte aller innersten Matrizen ab:

>>> import numpy as np
>>> array = np.arange(27).reshape(3, 3, 3)
>>> array
array([[[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8]],
 [[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17]],
 [[18, 19, 20],
[21, 22, 23],
[24, 25, 26]]])

In der Reihenfolge Um die zweite Spalte der Top-Level-Matrix zu erhalten, könnte die herkömmliche Methode so aussehen:

>>> array[:, :, 1]
array([[ 1, 4, 7],
 [10, 13, 16],
 [19, 22, 25]])

Wenn Sie ... Objekt verwenden können, sieht es so aus:

>>> array[..., 1]
array([[ 1, 4, 7],
 [10, 13, 16],
 [19, 22, 25]])
# 🎜 🎜#Bitte beachten Sie jedoch, dass ... Objekte nur in Numpy verfügbar sind, nicht in in Python integrierten Arrays.

2. Iterationsobjekte entpacken

Das Entpacken von Iterationsobjekten ist eine sehr praktische Funktion:

>>> a, *b, c = range(1, 11)
>>> a
1
>>> c
10
>>> b
[2, 3, 4, 5, 6, 7, 8, 9]

oder:

>>> a, b, c = range(3)
>>> a
0
>>> b
1
>>> c
2
#🎜 🎜# Anstatt Code wie diesen zu schreiben:

>>> lst = [1]
>>> a = lst[0]
>>> a
1
>>> (a, ) = lst
>>> a
1

Sie könnten genauso gut eine elegantere Zuweisungsoperation ausführen, genau wie das Dekomprimieren des iterierbaren Objekts:

>>> lst = [1]
>>> [a] = lst
>>> a
1

Obwohl das etwas dumm erscheint , aber meiner persönlichen Meinung nach ist es eleganter als die frühere Schreibweise.

3. Die Kunst der Erweiterung

Es gibt verschiedene seltsame Möglichkeiten, Arrays zu erweitern, wie zum Beispiel:

>>> l = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> flattened = [elem for sublist in l for elem in sublist]
>>> flattened
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Wenn Sie über gewisse Kenntnisse verfügen Reduzieren und Lambda Verstanden, es wird empfohlen, eine elegantere Methode zu verwenden:

>>> from functools import reduce
>>> reduce(lambda x,y: x+y, l)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Die Kombination von Reduzieren und Lambda kann Spleißoperationen für jedes Unterarray im l-Array ausführen.

Natürlich gibt es einen magischeren Weg:

>>> sum(l, [])
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> # 其实相当于 [] + [1, 2, 3] + [4, 5, 6] + [7, 8, 9]

Ja, eine Summenoperation für das zweidimensionale Array kann dazu führen, dass jedes Element im zweidimensionalen Array Folgendes tut: Add"-Methode zum Zusammenfügen.

Wenn Sie eine Summenoperation für ein dreidimensionales Array ausführen, kann es zu diesem Zeitpunkt in ein zweidimensionales Array umgewandelt werden -dimensionales Array, es kann zu einem eindimensionalen Array erweitert werden.

Obwohl diese Technik ausgezeichnet ist, empfehle ich sie nicht, da die Lesbarkeit zu schlecht ist.

4. Unterstrich _-Variable

Immer wenn Sie einen Ausdruck im Python-Interpreter, in IPython oder in der Django-Konsole ausführen, bindet Python den Ausgabewert an die _-Variable. Medium: # 🎜🎜#
>>> nums = [1, 3, 7]
>>> sum(nums)
11
>>> _
11
>>>

Da es sich um eine Variable handelt, können Sie sie jederzeit überschreiben oder wie eine normale Variable bedienen:

>>> 9 + _
20
>>> a = _
>>> a
20

5 Mehrzweck-sonst#🎜🎜 ## 🎜🎜#Viele Leute wissen nicht, dass else an vielen Stellen verwendet werden kann. Zusätzlich zum typischen if else können wir es auch in Schleifen und bei der Ausnahmebehandlung verwenden.

loop

Wenn Sie feststellen müssen, ob eine bestimmte Logik in der Schleife verarbeitet wird, tun Sie normalerweise Folgendes:

found = False
a = 0
while a < 10:
if a == 12:
found = True
a += 1
if not found:
print("a was never found")

Wenn sonst eingeführt, wir können eine Variable weniger verwenden:

a = 0
while a < 10:
if a == 12:
break
a += 1
else:
print("a was never found")

Ausnahmebehandlung

Wir können else in try... außer... verwenden, um Logik zu schreiben, wenn Ausnahmen nicht abgefangen werden : #🎜 🎜#

In [13]: try:
...: {}['lala']
...: except KeyError:
...: print("Key is missing")
...: else:
...: print("Else here")
...:
Key is missing

Wenn das Programm keine Ausnahme hat, nimmt es auf diese Weise den else-Zweig:

In [14]: try:
...: {'lala': 'bla'}['lala']
...: except KeyError:
...: print("Key is missing")
...: else:
...: print("Else here")
...:
Else here

Wenn Sie häufig Ausnahmebehandlungen durchführen, kennen Sie diese Technik ist ziemlich praktisch.

Das obige ist der detaillierte Inhalt vonFünf versteckte Tricks in Python, von denen Sie wahrscheinlich noch nie gehört haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:51CTO.COM. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Was sind einige gängige Operationen, die an Python -Arrays ausgeführt werden können?Was sind einige gängige Operationen, die an Python -Arrays ausgeführt werden können?Apr 26, 2025 am 12:22 AM

PythonarraysSupportvariousoperationen: 1) SlicicingExtractsSubsets, 2) Anhang/Erweiterungen, 3) Einfügen von PlaceSelementsatspezifischePositionen, 4) Entfernen von Delettel, 5) Sortieren/ReversingChangesorder und 6) compredewlistenwlists basierte basierte, basierte Zonexistin

In welchen Anwendungsarten werden häufig Numpy -Arrays verwendet?In welchen Anwendungsarten werden häufig Numpy -Arrays verwendet?Apr 26, 2025 am 12:13 AM

NumpyarraysaresessentialForApplicationsRequeeFoughnumericalComputations und Datamanipulation

Wann würden Sie ein Array über eine Liste in Python verwenden?Wann würden Sie ein Array über eine Liste in Python verwenden?Apr 26, 2025 am 12:12 AM

UseanArray.ArrayoveralistinpythonwhendealingwithhomogenousData, Performance-CriticalCode, OrInterfacingwithCcode.1) HomogenousData: ArraysSavemoryWithtypedElements.2) Performance-CriticalCode: ArraySaveMoryWithtypedElements.2) Performance-CriticalCode: ArraysFerbetterPerPterPerProrMtorChorescomeChormericalcoricalomancomeChormericalicalomentorMentumscritorcorements.3) Interf

Werden alle Listenoperationen von Arrays unterstützt und umgekehrt? Warum oder warum nicht?Werden alle Listenoperationen von Arrays unterstützt und umgekehrt? Warum oder warum nicht?Apr 26, 2025 am 12:05 AM

Nein, NOTALLLISTOPERATIONSARESURDEDBYARAYS UNDVICEVERSA.1) ArraysDonotsupportdynamicoperationslikeAppendorinStResizing, die impactSperformance.2) listsDonotguaranteConstantTimeComplexityfordirectAccesslikearraysDo.

Wie können Sie in einer Python -Liste auf Elemente zugreifen?Wie können Sie in einer Python -Liste auf Elemente zugreifen?Apr 26, 2025 am 12:03 AM

ToaccesselementSinapythonlist, verwenden Indexing, Negativindexing, Slicing, Oriteration.1) IndexingStartsat0.2) NegativeIndexingAccessses aus der THEend.3) SlicingExtractSporions.4) itererationSforloopsorenumerate.AlwaySChEckLegthtoavoidIndexerror.

Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Wie werden Arrays im wissenschaftlichen Computer mit Python verwendet?Apr 25, 2025 am 12:28 AM

Arraysinpython, besondersvianumpy, arecrucialInScientificComputingFortheirefficience undvertilität.1) Sie haben festgelegt, dass die Fornerikerne, Datenanalyse und Machinelarning.2) Numpy'SimplementationIncensuresFasteroperationsdanpythonlisten.3) Araysensableableableableableableableableableableableableableableableableableableableableableableableableableable

Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Wie gehen Sie mit verschiedenen Python -Versionen im selben System um?Apr 25, 2025 am 12:24 AM

Sie können verschiedene Python -Versionen mithilfe von Pyenv, Venv und Anaconda verwalten. 1) Verwalten Sie PYENV, um mehrere Python -Versionen zu verwalten: Installieren Sie PyEnv, setzen Sie globale und lokale Versionen. 2) Verwenden Sie VenV, um eine virtuelle Umgebung zu erstellen, um Projektabhängigkeiten zu isolieren. 3) Verwenden Sie Anaconda, um Python -Versionen in Ihrem Datenwissenschaftsprojekt zu verwalten. 4) Halten Sie das System Python für Aufgaben auf Systemebene. Durch diese Tools und Strategien können Sie verschiedene Versionen von Python effektiv verwalten, um den reibungslosen Betrieb des Projekts zu gewährleisten.

Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Was sind einige Vorteile bei der Verwendung von Numpy -Arrays gegenüber Standard -Python -Arrays?Apr 25, 2025 am 12:21 AM

NumpyarrayShaveseveraladVantagesOverStandardPythonArrays: 1) SiearemuchfasterDuetoc-basiert, 2) sie istaremoremory-effizient, insbesondere mit mit LaShlargedatasets und 3) sie können sich mit vektorisierten Funktionsformathematical und Statistical opertical opertical opertical operticaloperation, Making

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.