Einführung von Argumenten, die persönlich weniger bekannt zu sein scheinen, und von Argumenten, die in Pythons integrierten Funktionen vergeblich angegeben sind.
Es gibt keine Freundin oder Schule in Python.
CPython 3.8.1
range
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#func-range
Laut dem Beamten ist "Bereich keine Funktion, sondern ein unveränderlicher Sequenztyp", aber da er in der Funktionsliste enthalten ist, wird er als Funktion behandelt.
step
Die Bereichsfunktion wird oft als "Bereich (Start, Stopp)" geschrieben, es gibt jedoch ein Schrittargument.
Der Standardwert ist 1.
Sie können es verwenden, wenn Sie nur ungerade oder gerade Zahlen möchten.
>>> for i in range(1, 10, 2):
... print(i)
...
1
3
5
7
9
>>>
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#print
Es ist eine Funktion, die jeder benutzt hat. Es wird es ausgeben.
sep
Standardmäßig ist ein Leerzeichen mit halber Breite festgelegt.
Sie können "print (1, 2, 3)" und das Zeichen angeben, das getrennt wird, wenn mehrere Objekte als Argumente übergeben werden.
Sie müssen nicht "{beliebige Zeichenfolge}" .join () "eingeben, nur um zu drucken.
>>> print("Higuchi", "Aiba")
Higuchi Aiba
>>> print("Higuchi", "Aiba", sep="Wann")
Higuchi und Aiba
>>>
end
Standardmäßig ist \ n festgelegt
Wenn ich "printf" in C-Sprache usw. verwende, schreibe ich am Ende \ n, aber es muss nicht geschrieben werden.
Ich habe das Gefühl, dass es fast keinen Sinn macht. Ich habe es nie benutzt, aber ich weiß.
>>> print("Kaede Higuchi")
Kaede Higuchi
>>> print("Kaede Higuchi", end="Herr.")
Kaede Higuchi>>>
file
Standardmäßig ist sys.stdout festgelegt.
Durch Angabe eines Streams wie einer Datei wird dieser an das angegebene Ziel ausgegeben.
Ist es ein einfaches Protokoll? Ich werde in alle Richtungen wütend, wenn ich das Protokollierungsmodul verwende. Ich denke, es ist okay, eine Art stdout.write () zu machen. Ich kenne den Unterschied nicht.
>>> with open("hoge.txt", "w") as f:
... print("Uihara", file=f)
...
>>> with open("hoge.txt") as f:
... print(f.read())
...
Uihara
>>>
Es wäre schön, hier end zu verwenden. Es gab eine Verwendung.
flush
False ist standardmäßig eingestellt.
Obwohl sys.stdout nicht ausgeführt wird, scheint es, dass es bei der Ausgabe an andere Stellen größtenteils gepuffert ist. Ich weiß nicht viel im Detail.
Wird es jedes Mal verwendet, wenn Flush angegeben wird, wenn im Dateiargument ein anderer Stream angegeben wird?
Normalerweise wird der Puffer zum Zeitpunkt von f.close () geleert und geschrieben, aber wenn flush = True ist, wird er zum Zeitpunkt der Ausführung des Druckvorgangs geschrieben.
>>> f = open("fuga.txt", "w")
>>> print("Deron Deron Konderon", file=f, flush=True)
>>> f.close()
>>>
enumerate
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#enumerate
Diese Funktion gibt den Index zusammen zurück, wenn iterierbare Objekte wie list mit for gedreht werden.
start
Der Standardwert ist 0.
Die Verwendung ist, wenn Sie den Index von einer beliebigen Zahl aus starten möchten. Empfohlen für diejenigen, die den Index jedes Mal um 1 erhöhen.
>>> for index, item in enumerate(["Higuchi", "Aiba", "Suzuka", "Akabane", "Kreisstraße", "Yumetsuki"], start=1):
... print(index, item)
...
1 Higuchi
2 Aiba
3 Suzuka
4 Akabane
5 Kreisstraße
6 Yumetsuki
>>>
min, max
Offizielles Dokument (min): https://docs.python.org/ja/3/library/functions.html#min Offizielle Dokumentation (max): https://docs.python.org/ja/3/library/functions.html#max
Es wird verwendet, wenn Sie die Maximal- und Minimalwerte erhalten möchten.
key
Standardmäßig ist Keine festgelegt.
Sie können angeben, was mit min und max verglichen werden soll.
Die Verwendung ist, wenn Sie den Wert von dict vergleichen möchten.
>>> d = {"a": 100, "b": 50, "c": 10}
>>> max(d)
'c'
>>> max(d, key=d.get)
'a'
>>> min(d)
'a'
>>> min(d, key=d.get)
'c'
>>>
open
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#open
Wird beim Öffnen einer Datei verwendet.
mode
Standardmäßig ist r eingestellt.
Ich denke, jeder hat es benutzt. Dies ist das vergeblich angegebene Argument mit der Argumentrangnummer 1.
Ich denke, dass es nicht notwendig ist anzugeben, dass es als "open (file," r ")" geschrieben ist.
pow
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#pow
Es wird die Leistung berechnen.
mod
Standardmäßig ist Keine festgelegt.
Es gibt den Rest des {ersten Arguments} zurück, der zur Potenz des {zweiten Arguments} erhoben wird, geteilt durch die durch mod angegebene Zahl.
Ist es an der Zeit, es für große Berechnungen zu verwenden?
>>> pow(5, 5, 10)
5
>>>
round
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#round
Verwenden Sie diese Option, wenn Sie einen Bruch runden möchten.
ndigits
Der Standardwert ist Keine.
Sie können eine beliebige Anzahl von Nachkommastellen angeben.
>>> round(1.3333333333, 2)
1.33
>>>
sum
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#sum
Wenn alle iterierbaren Objekte vom Typ int sind, kann die Summe berechnet werden.
start
Der Standardwert ist 0.
Es kann von jeder Zahl aus gezählt werden.
Ich weiß nicht, wo ich es verwenden soll.
>>> sum([1, 2, 3, 4, 5], start=10)
25
>>>
Es ist eine kleine Geschichte, aber wenn das gesamte Innere vom Typ str ist und start auch vom Typ str ist, wird TypeError angezeigt, aber verwenden Sie stattdessen ''. Join (seq) `! Ich werde es Ihnen mit einer Nachricht sagen.
Ich habe noch nie eine so sanfte Fehlermeldung gesehen.
>>> sum(["b", "c", "d"], start="a")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sum() can't sum strings [use ''.join(seq) instead]
>>>
type
Offizielle Dokumentation: https://docs.python.org/ja/3/library/functions.html#type
Ich benutze es, wenn ich nicht weiß, was der Typ dieses Objekts ist.
bases, dict
Es gibt keine Standardeinstellung.
~~ Du kannst so etwas wie eine Klasse machen. ~~
** Nachtrag (aus Kommentar): ** ** Für die in der Klassensyntax definierten Klassenobjekte wird ein Klassenobjekt erstellt, und mit der Typfunktion kann auch ein Klassenobjekt erstellt werden. ** ** **
Sie müssen die Klasse angeben, die mit Basen mit Tupel geerbt werden soll, und die Instanzvariable mit dict angeben.
Es scheint keinen Platz zu geben, um es zu benutzen. Kann es verwendet werden, wenn etwas gebundenes gespielt wird?
>>> x = type("abc", (), dict(a=1, b=2, c=3))
>>> x
<class '__main__.abc'>
>>>
Offizielle Dokumentation: https://docs.python.org/ja/3/library/random.html#random.choices
Eine Funktion, die ein aufteilbares Objekt (str-Typ, Sequenztyp) empfängt, das an das erste Argument übergeben wird, wählt es zufällig aus und gibt es zurück.
k
Der Standardwert ist 1.
Sie können die Nummer zufällig auswählen. Beseitigt die Notwendigkeit, "" zu schreiben. Join ([random.choice (string.ascii_letters) für i in range (10)]) "beim Generieren einer zufälligen Zeichenfolge.
>>> import random
>>> import string
>>> random.choices(string.ascii_letters, k=10)
['C', 'H', 'I', 'O', 'a', 'G', 's', 'E', 'f', 'c']
>>>
Wie war es? (Schlagen
Auf diese Weise gibt es allein in den integrierten Funktionen einige weniger häufig verwendete Argumente.
Sie können viel (nicht alles) Wissen erhalten, indem Sie die offizielle Dokumentation lesen.
Es ist nicht so, dass es stark ist, weil Sie die Argumente kennen, und es ist schwach, weil Sie es nicht wissen, aber wenn Sie viel Wissen haben, können Sie etwas gewinnen, also denke ich, dass es sich lohnt, es zu wissen.
Ich bin noch unreif, daher können Sie auf Fehler in der Erklärung im Text hinweisen.
Recommended Posts