Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Sepuluh baris kod Python untuk melaksanakan fungsi hebat

Sepuluh baris kod Python untuk melaksanakan fungsi hebat

WBOY
WBOYke hadapan
2023-04-12 14:43:031796semak imbas

Sepuluh baris kod Python untuk melaksanakan fungsi hebat

1. Hasilkan kod QR

Kod QR juga dipanggil kod bar 2D Nama penuh QR ialah Respons Pantas a baru-baru Ini telah menjadi kaedah pengekodan yang sangat popular pada peranti mudah alih sejak beberapa tahun yang lalu, dan menjana kod QR juga sangat mudah Dalam Python, kami boleh menjana kod QR melalui modul MyQR, dan kami hanya memerlukan 2 baris kod untuk menjana kod QR Mula-mula kami memasang modul MyQR Di sini kami memilih muat turun sumber domestik:

pip install qrcode

Selepas pemasangan selesai, kami boleh mula menulis kod:

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

<.>Selepas kami melaksanakan kod, ia akan berada di bawah projek Jana kod QR. Sudah tentu, kami juga boleh memperkayakan kod QR:

Kami mula-mula memasang modul 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()

Selain itu, MyQR juga menyokong gambar dinamik.

2. Hasilkan awan perkataan

Awan perkataan juga dipanggil awan perkataan. Ia adalah persembahan visual "kata kunci" yang lebih kerap muncul dalam data teks, membentuk rendering kata kunci gambar berwarna seperti awan dibentuk, supaya maksud utama data teks dapat difahami sepintas lalu.

Tetapi sebagai pengekod lama, saya masih suka menggunakan kod untuk menjana awan perkataan saya sendiri Adakah ia rumit? Adakah ia akan mengambil masa yang lama? Banyak teks telah memperkenalkan pelbagai kaedah, tetapi sebenarnya hanya 10 baris kod python diperlukan.

Pasang perpustakaan yang diperlukan dahulu

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

Itu sahaja, awan perkataan yang dihasilkan adalah seperti ini:

Sepuluh baris kod Python untuk melaksanakan fungsi hebat

Baca Lihat 10 baris kod ini:

    Baris 1 hingga 3 mengimport pustaka lukisan matplotlib, pustaka wordcloud generasi awan perkataan dan perpustakaan pembahagian perkataan jieba
  • Baris 4, ya Baca fail setempat
  • 5-6 baris, gunakan jieba untuk membahagikan perkataan, dan pisahkan hasil pembahagian perkataan dengan ruang
  • 7 baris, jana awan perkataan untuk teks selepas pembahagian ;
  • Baris 8 hingga 10, gunakan pyplot untuk memaparkan gambar rajah awan.
Ini antara sebab saya suka ular sawa, ianya ringkas dan jelas.

3. Potongan kelompok

Pelaksanaan potongan memerlukan bantuan dayung alat pembelajaran mendalam Baidu Fei Kami perlu memasang dua modul untuk melaksanakan potongan kelompok dengan cepat ialah PaddlePaddle:

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

dan satu lagi ialah perpustakaan model paddlehub:

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

Seterusnya kita hanya memerlukan 5 baris kod untuk melaksanakan potongan kelompok:

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 pengecaman emosi

Di hadapan dayung, pemprosesan bahasa semula jadi menjadi sangat mudah. Untuk merealisasikan pengecaman emosi teks, kami juga perlu memasang PaddlePaddle dan Paddlehub Untuk pemasangan khusus, sila rujuk Bahagian 3. Kemudian datang bahagian kod kami:

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

Hasil pengecaman ialah senarai kamus:

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

Medan sentimen_key mengandungi maklumat sentimen Untuk analisis terperinci, lihat Python Natural Language Processing Only 5 baris kod diperlukan.

5 Kenal pasti sama ada anda memakai topeng

Di sini kami juga menggunakan produk PaddlePaddle Kami memasang PaddlePaddle dan Paddlehub mengikut langkah di atas, dan kemudian mula menulis kod:

Selepas melaksanakan program di atas, folder detection_result akan dijana di bawah projek dan hasil pengecaman akan berada di dalamnya.
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)

6. Pengeboman maklumat mudah

Terdapat banyak cara untuk mengawal peranti input dalam Python Kita boleh menggunakan modul win32 atau pynput. Kita boleh mencapai kesan pengeboman maklumat melalui operasi gelung mudah Mengambil pynput sebagai contoh, kita perlu memasang modul terlebih dahulu:

Sebelum menulis kod, kita perlu mendapatkan koordinat secara manual. kotak input:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pynput

Mungkin ada cara yang lebih cekap, tetapi saya tidak akan melakukannya.
from pynput import mouse
# 创建一个鼠标
m_mouse = mouse.Controller()
# 输出鼠标位置
print(m_mouse.position)

Selepas mendapatkannya, kami boleh merekodkan koordinat dan tidak mengalihkan tetingkap mesej. Kemudian kami laksanakan kod berikut dan tukar tetingkap ke halaman mesej:

Saya akui, ini lebih daripada 10 baris kod, dan ia bukan high-end.
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秒

7 Kenal pasti teks dalam gambar

Kita boleh menggunakan Tesseract untuk mengenal pasti teks dalam gambar Ia sangat mudah untuk dilaksanakan dalam Python, tetapi memuat turun fail dan mengkonfigurasi pembolehubah persekitaran adalah a agak menyusahkan , jadi artikel ini hanya menunjukkan kod:

di mana teks ialah teks yang diiktiraf. Jika anda tidak berpuas hati dengan ketepatan, anda juga boleh menggunakan antara muka teks universal Baidu.
import pytesseract
from PIL import Image
img = Image.open('text.jpg')
text = pytesseract.image_to_string(img)
print(text)

8. Permainan mini yang ringkas

Rasanya sangat cekap untuk bermula dengan beberapa contoh kecil.

Teka kes kecil untuk diamalkan di hadapan orang lain
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 + 次)

Atas ialah kandungan terperinci Sepuluh baris kod Python untuk melaksanakan fungsi hebat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam