18 beaux termes Python que vous voulez lire à haute voix. R18 avec des exemples de phrases

Contexte

Python, connu comme le langage de script du thon congelé, Il est également célèbre pour ses nombreux packages joliment nommés.

Référence: 7 termes Python que vous voulez lire à haute voix http://doloopwhile.hatenablog.com/entry/20120120/1327062714

Fasciné par ces forfaits magnifiquement nommés, ** Comment les packages magnifiquement nommés existent ** ** J'ai décidé d'enquêter sérieusement. ** **

Les informations de référence datent un peu de 2012, et Si vous cherchez à nouveau maintenant, vous trouverez sûrement ** des noms encore plus beaux **! !!

Politique d'enquête et aperçu

Système de gestion des packages Python = ** pip ** Les packages cibles sont tous Il est enregistré dans ** PyPI **. https://pypi.org/

Le nombre total est "** 219 370 *"! ( En février 2020) Ce n'est pas un montant qui peut être confirmé manuellement.

Je souhaite exclure les packages dormants qui ne sont pas du tout utilisés ** Paquets installés plus d'une fois au cours de la dernière année ** Je voudrais cibler. Par exemple, les listes de sites de référence, ** Pychinko ** Ne semble plus exister dans le monde et est exclu ** Pyzuri ** Malheureusement, il ne semble pas y avoir de téléchargement du tout, il est donc exclu.

Tous ces noms de packages et leurs informations de téléchargement Il peut être obtenu en utilisant ** pypinfo ** et ** BigQuery ** (les détails seront décrits plus tard).

Parce que le nom du package est alphanumérique ** Lecture forcée de Katakana ** Effectue le traitement de conversion japonais (Parce que le nom du package n'est pas un simple mot anglais C'est un processus assez difficile)

Enfin, en utilisant la ** "Beautiful Word List" ** que j'ai faite à l'avance Recherchez les noms de packages qui ont été traduits en japonais.

Grâce à ces efforts constants ~~ Omoshiroi ~~ Un paquet avec un beau nom ** J'ai pu en trouver beaucoup! ** **

** Annonce des résultats! !! ** **

Avant le code, je présenterai le résultat plus tôt. J'ai trouvé beaucoup de choses, mais j'en ai choisi 18. Si l'article de référence est l'édition Heisei, 18 sélections de la version japonaise, abrégée en "** R18 **".

Veuillez apprécier le beau sens de nommage de ** Paison ** avec des exemples de phrases.

sexmachine

31,001 DL l'année dernière Un outil pour déterminer si un nom est féminin ou masculin.

Enseignons fort aux nouveaux programmeurs en avril. ** Exemple: si vous ne comprenez pas, demandez à [sex machine]! ** **

méthanal

163 DL l'année dernière Formulaire formel et bibliothèque de widgets utilitaires.

Crions au travail en avril. ** Exemple: j'avais l'habitude de jouer avec [methanal] tout le temps pendant les vacances **

putain

64492 DL l'année dernière Un outil pour corriger les erreurs de commande de la console. https://github.com/nvbn/thefuck

Lorsqu'une erreur se produit, dites simplement "Fat !!" Il semble qu'il soit populaire car il répond automatiquement à ceux qui font une voix surprise.

Lisons-le en avril. ** Exemple: [la baise] [la baise] [la baise]! !! ** **

pyzure

427 DL l'année dernière Un package Python qui envoie facilement des données à Microsoft Azure SQL DB. https://github.com/dacker-team/pyzure

Bien que le pyzuri original ait disparu, il a découvert un nouveau talent.

Parlons à tout le monde en avril. ** Exemple: je suis content d'avoir essayé [pyzure] hier soir **

askocli

78 DL l'année dernière C'est un outil cli pour ** insérer ** des données dans AskOmics distant.

Nous vous rappelons gentiment en avril. ** Exemple: lors de l'insertion, d'abord [askocli] **

bas

71 DL l'année dernière Windows / Linux, qui vous permet d'envoyer et de recevoir des messages complets Emballage de socket compatible Python 2 et 3.

Confions-nous secrètement en avril ** Exemple: j'utilise en fait [bas] **

osex

34 DL l'année dernière Les détails sont inconnus. Cela peut être gênant en raison du manque de documentation.

Parlons en avril ** Exemple: je suis accro à [osex] et j'ai des problèmes **

pypi-cli (paipai-shiri) mypypi (maipaipai)

488 DL, 109 DL l'année dernière

Puisqu'il existe un grand nombre de systèmes Pai Pai, le montant total ne peut pas être indiqué. Je suis sûr qu'il existe de nombreux packages faciles à utiliser.

Faisons l'éloge en avril ** Exemple: [mypypi] est le meilleur! ** **

pypants pypandas

570 DL, 1114 DL l'année dernière

Déclarons à haute voix en avril ** Exemple: j'ai toujours [pypandas] **

pantalons (pantsu) fantaisie (pantalons fansi)

535 DL, 40 DL l'année dernière

Présentons-le à un collègue en avril ** Exemple: je vais vous montrer mon [pantalon fantaisie]! ** **

doraemon-robotframework (Framework Doraemon-Robot)

512 DL l'année dernière Cadre d'automatisation à usage général pour les tests d'acceptation et l'automatisation des processus robotiques (RPA) = Il semble que le "cadre du robot" ait la forme d'un tanuki bleu?

N'ayez pas peur d'oublier vos devoirs en avril ** Exemple: si vous rencontrez un problème, je vais demander au [framework doraemon-robot] **

baka

49 DL l'année dernière Framework d'application Web qui utilise le cœur de Pyramid? Il semble que.

Essayons-le en avril ** Exemple: j'ai mis [baka] dans mon ordinateur **

hncomments

52 DL l'année dernière

Tweetons en quelque sorte en avril ** Exemple: [hn comments]. Fufufu **

sexytime sexy-amusant sexy-amusant

52 DL, 25 DL l'année dernière

Parlons des attentes futures en avril ** Exemple: Commençons [sexy time] à partir de maintenant! ** **

Impressions

C'était le plus difficile de passer de l'anglais au katakana, A l'époque de l'anglais, il y avait déjà de nombreux ** mots puissants **.

Par tous les moyens en avril, au travail ou à l'école Lisons-le à haute voix. ** Je suis sûr que les gens autour de moi ressentiront l'arrivée du printemps **.


Ce qui suit sont des détails techniques, donc je pense que beaucoup de gens n'ont pas à les regarder. ~~ Veuillez vous référer à ceux qui sont intéressés.

** Présentation de ** packages magnifiquement nommés ** sérieusement ** Et cet article ** qui explique le ** code d'acquisition ** ** Je ne crains pas d'être "censuré / supprimé" **.

Cependant, quand ** un adulte au cœur sale ** voit, Vous pouvez le recevoir dans un sens différent de l'intention initiale **.

** Cet article traite de diverses circonstances ** ** Veuillez noter qu'il peut disparaître de manière inattendue. ** ** Veuillez l'essayer par tous les moyens avant qu'il ne disparaisse.

① Liste de paquets et acquisition d'informations sur le numéro de téléchargement (pypinfo)

Dans PyPI (paipai) où le package pip est enregistré, Un ensemble de données de cette statistique Il est publié sur ** Google / BigQuery **. Un outil qui peut facilement obtenir ces informations ** pypinfo **.

Pour travailler avec BigQuery Suivez les étapes sur le site ci-dessous https://github.com/ofek/pypinfo Compte Google Cloud Platform (GCP) et Vous devez créer les informations d'identification (fichier JSON).

Après avoir créé le fichier JSON, utilisez le navigateur Colaboratory(https://colab.research.google.com/?hl=ja) Commençons et exécutons la commande comme suit.

Montez Google Drive.


from google.colab import drive
drive.mount('/content/drive')

Créez ce dossier de travail.


!mkdir "drive/My Drive/PYPI"
#Importons le fichier JSON pour l'authentification créé précédemment ici.

Installez pypinfo.


pip install pypinfo

Spécifiez le chemin du fichier JSON pour l'authentification afin d'obtenir les informations d'authentification.


!pypinfo --auth "/content/drive/My Drive/PYPI/YourGCPProjectName-XXXXXXXXX.json"

Confirmation de communication de pypinfo (Vous pouvez obtenir le nombre de téléchargements de "request" comme ceci)


!pypinfo requests

#Served from cache: False
#Data processed: 67.70 GiB
#Data billed: 67.70 GiB
#Estimated cost: $0.34
#
#| download_count |
#| -------------- |
#|     61,319,474 |

De plus, par pays, par version, par OS de destination d'installation, etc. Vous pouvez obtenir diverses informations, alors essayons-les selon l'exemple sur le site officiel.

Comme vous pouvez le voir dans "Coût estimé: 0,34 USD" ci-dessus Dans BigQuery, chaque fois que vous lancez une requête Il est important de noter que vous serez facturé en fonction de la quantité de données lues. Cependant, avec la trame Always Free de 1 To / mois, Parce qu'il existe un niveau gratuit de 300 $ / an pour les nouveaux utilisateurs de GCP Une utilisation normale devrait être correcte. Veillez à ne pas lancer uniquement des requêtes lourdes pour une acquisition totale.

Maintenant, jetons enfin une requête pour cette acquisition de données.

Soumettez une requête pour l'année dernière et enregistrez les résultats dans un fichier.


!pypinfo --days 365 --limit 250000 "" project > "drive/My Drive/PYPI/PYPINFO_365_LIST.txt"

#Served from cache: False
#Data processed: 636.49 GiB
#Data billed: 636.49 GiB
#Estimated cost: $3.11

#| project                                                                           | download_count |
#| --------------------------------------------------------------------------------- | -------------- |
#|                                                                           urllib3 |    950,108,414 |
#|                                                                               six |    788,263,157 |
#|                                                                          botocore |    693,156,212 |
#|                                                                          requests |    656,942,399 |
#~~ Ce qui suit est omis ~~

Pour ton information, Le nombre total de téléchargements au cours de la dernière année est Environ 37,498,000,000 fois Il y avait environ 215 000 types de colis.

Le nombre total de colis étant d'environ 220 000, En regardant le niveau de l'année dernière, ce qui est enregistré La plupart seront «vivants». Parce qu'il n'y a pas de Pychinko qui aurait existé avant Il peut être régulièrement inventorié. En outre, au cours des 30 derniers jours, il y avait environ 134 000 types, donc Y a-t-il moins de 100 000 types qui sont utilisés assez décemment?

② Traitement des données acquises

Le nom du package et le fichier de décompte des téléchargements que vous avez obtenus précédemment sont Il est facile à voir et pratique à parcourir à portée de main, Pour le gérer par programme, vous devez l'analyser et le traiter.

Faites attention à la suppression de la ligne de coût de la requête d'ouverture, de la ligne d'en-tête / ligne totale du tableau, etc. Procédez comme suit pour le mettre au format LIST.

Lisez le fichier résultat pendant le traitement et créez-en une LISTE


f = open('/content/drive/My Drive/PYPI/PYPINFO_365_LIST.txt')
line = f.readline() #Lire ligne par ligne(Comprend: caractère de saut de ligne)

pypinfo_list = []
while line:
  #Lorsqu'il y a trois seuils = cap, frame et Total sont bloqués, mais à part ça, on peut le distinguer par cette condition
  if line.count('|') != 3:
    line = f.readline()
    continue
  else:
    #Supprimer le code de saut de ligne, les virgules et les espaces demi-largeur
    parsed_line = line.replace('\n', '').replace(' ', '').replace(',', '')
    one_data = parsed_line.split('|')
    #['', 'urllib3', '950108414', '']Utilisez les deux du milieu en forme de
    #Remarques: les valeurs numériques sont actuellement traitées comme des chaînes de caractères
    one_data = one_data[1:3]
    pypinfo_list.append(one_data)
    line = f.readline()
f.close

#Supprimer les deux premières lignes de titre et la dernière ligne de total
pypinfo_list = pypinfo_list[2:-1]

Je me demande si pypinfo le fournit, mais Je l'ai fait moi-même. Si c'est le cas, Cela coûte environ 3 $ à chaque fois, donc plutôt que de le jeter séparément de la version texte Cela enregistrera également le nombre de soumissions de requêtes. Je pense que ces ① et ② sont également utiles pour effectuer une «analyse de données» liée à Python.

③ Technologie pour rendre le nom du paquet katakana (alkana.py et faites de votre mieux)

Eh bien, j'ai pu lister les noms des packages, Par exemple, urllib ⇒ URlib python-dateutil ⇒ Python-Date Util Pour rendre le nom du paquet katakana comme Que faire?

La politique comprend les 4 étapes suivantes.

    1. Faire des mots qui existent en tant que mots anglais katakana
  1. Termes spéciaux de Katakana IT tels que Python, AWS et GIT
    1. Appliquer autant que possible la "conversion Romaji"
  2. Convertissez correctement les caractères fractionnaires restants: f⇒f, etc.

Les premiers "mots anglais à Katakana" sont les suivants J'ai utilisé la table de conversion de ** alkana.py **. https://github.com/cod-sushi/alkana.py/blob/master/README_ja.md

Pour 2-4, principalement à partir de la table de règles des caractères romains J'ai créé une table de conversion avec environ 330 lignes. Ajoutez-le aux données de alkana.py mentionnées ci-dessus, Créez une table de conversion sous la forme alkana_list.

Le but ici est d'utiliser la longueur de la chaîne de caractères anglais comme clé. Triez alkana_list par ordre décroissant.

x[0]Entrez la longueur de la chaîne de caractères à l'avance dans l'élément de


alkana_list = sorted(alkana_list, key=lambda x: x[0], reverse=True)
#Pour les éléments hautement prioritaires tels que py ⇒ pie et python ⇒ python
# [30, 'py', 'tarte']Si vous vous inscrivez avec une longue durée, la priorité augmentera.

La conversion sera maintenant appliquée dans l'ordre du mot le plus long. La conversion réelle est la suivante. En raison du montant, cela prend environ 50 minutes à la fois. Vous pouvez utiliser tqdm pour afficher la progression sur le chemin comme indiqué ci-dessous. Il sera plus facile à utiliser si vous l'enregistrez avec cornichon après le traitement.

Ajouter des informations de lecture Katanaka à tous les modules


from tqdm import tqdm

pypinfo_jp_list = []
for pypinfo in tqdm(pypinfo_list):
  #Variable de stockage du nom du module japonais (l'anglais est stocké à ce stade)
  jp_module_name = pypinfo[0]
  for data in alkana_list:
    #Convertissez la table de conversion dans l'ordre.
    jp_module_name = jp_module_name.replace(data[1], data[2])
  pypinfo_jp_list.append([pypinfo[0], jp_module_name, int(pypinfo[1])])

print(len(pypinfo_jp_list))
print(pypinfo_jp_list[0:10])

import pickle
with open('/content/drive/My Drive/PYPI/pypinfo_jp_list.pickle', 'wb') as f:
    pickle.dump(pypinfo_jp_list, f)

En tant qu'outil spécial de traitement du langage naturel Il peut y avoir quelques utilisations.

④ Trouvez un package qui utilise de "beaux mots"

Enfin, recherchez les packages contenant des mots clés spécifiques. Enregistrez ** vos mots préférés ** dans "Beautiful_tango_list" à l'avance, Il fait juste des boucles. Si vous incluez de nombreux termes utilisés tels que "pai", Gardez à l'esprit que les résultats seront énormes. Cette fois, un certain "site qui répertorie les mots élégants" J'ai emprunté le mot.

Je pense que la sortie d'impression est jusqu'à 5000 lignes dans Colaboratory, donc Si vous parcourez environ 10 000 lignes, il est préférable de générer une sortie dans un fichier comme indiqué ci-dessous.

Beautiful_tango_Rechercher le contenu de la liste et l'écrire dans le texte


result_str = ""
for word in Beautiful_tango_list:
  result_str += "■"+" "+ word + "\n"
  for data in pypinfo_jp_list:
    if word in data[1]:
      result_str += str(data) + "\n"
  result_str += "\n"
  
with open('/content/drive/My Drive/PYPI/Beautiful_Result.txt', 'w') as f:
  print(result_str, file=f)

** Merci pour votre soutien. ** ** Utiliser pleinement ces technologies et ces codes, comme les résultats ci-dessus, J'ai pu trouver de nombreux paquets avec de beaux noms.

Épilogue

** Le sens de la dénomination de Python ** est profond. Tout comme regarder le mot suivant lorsque vous recherchez le dictionnaire Même juste par rencontre accidentelle avec le nom Ce serait formidable si vous pouviez rencontrer votre forfait préféré.

** Rencontre fatidique apportée par PyPI **, On peut dire ça. La raison de mon intérêt pour la technologie était «j'étais curieux de connaître le nom». Mais n'est-ce pas bon?

Puisqu'il s'agit d'un article qui présente le paquet très au sérieux, C'est comme rappeler une signification différente de l'intention originale ** Ne jetez pas de pierres si vous êtes un adulte au cœur sale. ** ** Sincères salutations.

** Venez tout le monde ** ** Pai ○ n et Pai Pa ○ sont ** ** As-tu aimé? ** **

Aux lecteurs avisés qui ont lu jusqu'ici, ** Les mots en ○ sont clairs **.

Si quelqu'un comprend mal ou se plaint de cet article, Ce doit être ** ceux qui pensent toujours à de telles choses **.

Tout cela vient du terrain.

Recommended Posts

18 beaux termes Python que vous voulez lire à haute voix. R18 avec des exemples de phrases
Ravi de vous rencontrer avec python
Je veux déboguer avec Python
N'écrivez pas Python si vous voulez l'accélérer avec Python
Je veux analyser les journaux avec Python
Je veux jouer avec aws avec python
Si vous souhaitez inclure awsebcli dans CircleCI, spécifiez la version de python
Comment lire un fichier CSV avec Python 2/3
Je veux utiliser MATLAB feval avec python
Je veux faire un jeu avec Python
[Python] Comment lire des fichiers Excel avec des pandas
[OpenCV] Lorsque vous voulez vérifier s'il est lu correctement avec imread
Je souhaite utiliser le répertoire temporaire avec Python2
Ce que vous voulez mémoriser avec la grammaire de base de "manipulation de chaînes" de python
#Unresolved Je veux compiler gobject-introspection avec Python3
Je veux résoudre APG4b avec Python (chapitre 2)
Je veux écrire dans un fichier avec Python
Si vous voulez créer un bot discord avec python, utilisons un framework
Matériel à lire lors de la mise en route de Python
Je veux gérer l'optimisation avec python et cplex
La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
Paramètres lorsque vous souhaitez exécuter python-mecab avec travis
Liens pour faire ce que vous voulez avec Sublime Text
Lorsque vous souhaitez filtrer avec le framework Django REST
Je veux hériter de l'arrière avec la classe de données python
Je veux travailler avec un robot en python.
[Python] Comment gérer l'erreur de lecture pandas read_html
Je veux AWS Lambda avec Python sur Mac!
Pour ceux qui veulent écrire Python avec vim
La lecture du compteur analogique peut être effectuée avec l'exemple MNIST.
Notes de site pour vous aider à utiliser NetworkX avec Python
Je veux utiliser le jeu de données R avec python
Je veux faire fonctionner un ordinateur quantique avec Python
Je connais? Analyse de données à l'aide de Python ou de choses que vous souhaitez utiliser quand vous le souhaitez avec numpy
Je souhaite utiliser facilement les fonctions R avec le notebook ipython
Je souhaite spécifier une autre version de Python avec pyvenv
[Python] Si vous souhaitez soudainement créer un formulaire de demande
lire le tag qui vous est attribué dans ec2 avec boto3
Connaissances à connaître lors de la programmation de concours avec Python2
Je veux pouvoir analyser des données avec Python (partie 1)
[R] [Python] Memo pour lire plusieurs fichiers csv dans plusieurs fichiers zip
Utilisez aggdraw lorsque vous voulez dessiner magnifiquement avec un oreiller
Je veux pouvoir analyser des données avec Python (partie 4)
Je veux pouvoir analyser des données avec Python (partie 2)
Je veux assister automatiquement à des cours en ligne avec Python + Selenium!
[Python] Je souhaite utiliser l'option -h avec argparse
Lorsque vous souhaitez enregistrer les données initiales de Django avec des relations
[Visualisation] Je veux dessiner un beau graphique avec Plotly
Comment lire un fichier Excel (.xlsx) avec Pandas [Python]
Étudiant qui ne veut pas lire des articles en anglais (python)
Lorsque vous souhaitez lancer une commande UNIX sur Python
Connectez-vous à BigQuery avec Python
Lire csv avec des pandas python
Publiez sur Slack avec Python 3
Basculer python vers 2.7 avec des alternatives
Écrire en csv avec Python
Fonctionne avec Python et R
Lire des données json avec python