Heim  >  Artikel  >  Backend-Entwicklung  >  Welche interessanten Dinge können mit zehn Zeilen Python-Code erreicht werden?

Welche interessanten Dinge können mit zehn Zeilen Python-Code erreicht werden?

PHPz
PHPznach vorne
2023-05-07 09:07:071451Durchsuche

Werfen wir einen Blick darauf, welche interessanten Funktionen wir mit nicht mehr als 10 Codezeilen erreichen können.

1. QR-Code generieren

QR-Code wird in den letzten Jahren auch als QR-Code bezeichnet QR-Code ist auch sehr einfach. Um einen QR-Code zu generieren, müssen wir zunächst das MyQR-Modul installieren.

pip install qrcode

Nachdem die Installation abgeschlossen ist, können wir mit dem Schreiben des Codes beginnen:

import qrcode

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

Nachdem wir den Code ausgeführt haben, wird unter dem Projekt ein QR-Code generiert. Natürlich können wir den QR-Code auch anreichern:

Wir installieren zunächst das MyQR-Modul

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

Das Rendering ist wie folgt:

十行 Python 代码能实现哪些有趣功能?

Darüber hinaus unterstützt MyQR auch dynamische Bilder.

2. Wortwolke generieren

Wortwolke, auch Wortwolke genannt, ist eine visuell auffällige Darstellung von „Schlüsselwörtern“, die in Textdaten häufiger vorkommen, und die Darstellung der Schlüsselwörter bildet dabei ein wolkenartiges Farbbild So kann die Hauptbedeutung der Textdaten auf einen Blick verstanden werden.

Aber als alter Programmierer verwende ich immer noch gerne Code, um meine eigene Wortwolke zu generieren. Ist das kompliziert? Wird es lange dauern? In vielen Texten werden verschiedene Methoden vorgestellt, tatsächlich sind jedoch nur 10 Zeilen Python-Code erforderlich.

Installieren Sie zunächst die erforderlichen Bibliotheken Wordcloud- und Jieba-Wortsegmentierungsbibliotheken

4 Zeilen dienen zum Lesen lokaler Dateien. Der im Code verwendete Text lautet „Zwei oder drei Dinge über F&E-Management in den Augen von Lao Cao“.

Zeile 5–6, verwenden Sie Jieba, um die Wörter zu segmentieren, und trennen Sie die Ergebnisse der Wortsegmentierung durch Leerzeichen. 十行 Python 代码能实现哪些有趣功能?

Zeile 7, erzeugen Sie eine Wortwolke für den Text nach der Wortsegmentierung , um das Wortwolkendiagramm anzuzeigen.

Das ist einer der Gründe, warum ich Python mag, es ist einfach und klar.

3. Batch-Cutout

Die Implementierung von Cutout erfordert die Hilfe von Baidu Feipiaos Deep-Learning-Tool PaddlePaddle. Das erste ist PaddlePaddle:

pip install wordcloud
pip install jieba
pip install matplotlib

Es ​​gibt auch ein Paddlehub-Modell Bibliothek:

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

Detailliertere Installationsinformationen finden Sie auf der offiziellen Website von PaddlePaddle: https://www.paddlepaddle.org.cn/

Als nächstes benötigen wir nur 5 Codezeilen, um den Batch-Ausschnitt zu implementieren:

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

Der Effekt des Ausschnitts ist wie folgt:

Die linke Seite ist das Originalbild und die rechte Seite ist das ausgeschnittene Bild mit gelbem Hintergrund.

4. Text-Emotionserkennung

Vor PaddlePaddle ist die Verarbeitung natürlicher Sprache sehr einfach geworden. Um die Text-Emotionserkennung zu realisieren, müssen wir auch PaddlePaddle und Paddlehub installieren. Informationen zur spezifischen Installation finden Sie in Teil 3. Dann kommt unser Codeteil:

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

Das Erkennungsergebnis ist eine Wörterbuchliste:

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})# 抠图

Das Feld sentiment_key enthält Stimmungsinformationen, siehe Python-Verarbeitung in natürlicher Sprache erfordert nur 5 Zeilen Code. 十行 Python 代码能实现哪些有趣功能?

5. Identifizieren Sie, ob Sie eine Maske tragen

Dies ist auch ein Produkt, das PaddlePaddle und Paddlehub gemäß den oben genannten Schritten installiert und dann mit dem Schreiben des Codes begonnen hat:

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

Nachdem Sie das obige Programm ausgeführt haben, wird der Ordner „detection_result“ angezeigt wird im Rahmen des Projekts generiert, die Erkennungsergebnisse werden im Inneren angezeigt und der Erkennungseffekt ist wie folgt:

6. Einfache Informationsbombardierung

Es gibt viele Möglichkeiten, Eingabegeräte in Python zu steuern. Wir können Win32 oder verwenden Pynput-Module. Wir können den Effekt der Informationsbombardierung durch einfache Schleifenoperationen erzielen. Am Beispiel von Pynput müssen wir zuerst das Modul installieren:

{'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}

Bevor wir den Code schreiben, müssen wir die Koordinaten des Eingabefelds manuell abrufen:

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)

Möglicherweise gibt es eine effizientere Methode, aber ich weiß nicht wie.

Nach Erhalt können wir die Koordinaten aufzeichnen und das Nachrichtenfenster nicht verschieben. Dann führen wir den folgenden Code aus und schalten das Fenster auf die Nachrichtenseite um: 十行 Python 代码能实现哪些有趣功能?

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

Ich gebe zu, das sind mehr als 10 Zeilen Code und es ist kein High-End. Vor der Verwendung von QQ ist der Effekt des Sendens von Nachrichten an die Trompete wie folgt:

7. Identifizieren Sie den Text im Bild.

Wir können Tesseract verwenden, um den Text im Bild zu identifizieren. Die Implementierung ist sehr einfach Python, aber das Herunterladen der Dateien und die Konfiguration in der frühen Phase sind Umgebungsvariablen usw. etwas umständlich, daher zeigt dieser Artikel nur den Code:

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

其中text就是识别出来的文本。如果对准确率不满意的话,还可以使用百度的通用文字接口。

八、简单的小游戏

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

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

猜数小案例当着练练手。

以上代码,大家可以敲一下非常有趣,也很适合小白入手。

Das obige ist der detaillierte Inhalt vonWelche interessanten Dinge können mit zehn Zeilen Python-Code erreicht werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen