Maison >développement back-end >Tutoriel Python >Quelles choses intéressantes peut-on faire avec dix lignes de code Python ?

Quelles choses intéressantes peut-on faire avec dix lignes de code Python ?

WBOY
WBOYavant
2023-05-04 19:58:051355parcourir

Jetons un coup d'œil aux fonctions intéressantes que nous pouvons réaliser avec pas plus de 10 lignes de code.

1. Générer un code QR

Le code QR est également appelé code-barres 2D. Le nom complet du QR est Quick Response. Il s'agit d'une méthode de codage très populaire sur les appareils mobiles ces dernières années. Le 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é sous le 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 plus fréquemment dans les données textuelles, formant un rendu des mots-clés pour former une image couleur semblable à un nuage. , afin que vous puissiez comprendre la signification principale des données textuelles en un 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 prend du temps ? De nombreux textes ont introduit diverses méthodes, mais en fait cela ne nécessite que 10 lignes de code python. .

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/hecom/23tips.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 :

Quelles choses intéressantes peut-on faire avec dix lignes de code Python ?

Lisez ces 10 lignes de code :

  • Lignes 1 à 3 importent respectivement la bibliothèque. matplotlib, la bibliothèque de génération de nuages ​​de mots wordcloud et la bibliothèque de segmentation de mots de jieba
  • 4 lignes sont destinées à lire les fichiers locaux. Le texte utilisé dans le code est "Deux ou trois choses sur la gestion de la R&D aux yeux de Lao Cao" ; compte public.
  • Ligne 5~6, utilisez jieba pour segmenter les mots et séparez les résultats de la segmentation des mots par des espaces ;
  • Ligne 7, générez un nuage de mots pour le texte après la segmentation des mots
  • Ligne 8~10, 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 :

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

Il existe également. une bibliothèque de modèles paddlehub :

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

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

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

importer paddlehub en tant que hub# Charger le module de modèle = hub.Module (name='pyramidbox_lite_mobile_mask')# Liste d'images image_list = ['face.jpg']# Obtenez le dictionnaire d'images input_dict = {'image':image_list}# Détectez si vous portez un masque module.face_detection(data= input_dict)

Exécutez ce qui précède Après le programme, le dossier détection_result sera généré sous le projet et les résultats de la reconnaissance s'y trouveront.

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 un moyen plus efficace, mais je ne le ferai pas.

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 télécharger des fichiers et configurer des variables d'environnement au début est un peu fastidieux, donc cet article se limite à cela. affiche 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.

八、简单的小游戏

从一些小例子入门感觉效率很高。

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 + 次)

猜数小案例当着练练手


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