Maison  >  Article  >  développement back-end  >  Dix lignes de code Python pour implémenter des fonctions intéressantes

Dix lignes de code Python pour implémenter des fonctions intéressantes

WBOY
WBOYavant
2023-04-12 14:43:031847parcourir

Dix lignes de code Python pour implémenter des fonctions intéressantes

1. Générer un code QR

Le code QR est également appelé code-barres 2D. Le code QR courant est QR Code pour Quick Response, qui est une méthode de codage très populaire sur les appareils mobiles ces dernières années. un code QR est également très simple. En Python, nous pouvons générer un code QR via le module MyQR. Pour générer un code QR, nous n'avons besoin que de 2 lignes de code. Nous installons d'abord le module MyQR. :

pip install qrcode

Une fois l'installation terminée, nous pouvons commencer à écrire du code :

import qrcode
text = input(输入文字或URL:)
# 设置URL必须添加http://
img =qrcode.make(text)
img.save()
#保存图片至本地目录,可以设定路径
img.show()

Après avoir exécuté le code, un code QR sera généré dans le cadre du projet. Bien sûr, nous pouvons également enrichir le code QR :

Nous installons d'abord le module MyQR

pip installmyqr
def gakki_code():
version, level, qr_name = myqr.run(
words=https://520mg.com/it/#/main/2,
# 可以是字符串,也可以是网址(前面要加http(s)://)
version=1,# 设置容错率为最高
level='H',
# 控制纠错水平,范围是L、M、Q、H,从左到右依次升高
picture=gakki.gif,
# 将二维码和图片合成
colorized=True,# 彩色二维码
contrast=1.0,
 # 用以调节图片的对比度,1.0 表示原始图片,更小的值表示更低对比度,更大反之。默认为1.0
brightness=1.0,
# 用来调节图片的亮度,其余用法和取值同上
save_name=gakki_code.gif,
# 保存文件的名字,格式可以是jpg,png,bmp,gif
save_dir=os.getcwd()# 控制位置
)

 gakki_code()

De plus, MyQR prend également en charge les images dynamiques.

2. Générer un nuage de mots

Le nuage de mots, également appelé nuage de mots, est une présentation visuellement proéminente de « mots-clés » qui apparaissent fréquemment dans les données textuelles, formant un rendu des mots-clés pour former une image couleur semblable à un nuage. Ainsi, la signification principale des données textuelles peut être comprise d'un seul coup d'œil.

Mais en tant qu'ancien codeur, j'aime toujours utiliser du code pour générer mon propre nuage de mots. Est-ce compliqué ? Est-ce que cela prendra beaucoup de temps ? De nombreux textes ont introduit diverses méthodes, mais en réalité seules 10 lignes de code python sont nécessaires.

Installez d'abord les bibliothèques nécessaires

pip install wordcloud
pip install jieba
pip install matplotlib

import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
text_from_file_with_apath = open('/Users/linuxmi/linuxmi.txt').read()
wordlist_after_jieba = jieba.cut(text_from_file_with_apath, cut_all = True)
wl_space_split =.join(wordlist_after_jieba)
my_wordcloud = WordCloud().generate(wl_space_split)
plt.imshow(my_wordcloud)
plt.axis(off)
plt.show()

C'est tout. Le nuage de mots généré est comme ceci :

Dix lignes de code Python pour implémenter des fonctions intéressantes

Lisez ces 10 lignes de code :

  • Les lignes 1 à 3 importent respectivement la bibliothèque de dessins matplotlib et word. bibliothèque de segmentation de mots de la bibliothèque de génération de nuages ​​wordcloud et jieba
  • 4 lignes, qui consiste à lire le fichier local
  • 5 à 6 lignes, utilisez jieba pour segmenter les mots et séparez les résultats de la segmentation des mots par des espaces
  • ;
  • 7 lignes, pour Le texte après la segmentation des mots génère un nuage de mots ;
  • 8 à 10 lignes, utilisez pyplot pour afficher le diagramme du nuage de mots ;

C'est une des raisons pour lesquelles j'aime python, c'est simple et clair.

3. Découpe par lots

La mise en œuvre de la découpe nécessite l'aide de l'outil d'apprentissage en profondeur paddlepaddle de Baidu Feipiao. Nous devons installer deux modules pour implémenter rapidement la découpe par lots. Le premier est PaddlePaddle :

python -m pip install paddlepaddle -i https://mirror.baidu.com/pypi/simple

Un autre est le modèle paddlehub. bibliothèque :

pip install -i https://mirror.baidu.com/pypi/simple paddlehub

Ensuite, nous n'avons besoin que de 5 lignes de code pour réaliser la découpe par lots :

import os, paddlehub as hub
humanseg = hub.Module(name='deeplabv3p_xception65_humanseg')# 加载模型
path = 'D:/CodeField/Workplace/PythonWorkplace/GrapImage/'# 文件目录
files = [path + i for i in os.listdir(path)]# 获取文件列表
results = humanseg.segmentation(data={'image':files})# 抠图

4. Reconnaissance des émotions textuelles

Devant paddlepaddle, le traitement du langage naturel est également devenu très simple. Pour réaliser la reconnaissance des émotions textuelles, nous devons également installer PaddlePaddle et Paddlehub. Pour une installation spécifique, veuillez vous référer à la partie 3. Vient ensuite notre partie code :

import paddlehub as hub
senta = hub.Module(name='senta_lstm')# 加载模型
sentence = [# 准备要识别的语句
'你真美', '你真丑', '我好难过', '我不开心', '这个游戏好好玩', '什么垃圾游戏',
]
results = senta.sentiment_classify(data={text:sentence})# 情绪识别
# 输出识别结果
for result in results:
print(result)

Le résultat de la reconnaissance est une liste de dictionnaire :

{'text': '你真美', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9602, 'negative_probs': 0.0398}
{'text': '你真丑', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0033, 'negative_probs': 0.9967}
{'text': '我好难过', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.5324, 'negative_probs': 0.4676}
{'text': '我不开心', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.1936, 'negative_probs': 0.8064}
{'text': '这个游戏好好玩', 'sentiment_label': 1, 'sentiment_key': 'positive', 'positive_probs': 0.9933, 'negative_probs': 0.0067}
{'text': '什么垃圾游戏', 'sentiment_label': 0, 'sentiment_key': 'negative', 'positive_probs': 0.0108, 'negative_probs': 0.9892}

Le champ sentiment_key contient des informations sur les sentiments. Pour une analyse détaillée, veuillez consulter Le traitement du langage naturel Python ne nécessite que 5 lignes de code.

5. Identifiez si vous portez un masque

Il s'agit également d'un produit utilisant PaddlePaddle. Nous avons installé PaddlePaddle et Paddlehub selon les étapes ci-dessus, puis avons commencé à écrire du code :

import paddlehub as hub
# 加载模型
module = hub.Module(name='pyramidbox_lite_mobile_mask')
# 图片列表
image_list = ['face.jpg']
# 获取图片字典
input_dict = {'image':image_list}
# 检测是否带了口罩
module.face_detection(data=input_dict)

Après avoir exécuté le programme ci-dessus, le dossier détection_result. sera généré dans le cadre du projet, les résultats de la reconnaissance y seront.

6. Bombardement d'informations simple

Il existe de nombreuses façons de contrôler les périphériques d'entrée en Python. Nous pouvons utiliser le module win32 ou pynput. Nous pouvons obtenir l'effet de bombardement d'informations grâce à de simples opérations de boucle. En prenant pynput comme exemple, nous devons d'abord installer le module :

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

Avant d'écrire le code, nous devons obtenir manuellement les coordonnées de la zone de saisie :

from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)

. Il existe peut-être une méthode plus efficace, mais je ne sais pas comment.

Après l'avoir obtenu, nous pouvons enregistrer les coordonnées et ne pas déplacer la fenêtre de message. Ensuite, nous exécutons le code suivant et basculons la fenêtre sur la page de message :

import time
from pynput import mouse, keyboard
time.sleep(5)
m_mouse = mouse.Controller()# 创建一个鼠标
m_keyboard = keyboard.Controller()# 创建一个键盘
m_mouse.position = (850, 670) # 将鼠标移动到指定位置
m_mouse.click(mouse.Button.left) # 点击鼠标左键
while(True):
m_keyboard.type('你好')# 打字
m_keyboard.press(keyboard.Key.enter)# 按下enter
m_keyboard.release(keyboard.Key.enter)# 松开enter
time.sleep(0.5)# 等待 0.5秒

J'avoue, cela fait plus de 10 lignes de code, et ce n'est pas du haut de gamme.

7. Reconnaître le texte dans les images

Nous pouvons utiliser Tesseract pour identifier le texte dans les images. C'est très simple à implémenter en Python, mais le téléchargement de fichiers et la configuration des variables d'environnement au début sont un peu fastidieux, donc cet article ne fait que montrer. le code :

import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)

où texte est le texte reconnu. Si vous n'êtes pas satisfait de la précision, vous pouvez également utiliser l'interface texte universelle de Baidu.

8. Mini-jeu simple

Il semble très efficace de commencer avec quelques petits exemples.

import random
print(1-100数字猜谜游戏!)
num = random.randint(1,100)
guess =guess
i = 0
while guess != num:
i += 1
guess = int(input(请输入你猜的数字:))
if guess == num:
print(恭喜,你猜对了!)
elif guess < num:
print(你猜的数小了...)
else:
print(你猜的数大了...)
print(你总共猜了%d %i + 次)

Devinez les petits cas et entraînez-vous devant vous

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer