Pas étonnamment connu! ?? Qu'en est-il des arguments de fonction intégrés? De quelle école êtes-vous? [Python]

Résumé de cet article

Introduire des arguments qui semblent moins connus personnellement et des arguments qui sont spécifiés en vain dans les fonctions intégrées de Python.

Il n'y a pas de petite amie ou d'école en Python.

Environnement d'exploitation

CPython 3.8.1

range

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#func-range

Selon le fonctionnaire, "la plage n'est pas une fonction mais un type de séquence immuable", mais comme elle est dans la liste des fonctions, elle sera traitée comme une fonction.

step

La fonction range est souvent écrite comme "range (start, stop)", mais il y a un argument step.

La valeur par défaut est définie sur 1.

Vous pouvez l'utiliser lorsque vous ne voulez que des nombres impairs ou pairs.

>>> for i in range(1, 10, 2):
...     print(i)
...
1
3
5
7
9
>>>

print

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#print

C'est une fonction que tout le monde a utilisée. Il le sortira.

sep

Par défaut, un espace demi-largeur est défini.

Vous pouvez spécifier «print (1, 2, 3)» et le caractère qui sépare lorsque plusieurs objets sont passés en arguments.

Vous n'êtes pas obligé de taper " {chaîne arbitraire} ".join () juste pour imprimer.

>>> print("Higuchi", "Aiba")
Higuchi Aiba
>>> print("Higuchi", "Aiba", sep="Quand")
Higuchi et Aiba
>>>

end

Par défaut, \ n est défini

Quand j'utilise printf en langage C etc., j'écris \ n à la fin, mais il n'est pas nécessaire de l'écrire.

Je sens que cela ne sert presque à rien. Je ne l'ai jamais utilisé, mais je sais.

>>> print("Kaede Higuchi")
Kaede Higuchi
>>> print("Kaede Higuchi", end="M.")
Kaede Higuchi>>>

file

Par défaut, sys.stdout est défini.

En spécifiant un flux tel qu'un fichier, il sera émis vers la destination spécifiée.

Est-ce un journal simple à utiliser? Je me fâche dans toutes les directions lorsque j'utilise le module de journalisation. Je pense que c'est correct de faire une sorte de stdout.write (). Je ne connais pas la différence.

>>> with open("hoge.txt", "w") as f:
...     print("Uihara", file=f)
...
>>> with open("hoge.txt") as f:
...     print(f.read())
...
Uihara

>>>

Ce serait bien d'utiliser la fin ici. Il y avait une utilisation.

flush

False est défini par défaut.

Bien que sys.stdout ne soit pas terminé, il semble qu'il soit principalement mis en mémoire tampon lors de la sortie vers d'autres endroits. Je ne connais pas grand chose en détail.

Est-il utilisé chaque fois que flush est spécifié lorsqu'un autre flux est spécifié dans l'argument file?

Normalement, le tampon est vidé et écrit au moment de f.close (), mais lorsque flush = True, il est écrit au moment où l'impression est exécutée.

>>> f = open("fuga.txt", "w")
>>> print("Deron Deron Konderon", file=f, flush=True)
>>> f.close()
>>>

enumerate

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#enumerate

C'est une fonction qui renvoie l'index ensemble lorsque des objets itérables tels que list sont tournés avec for.

start

La valeur par défaut est définie sur 0.

L'utilisation est lorsque vous souhaitez démarrer l'index à partir de n'importe quel nombre. Recommandé pour ceux qui augmentent l'indice de 1 à chaque fois.

>>> for index, item in enumerate(["Higuchi", "Aiba", "Suzuka", "Akabane", "Route de comté", "Yumetsuki"], start=1):
...     print(index, item)
...
1 Higuchi
2 Aiba
3 Suzuka
4 Akabane
5 route de comté
6 Yumetsuki
>>>

min, max

Document officiel (min): https://docs.python.org/ja/3/library/functions.html#min Documentation officielle (max): https://docs.python.org/ja/3/library/functions.html#max

Il est utilisé lorsque vous souhaitez obtenir les valeurs maximale et minimale.

key

Par défaut, Aucun est défini.

Vous pouvez spécifier les éléments à comparer aux valeurs min et max.

L'utilisation est lorsque vous souhaitez comparer la valeur de dict.

>>> 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

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#open

Utilisé lors de l'ouverture d'un fichier.

mode

Par défaut, r est défini.

Je pense que tout le monde l'a utilisé. C'est l'argument avec l'argument classement numéro 1 qui est spécifié en vain.

Je n'ai pas besoin de spécifier ʻopen (file, "r") `, mais ...

pow

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#pow

Il calculera la puissance.

mod

Par défaut, Aucun est défini.

Il renvoie le reste du {premier argument} à la puissance du {deuxième argument} divisé par le nombre spécifié par mod.

Est-il temps de l'utiliser pour de gros calculs?

>>> pow(5, 5, 10)
5
>>>

round

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#round

À utiliser lorsque vous souhaitez arrondir une fraction.

ndigits

La valeur par défaut est définie sur Aucun.

Vous pouvez spécifier n'importe quel nombre de chiffres après la virgule décimale.

>>> round(1.3333333333, 2)
1.33
>>>

sum

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#sum

Si tous les objets itérables sont de type int, le total peut être calculé.

start

La valeur par défaut est définie sur 0.

Il peut être compté à partir de n'importe quel nombre.

Je ne sais pas où l’utiliser.

>>> sum([1, 2, 3, 4, 5], start=10)
25
>>>

C'est une petite histoire, mais si tout l'intérieur est de type str et start est également de type str, TypeError apparaîtra, mais utilisez `` '. Join (seq) `à la place! Je vais vous dire avec un message.

Je n'ai jamais vu un message d'erreur aussi doux.

>>> 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

Documentation officielle: https://docs.python.org/ja/3/library/functions.html#type

Je l'utilise quand je ne sais pas quel est le type de cet objet.

bases, dict

Il n'y a pas de valeur par défaut.

~~ Vous pouvez créer quelque chose comme une classe. ~~

** Addendum (de Comment): ** ** Un objet de classe est créé pour ceux définis dans la syntaxe de classe, et un objet de classe peut également être créé avec la fonction type. ** **

Vous devez spécifier la classe à hériter avec les bases avec tuple et spécifier la variable d'instance avec dict.

Il ne semble y avoir aucun endroit pour l'utiliser. Peut-il être utilisé pour jouer à quelque chose de ligoté?

>>> x = type("abc", (), dict(a=1, b=2, c=3))
>>> x
<class '__main__.abc'>
>>>

Extra: choix aléatoires

Documentation officielle: https://docs.python.org/ja/3/library/random.html#random.choices

Une fonction qui reçoit un objet segmentable (type str, type séquence) passé au premier argument, le sélectionne de manière aléatoire et le renvoie.

k

La valeur par défaut est définie sur 1.

Vous pouvez choisir le nombre à sélectionner au hasard. Élimine le besoin d'écrire "". Join ([random.choice (string.ascii_letters) for i in range (10)]) `lors de la génération d'une chaîne aléatoire.

>>> import random
>>> import string
>>> random.choices(string.ascii_letters, k=10)
['C', 'H', 'I', 'O', 'a', 'G', 's', 'E', 'f', 'c']
>>>

Résumé

Comment était-ce? (Battre

Comme ça, il y a pas mal d'arguments moins utilisés dans les seules fonctions intégrées.

Vous pouvez obtenir beaucoup de connaissances (pas toutes) en lisant la documentation officielle.

Cela ne signifie pas que vous êtes fort parce que vous connaissez les arguments, et faible parce que vous ne les connaissez pas, mais si vous avez beaucoup de connaissances, vous pouvez gagner quelque chose, donc je pense qu'il n'y a aucune perte à le savoir.

Je suis encore immature, alors n'hésitez pas à signaler toute erreur dans l'explication dans le texte.

Recommended Posts

Pas étonnamment connu! ?? Qu'en est-il des arguments de fonction intégrés? De quelle école êtes-vous? [Python]
[Python] Avant le trait de soulignement (underbar) Quelles sont les deux fonctions?
Inconnu de manière inattendue!? Fonction de bibliothèque standard Python groupby
À propos du fait que le contenu de l'impression Python n'est pas visible dans les journaux du docker
À propos des fonctionnalités de Python
Considérez ce que vous pouvez faire avec Python dans l'article Qiita
[Python] Qu'est-ce que @? (À propos des décorateurs)
Existence du point de vue de Python
À propos de la liste de base des bases de Python
Extension de Python par C ou C ++ (lorsqu'il y a plusieurs arguments, lors du passage d'une liste du côté Python)
Notes d'apprentissage depuis le début de Python 1
À propos de l'environnement virtuel de Python version 3.7
À propos de l'environnement de développement que vous utilisez
A propos des arguments de la fonction setup de PyCaret
Notes d'apprentissage depuis le début de Python 2
Quelles sont les caractéristiques des actrices audiovisuelles? J'ai deviné d'après le titre de l'oeuvre! (^ _ ^) / ~~
À propos du problème que la version python de Google App Engine ne maille pas
Ce que vous voulez mémoriser avec la grammaire de base de "manipulation de chaînes" de python
Comment revenir à la commande depuis l'état où vous ne pouvez pas entrer en mode interactif avec python de git bash
Récupérer le contenu de git diff depuis python
Vérifiez le type de variable que vous utilisez
Le contenu du didacticiel Python (chapitre 5) est résumé dans une puce.
Quand les fonctions python affectent-elles les arguments de l'appelant?
Le contenu du didacticiel Python (chapitre 4) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 2) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 8) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 1) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 10) est résumé dans une puce.
Écrire une note sur la version python de python virtualenv
Que comparez-vous avec Python et ==?
[Note] À propos du rôle du trait de soulignement "_" en Python
Le contenu du didacticiel Python (chapitre 6) est résumé dans une puce.
Le contenu du didacticiel Python (chapitre 3) est résumé dans une puce.
Qu'utilisez-vous lorsque vous testez avec Python?
Ce à quoi j'ai pensé dans la question de l'examen d'entrée de "Bayes Statistics from the Basics"
Que faire si la barre de progression n'est pas affichée dans tqdm de python
Que faire lorsque Python ne passe pas de la version système dans pyenv