Une liste de conseils Python super pratiques

Python de rêve 2021-11-25 17:30:04
une liste conseils python super

image

PythonEst le plus populaire au monde,Un des langages de programmation les plus populaires.Il y a plusieurs raisons à cela:

  • C'est facile à apprendre.
  • C'est super polyvalent
  • Il dispose d'un grand nombre de modules et de bibliothèques

Utilisation quotidiennePythonÇa fait partie de mon travail intérieur.Dans ce processus,,J'ai appris des techniques et des expériences utiles.

Ici,J'ai essayé deA~ZCertains d'entre eux sont partagés séquentiellement.

La plupart d'entre eux“Technique”C'est quelque chose que j'utilise ou que je trouve accidentellement dans mon travail quotidien.Certains d'entre eux sont ceux que je parcouraisPythonTrouvé lors de la documentation standard de la Bibliothèque.D'autres passent parPyPiRecherche.

Mais,Grâce à ça - Je suisawesome-python.comOn en a trouvé quatre ou cinq.C'est des centaines dePythonUne sélection d'outils et de modules.C'est une inspiration à explorer!

all or any

PythonUne des raisons pour lesquelles les langages de programmation sont si populaires est qu'ils sont lisibles et expressifs.Enfin,Si votre temps n'est pas très stressant,Et je veux être rapidepythonAmélioration,Le plus important, c'est de ne pas avoir peur de souffrir.,Suggérez que vous puissiez obtenir le prix(Homophone):762459510 ,C'est vraiment bien.,Beaucoup de gens progressent rapidement,J'ai besoin que tu n'aies pas peur de souffrir.!Vous pouvez l'ajouter et le voir.~

Les gens plaisantent souventPython- Oui.’Pseudocode exécutable. Mais quand vous pouvez écrire un tel code , Difficile à réfuter. :

x = [True, True, False]
if any(x):
print("At least one True")
if all(x):
print("Not one False")
if any(x) and not all(x):
print("At least one True and one False")

bashplotlib

Voulez - vous dessiner un diagramme dans la console ?

$ pip install bashplotlib

Vous pouvez afficher le diagramme dans la console .

collections

PythonIl y a de grands types de données par défaut, Mais parfois, ils ne se comportent pas comme vous le souhaitez .

Heureusement,Python La Bibliothèque standard offre des modules de collection . Cet ajout pratique vous donne plus de types de données .

from collections import OrderedDict, Counter
# Remembers the order the keys are added!
x = OrderedDict(a=1, b=2, c=3)
# Counts the frequency of each character
y = Counter("Hello World!")

DIR

Je me demandais comment voir Python Objet et voir quelles propriétés il a ? Bien sûr que si. .

Depuis la ligne de commande:

>>> dir()
>>> dir("Hello World")
>>> dir(dir)

Quand il fonctionne de façon interactivePython Et lors de la navigation dynamique des objets et des modules que vous utilisez ,Cela pourrait être une fonctionnalité très utile.

$ pip install emoji
from emoji import emojize
print(emojize(":thumbs_up:"))

fromfutureimport

Python Une conséquence de la popularité est qu'il y a toujours de nouvelles versions en cours de développement .Une nouvelle version signifie une nouvelle fonctionnalité - Sauf si votre version est obsolète .

Mais,N'aie pas peur.Le ***future Module ***, Vous permet d'utiliser Python Possibilité d'importer des versions futures . C'est comme un voyage dans le temps , Magie ou autre chose .

from future import print_function
print(“Hello World!”)

Pourquoi ne pas importer des accolades bouclées ?

geopy

Pour les programmeurs, La géographie peut être un domaine difficile (ha,a pun!).Maisgeopy Le module le rend très simple .
pip install geopy

Son principe de fonctionnement est l'abstraction d'une série de différents services de géocodage API. Il vous permet d'obtenir l'adresse municipale complète d'un endroit ,Latitude,Longitude, Même en hauteur .

Et une classe de distance utile. Il calcule la distance entre deux positions dans votre unité de mesure préférée .

from geopy import GoogleV3
place = "221b Baker Street, London"
location = GoogleV3().geocode(place)
print(location.address)
print(location.location)

howdoi

J'ai rencontré un problème de codage et j'ai oublié la solution que j'avais vue auparavant ?Inspection requiseStackOverflow, Mais je ne veux pas quitter le terminal. ?

Et tu as besoin Cet outil utile en ligne de commande .

$ pip install howdoi

Je t'ai posé une question. , Il fera de son mieux pour répondre .

$ howdoi vertical align css
$ howdoi for java in java
$ howdoi undo commits in git

Votre attention, s'il vous plaît. - Ça vient deStackOverflow Supprimer le Code de la réponse de haut niveau pour . Il peut ne pas toujours fournir les informations les plus utiles …

$ howdoiSortievim

inspect Vérifiez

Python Le module de vérification est parfait pour comprendre ce qui se passe dans les coulisses . Vous pouvez même appeler ses propres méthodes !

Exemple de code suivant inspect.getsource() Pour imprimer votre propre code source.C'est aussi inspect.getmodule() Pour imprimer le module qui le définit .Enfin,Si votre temps n'est pas très stressant,Et je veux être rapidepythonAmélioration,Le plus important, c'est de ne pas avoir peur de souffrir.,Suggérez que vous puissiez obtenir le prix(Homophone):762459510 ,C'est vraiment bien.,Beaucoup de gens progressent rapidement,J'ai besoin que tu n'aies pas peur de souffrir.!Vous pouvez l'ajouter et le voir.~

La dernière ligne de code imprime son propre numéro de ligne .

import inspect
print(inspect.getsource(inspect.getsource))
print(inspect.getmodule(inspect.getmodule))
print(inspect.currentframe().f_lineno)

Bien sûr., .En plus de ces utilisations insignifiantes , Le module de vérification est très utile pour comprendre le rôle du Code . Vous pouvez également l'utiliser pour écrire votre code d'auto - enregistrement .

Jedi

Jedi La bibliothèque est une bibliothèque d'aide au Code et d'analyse de code .Il accélère l'écriture du Code,Plus efficace.

Sauf si vous développez votre propre IDE, Sinon, ce qui pourrait vous intéresser le plus Jedi Utilisé comme plug - in d'éditeur .Heureusement,Déjà disponible!

Mais, Vous pouvez déjà utiliser JediC'est.IPythonUtilisation du projetJedi Réaliser la fonction d'achèvement automatique de son code .

**** kwargs**

Apprendre n'importe quelle langue , Il y a beaucoup de jalons en cours de route .UtiliserPython, Comprendre le mystère **kwargs La syntaxe peut être comptée comme un .

Le double astérisque devant l'objet dictionnaire vous permet de passer le contenu du dictionnaire comme paramètre de nommage à la fonction .

Python Groupe d'apprentissage en direct :556370268,Il y a partage des ressources ici,Solutions techniques, Et il y a un petit montage de la base Python Matériel jusqu'au matériel d'apprentissage pratique du projet est organisé , J'espère que ça vous aidera à mieux apprendre. python.

La clé du dictionnaire est le nom du paramètre,La valeur est la valeur passée à la fonction. Tu n'as même pas besoin de l'appeler kwargs!

dictionary = {"a": 1, "b": 2}
def someFunction(a, b):
print(a + b)
return
# these do the same thing:
someFunction(**dictionary)
someFunction(a=1, b=2)

Quand vous voulez écrire une fonction qui peut traiter des paramètres nommés non prédéfinis ,C'est très utile..

List comprehensions

Mon préféré Python Un point de programmation est la dérivation de la liste .

Ces expressions peuvent facilement écrire un code très propre , Presque comme le langage naturel .

Vous pouvez en savoir plus sur la façon de les utiliser ici .

numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']
def visit(city):
print("Welcome to "+city)
for city in cities:
visit(city)

map

PythonPrise en charge de la programmation fonctionnelle avec de nombreuses fonctionnalités intégrées. Le plus utile d'entre eux est map() Fonctions - En particulier aveclambdaFonctions combinées.

x = [1, 2, 3]
y = map(lambda x : x + 1 , x)
# prints out [2,3,4]
print(list(y))

Dans l'exemple ci - dessus, map() Ce sera facilelambda La fonction est appliquée à chaque élément x .Il renvoie unmapObjet, Vous pouvez le convertir en un objet itérable ,Par exemplelistOutuple.

newspaper3k

Si vous ne l'avez pas encore vu, Alors s'il vous plaît, préparez - vous à ce que vos pensées soient Python Le module Journal de .

Il vous permet d'extraire des articles de presse et des métadonnées connexes d'une série de publications internationales de premier plan . Vous pouvez récupérer des images ,Texte et nom de l'auteur.

Il a même quelques NLPFonction.

Donc,, Si vous envisagez de BeautifulSoupOu autreDIY Web crawler Library pour votre prochain projet , Économisez votre temps et votre énergie ,Avec`$ pip install newspaper3k Remplacer.

Operator overloading Surcharge de l'opérateur

Python Prise en charge de la surcharge de l'opérateur , .C'est l'un des termes qui vous font passer pour un informaticien légitime .

C'est en fait un concept simple.Tu t'es déjà demandé pourquoiPythonVous permet d'utiliser + Opérateurs pour ajouter des nombres et des chaînes de connexion? C'est la surcharge de l'opérateur qui fonctionne .

Vous pouvez définir l'utilisation à votre façon Python Objet du symbole de l'opérateur standard . Cela vous permet de les utiliser dans le contexte des objets que vous utilisez .

class Thing:
def __init__(self, value):
self.__value = value
def __gt__(self, other):
return self.__value > other.__value
def __lt__(self, other):
return self.__value < other.__value
something = Thing(100)
nothing = Thing(0)
# True
something > nothing
# False
something < nothing
# Error
something + nothing

pprint

PythonPar défaut print La fonction peut faire son travail . Mais essayez d'imprimer n'importe quel grand objet imbriqué , C'est plutôt moche. .

C'est Beau module d'impression de la Bibliothèque standard (Standard Library’s pretty-print module)De Où ça?. Il imprime des objets structurés complexes dans un format facile à lire .

Toute utilisation de structures de données non conventionnelles Python Nécessaire pour les développeurs .

import requests
import pprint
url = 'https://randomuser.me/api/?results=1'
users = requests.get(url).json()
pprint.pprint(users)

Queue File d'attente

PythonPrise en charge Multithreading, Le module file d'attente de la Bibliothèque standard facilite cette tâche .

Ce module vous permet d'implémenter une structure de données de file d'attente . Ce sont des structures de données qui vous permettent d'ajouter et de récupérer des entrées selon des règles spécifiques .

‘Premier entré, premier sorti’(OuFIFO) La file d'attente vous permet de récupérer des objets dans l'ordre où ils ont été ajoutés .“Dernier entré premier sorti”(LIFO) La file d'attente vous permet d'accéder d'abord aux objets récemment ajoutés .

Enfin, La file d'attente prioritaire vous permet de récupérer des objets dans l'ordre de tri des objets .

C'est une façon dePython Exemple de programmation multithreadée utilisant des files d'attente dans .

repr

InPythonLorsque vous définissez une classe ou un objet dans,Fournit un moyen de représenter l'objet comme une chaîne“Officiellement” La méthode est très utile .Par exemple:

>>> file = open('file.txt', 'r')
>>> print(file)
<open file 'file.txt', mode 'r' at 0x10d30aaf0>

Cela facilite le débogage du Code . Ajoutez - le à votre définition de classe ,Comme suit:

class someClass:
def __repr__(self):
return "<some description here>"
someInstance = someClass()
# prints <some description here>
print(someInstance)

SH

PythonC'est un excellent langage de script. Parfois, l'utilisation d'un système d'exploitation standard et d'une bibliothèque de sous - processus peut causer des maux de tête .

LeSH La Bibliothèque offre une alternative propre .

Il vous permet d'appeler n'importe quel programme , Comme si c'était une fonction normale - Très utile pour automatiser les flux de travail et les tâches, Tout cela vient de Python.

import sh
sh.pwd()
sh.mkdir('new_folder')
sh.touch('new_file.txt')
sh.whoami()
sh.echo('This is great!')

Type hints

PythonEst un langage de type dynamique.Définir les variables,Fonctions, Isochrone de classe , Il n'est pas nécessaire de spécifier le type de données .

Cela permet un temps de développement rapide .Mais, .Il y a des choses plus désagréables que les erreurs d'exécution causées par des problèmes de saisie simples .

DePython 3.5C'est parti., Vous pouvez choisir de fournir des conseils de type lors de la définition d'une fonction .

def addTwo(x : Int) -> Int:
return x + 2

Vous pouvez également définir des alias de type :

from typing import List
Vector = List[float]
Matrix = List[Vector]
def addMatrix(a : Matrix, b : Matrix) -> Matrix:
result = []
for i,row in enumerate(a):
result_row =[]
for j, col in enumerate(row):
result_row += [a[i][j] + b[i][j]]
result += [result_row]
return result
x = [[1.0, 0.0], [0.0, 1.0]]
y = [[2.0, 1.0], [0.0, -2.0]]
z = addMatrix(x, y)

Même si ce n'est pas obligatoire, Mais les commentaires de type peuvent rendre votre code plus facile à comprendre .

Ils vous permettent également de capturer ces TypeErrors. Si vous travaillez sur un grand projet complexe , Ça pourrait en valoir la peine. !

uuid

Générer une unicité universelleID(Ou“UUID”) Un raccourci vers PythonDe la Bibliothèque standarduuidModule .

import uuid
user_id = uuid.uuid4()
print(user_id)

Ça va créer un 128Les chiffres, Presque certainement le seul .

En fait,,Peut générer plus de2 12 2C'est possible.UUID. C'est plus de 500 millions. (Ou5,000,000,000,000,000,000,000,000,000,000,000,000,000).

La probabilité de trouver un duplicata dans un ensemble donné est très faible . Même s'il y a des billions UUID, La probabilité de répétition est également bien inférieure à un milliardième .

Deux lignes de code sont assez bonnes .

Virtual environments

C'est peut - être mon préféré PythonOù?.

Il est possible que vous ayez plusieurs PythonProjets.Malheureusement,, .Parfois, deux projets dépendent de différentes versions de la même dépendance . Qu'avez - vous installé sur le système ?

Heureusement,Python Le support de l'environnement virtuel vous donne l'avantage de .Depuis la ligne de commande:

python -m venv my-project
source my-project/bin/activate
pip install all-the-modules

Maintenant, .Vous pouvez exécuter la version autonome et PythonInstallation.

wikipedia Wikipedia

Wikipedia a un superAPI, .Permettre aux utilisateurs d'accéder programmatiquement à des connaissances et à des informations inégalées et entièrement gratuites .

Dans le module Wikipedia ,Rendre l'accès àAPI Commodité presque inattendue .

import wikipedia
result = wikipedia.page('freeCodeCamp')
print(result.summary)
for link in result.links:
print(link)

Comme un vrai site Web , Ce module offre un support multilingue ,Désambiguation de la page,Recherche aléatoire de pages,Il y en a même un. donate() Méthodes.

XKCD

L'humour estPythonUne caractéristique clé de la langue - Après tout, C'est un sketch de comédie anglaise ***Monty Python Un cirque volant ***Nommé.Python La plupart des documents officiels citent les croquis les plus célèbres de la pièce .

Mais le sens de l'humour ne se limite pas aux documents . Veuillez exécuter comme suit: :

import antigravity

Ne change jamais. ,Python.Ne change jamais.

YAML

YAMLReprésentant’ YAML Is Not Markup Language '.C'est un langage de formatage de données,- Oui.JSONUn superensemble de.

AvecJSONC'est différent.,Il peut stocker des objets plus complexes et se référer à ses propres éléments. Vous pouvez également écrire des commentaires ,Le rendre particulièrement adapté à l'écriture de profils.

LePyYAML Le module vous permet d'utiliser YAMLUtiliserPython.Installation:

$ pip install pyyaml

Puis importez dans votre projet :

import yaml

PyYAML Vous permet de stocker n'importe quel type de données PythonObjet,Et une instance de toute classe définie par l'utilisateur.

zip Compression

Le dernier tour de la technique ,C'est vraiment cool.. Avez - vous déjà eu besoin de former un dictionnaire à partir de deux listes ?

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
zipped = dict(zip(keys, vals))

Le zip() Les fonctions intégrées nécessitent une série d'objets itérables,Et renvoie une liste de tuples.Chaque Tuple regroupe les éléments de l'objet d'entrée par index de localisation.

Vous pouvez également appeler *zip() Ils arrivent. “Décompresser”Objet.
image

Prestations:Réponse à un message privé【01】Disponible gratuitementpythonVidéo du Tutoriel de démarrage

版权声明
本文为[Python de rêve]所创,转载请带上原文链接,感谢
https://pythonmana.com/2021/11/20211125172423099s.html

  1. Debugging mm32f3277 from zhufei, transplanted with micro Python development board
  2. Recognizing numbers using OpenCV and python
  3. 真的太香了,Python速查表终于出中文版了
  4. Django REST Framework(DRF)教程:快速入门
  5. python django objects filter过滤查询:startswith year
  6. Data encapsulation of Excel test cases in Python
  7. 学员管理系统python
  8. 肝了一夜,8000字概括精髓,pandas必知必会50例!
  9. Python竟然可以画漫画!漫画版的故宫导游图,来袭!
  10. Networkx graph theory Dijkstra algorithm shortest path implementation, Python
  11. Draw a HelloWorld with Python turtle Library
  12. 运行django的服务器内存使用偶尔跳高一点,重启服务马上下来,是内存泄露吧
  13. Basic usage of Python tqdm module in machine learning training
  14. Python -- basic usage method and basic template of argparse module
  15. python-sockertserver并发编程思想
  16. Programmation simultanée du serveur de sockets Python
  17. Vue+Django 旅游网项目 首页前端实现
  18. [learning notes] Python - pyecarts
  19. Python automated operation and maintenance -- actual combat (I)
  20. Classic usage of pandas: iloc and LOC of data filtering
  21. Python 多分支语句的三种结构
  22. Calendar module of Python time series
  23. Python 输出指定范围的闰年
  24. A super easy to use Python standard library. It's great to operate directories and files
  25. Fatal Python error: init_ fs_ encoding: failed to get the Python codec of the filesystem encoding
  26. Using Python to obtain a video address is as simple as
  27. #yyds干货盘点# 6. Python 元组,不可变的列表,滚雪球学 Python
  28. Yyds Dry Inventory # 6. Python tuples, invariant List, snowball Learning Python
  29. You cannot enter the registration page using Django registration redux
  30. 笨办法学Python第十八天:更多文件操作
  31. Python编辑代码,帮个忙呗
  32. pandas转换object为int失败了,有人能解答吗
  33. python解释题,解释这串,所代表的意思
  34. 用python用while语句写1000以内能被5和9整除的数和个数
  35. #python 我写了一个“饭店”程序
  36. Comprehensive application of Python foundation -- Development
  37. Écrivez en python le nombre et le nombre d'entiers qui peuvent être divisés par 5 et 9 jusqu'à 1000 dans une instruction while
  38. python3.7 FileNotFoundError: [WinError 2] 系统找不到指定的文件。
  39. 最全面的Python重点知识汇总
  40. You can learn Python articles without reading online classes (day 4)
  41. You can learn Python articles without reading online classes (the third day)
  42. python中 我想爬取一个网页,我在cmd中pip list中已经把requests 以及bs4 弄好了 但是他还是提示我没有那个模块
  43. You can learn Python articles without reading online classes (the next day)
  44. You can learn Python articles without reading online classes (the first day)
  45. 在Python和Go项目之后使用Rust的经验分享 - scaleway
  46. 使用PyO3从Python调用 Rust:加速Python
  47. Python 3.7 filenotfounderror: [winerror 2] le système n'a pas pu trouver le fichier spécifié.
  48. Python 一切皆对象
  49. 【Pandas学习笔记01】强大的分析结构化数据的工具集
  50. 求各位亲们可以解答一下嘛,为什么跑不出来呀,大学Python
  51. 【Pandas学习笔记01】强大的分析结构化数据的工具集
  52. python飞机大战如何让飞机始终在界面中,不能跑出界面
  53. Python代码阅读(第63篇):数字奇偶性
  54. python建立⼀個圖形介⾯應⽤(GUI app)
  55. python接口自动化的html格式报告以邮件形式发送展示的原文很丑怎么处理
  56. 针对初学者,我建议你学这 3 个 Python AutoEDA 工具包
  57. #yyds干货盘点#Python-爬虫_urlib一个类型和六个方法
  58. Pour les débutants, je vous recommande d'apprendre ces 3 kits autoeda Python
  59. 我想问python怎么入门嘞?求各路人士
  60. Summary of today's Django lessons: data reverse query triggers error field 'score_ jieshoufankui‘ expected a number but got ‘‘-20211109