Python - Erläuterung und Zusammenfassung der Verwendung der 24 wichtigsten Pakete

Mit pip install haben wir die Top 20 Pakete aus dem bekannten PyPi durch vollständige und wöchentliche Downloads extrahiert. Dies ist eine Zusammenfassung der Verwendung der 24 beliebten Pakete. Ich war überrascht über das Ergebnis von insgesamt 16 Überlappungen für die Woche. Ich wusste nicht, wie ich nur das pyasn1-Paket verwenden soll, das ASN.1 verarbeitet. Bitte lassen Sie es mich wissen.

PyPi-Download-Ranking

スクリーンショット 2015-11-20 14.16.23.png

1.simplejson Eine Bibliothek, die json codiert und decodiert. Wir sind stolz auf die Anzahl der DLs von mehr als 100 Millionen in dem Paket, das insgesamt und wöchentlich am besten ist. Nur aus Geschwindigkeitsgründen ist ujson schneller.

simplejson_1.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import simplejson

# dict to json
d = {i: i**3 for i in xrange(10)}
json_str = simplejson.dumps(d)
print(type(json_str), json_str)

# json to dict
json_dict = simplejson.loads(json_str)
print(type(json_dict), json_dict)

Ausführungsergebnis


>>>python simplejson_1.py 
(<type 'str'>, '{"0": 0, "1": 1, "2": 8, "3": 27, "4": 64, "5": 125, "6": 216, "7": 343, "8": 512, "9": 729}')
(<type 'dict'>, {'1': 1, '0': 0, '3': 27, '2': 8, '5': 125, '4': 64, '7': 343, '6': 216, '9': 729, '8': 512})

2.setuptools Paketverwaltungssoftware. easy_install ist auch eine der Funktionen von setuptools. Es wird häufig zuerst installiert, um pip zu installieren, das auch Pakete verwaltet. Wenn Sie pip installieren, werden Setup-Tools installiert. Distribute wurde 2013 zu Setuptools zusammengeführt. Ab Python 3.4 ist pip im Python-Body enthalten. Einzelheiten finden Sie in PEP453.

3.requests Requests ist eine HTTP-Bibliothek, die für Benutzer einfach zu verwenden ist. Sie können HTTP GET, POST, Basisauthentifizierung und OAuth 2.0-Authentifizierung präzise schreiben.

requests_3.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import requests
import simplejson

#Code zu HTTP GET zu API, die mit dem Typ json antwortet
host = "api-sandbox.oanda.com"
url = "https://{}/v1/candles?instrument=EUR_USD&count=100&candleFormat=midpoint&" \
      "granularity=D&dailyAlignment=0&alignmentTimezone=America%2FNew_York".format(host)
response = requests.get(url)
#HTTP STATUS ist normal
assert response.status_code == 200
data = simplejson.loads(response.text)
print(type(data), data)

Ausführungsergebnis


>>>python ./requests_3.py 
(<type 'dict'>, {u'instrument': u'EUR_USD', u'candles': [{u'complete': True, u'closeMid': 1.09102, u'highMid': 1.09347, u'lowMid': 1.084825, u'volume': 31402, u'openMid': 1.0863, u'time': u'2015-08-05T04:00:00.000000Z'}, {u'complete': True, u'closeMid': 1.09141, u'highMid': 1.0944, u'lowMid': 1.08735, u'volume': 22130, u'openMid': 1.09104, u'time': 
...

4.virtualenv Sie können problemlos mehrere Python-Umgebungen auf einem Terminal erstellen. Ich wechsle zwischen der Python2.7 + Django1.5-Umgebung, der PyPy-Umgebung und der Python3.5-Umgebung.

Installation, Umgebungskonstruktion, Nutzung


# install
sudo pip install virtualenv
sudo pip install virtualenvwrapper

#Hoge Umweltbau
mkvirtualenv --python=/usr/local/bin/python3 hoge

#Umgebungsliste
workon

#Umgebungsumschaltung
workon hoge

#Raus aus der Umwelt
deactivate

5.distribute Paketverwaltungssoftware. Die Installation von pip installiert setuptools und verteilte wurde 2013 in setuptools zusammengeführt. Daher gibt es kein Problem, wenn die Paketverwaltung mit pip erfolgt.

6.six six ist eine Python 2- und 3-Kompatibilitätsbibliothek. Bietet Dienstprogrammfunktionen zum Schreiben eines einzelnen Codes, der sowohl in 2 als auch in 3 Systemen funktioniert.

six_6.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import six

#In einer Python2-Umgebung ausführen
print (six.PY2, six.PY3)


#Verwenden Sie die Meta-Klasse von 3 Serien in der Umgebung der Python2-Serie
class ABCMeta(type):
    pass


@six.add_metaclass(ABCMeta)
class MyABC(object):
    pass

abc = MyABC()
print abc

Ausführungsergebnis


>>>python six_6.py 
(True, False)
<__main__.MyABC object at 0x101d02550>

7.pip Python-Paketverwaltungssoftware. Es gibt andere Paketverwaltungssoftware wie setuptools und Distribute, aber wenn Sie sich verlaufen, ist es meiner Meinung nach die richtige Antwort, pip zu verwenden, um die Pakete im Prinzip zu verwalten. Da easy_install unbeliebt war, wurde es entwickelt und ist in Python selbst ab Python 3.4 enthalten. Details PEP453

Holen Sie sich Pip selbst zu installieren-pip.Einfach zu bedienen py.


curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

8.certifi certifi ist eine Bibliothek, die die Authentizität von SSL-Zertifikaten mithilfe der Root Certification Authority (CA) genau überprüft. Anstatt es alleine zu verwenden, wird es oft gleichzeitig installiert, da es von anderen Bibliotheken abhängt.

certifi_8.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import certifi
#Root-Zertifizierungsstelle(CA)Geben Sie den Speicherort der Dateiinstallation von aus
print(certifi.where())

Ausführungsergebnis


>>>python ./certifi_8.py 
/xxxxx/lib/python2.7/site-packages/certifi/cacert.pem

9.boto Eine Schnittstelle zum Betreiben von Amazon Web Services über Python. Nach meiner eigenen Erfahrung habe ich damit die Serverliste des Bereitstellungsziels aus dem zum Zeitpunkt der Bereitstellung in der EC2-Instanz festgelegten Tag abgerufen oder auf S3 zugegriffen und die Dateiliste abgerufen.

Zugriff auf s3 Bucket mit Boto


import boto
from boto.s3.key import Key
import boto.s3.connection

AWS_ACCESS_KEY_ID = '<access key>'
AWS_SECRET_ACCESS_KEY = '<my secret key>'
Bucketname = 'Bucket-name' 


conn = boto.s3.connect_to_region('ap-southeast-1',
       aws_access_key_id=AWS_ACCESS_KEY_ID,
       aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
       is_secure=True,               # uncommmnt if you are not using ssl
       calling_format = boto.s3.connection.OrdinaryCallingFormat(),
       )
bucket = conn.get_bucket(Bucketname)

10.pbr Eine Bibliothek zur konsistenten Verwaltung von Setuptools. Sie können Paketinformationen in Setup.cfg im Metadata2.0-Format schreiben, ohne Paketinformationen in setup.py zu schreiben. Standardwerte werden in setup.cfg eingegeben, um das Format jeder Bibliothek zu vereinheitlichen.

setup.py


import setuptools
from pbr import util

setuptools.setup(
    **util.cfg_to_args())

setup.cfg


[metadata]
name = pbr
author = OpenStack
author-email = [email protected]
summary = Python Build Reasonableness
...

11.wincertstore Der wincert-Speicher bietet eine Schnittstelle für den Zugriff auf Windows CA-Zertifikate und CRLs (Certificate Revocation Lists). Anstatt es alleine zu verwenden, denke ich, dass es oft zusammen mit anderen Paketen installiert wird.

12.python-dateutil Erweitert das Python-Standardmodul datetime. Sie können das Monatsende berechnen, den "nächsten ◯ Tag" berechnen und den "letzten ◯ Tag des Monats" berechnen. Da ich es noch nie verwendet habe, habe ich es unter Bezugnahme auf Verwendung von Python-Dateutil implementiert.

python-dateutil.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from dateutil.relativedelta import relativedelta, FR
from datetime import date
import calendar

#Berechnen Sie das Monatsende und geben Sie den 30. November ordnungsgemäß zurück
print "Monatsendberechnung:", date(2015, 11, 26) + relativedelta(day=31)

#Kehre nächsten Dienstag zurück
print "Nächsten Dienstag:", date(2015, 11, 28) + relativedelta(weekday=calendar.TUESDAY)

#Letzten Freitag im Monat
first_day = date(2015, 11, 1)
rdl = relativedelta(day=31, weekday=FR(-1))
print "Letzten Freitag im Monat:", first_day + rdl

Ausführungsergebnis


>>>python ./python-dateutil.py 
Monatsendberechnung: 2015-11-30
Nächsten Dienstag: 2015-12-01
Letzten Freitag im Monat: 2015-11-27

13.Jinja2 Es ist eine Template-Engine von Python. Es kann mit Google App Engine verwendet werden. Wie das Dokument sagt: "Es ist eine Vorlagen-Engine, die sich der Django-Vorlage bewusst ist", kann es für Benutzer von Django einfach sein. In einem einfachen PJ denke ich, dass es eine Option sein wird, wenn es "Fett (Fett) mit Django" ist.

14.nose Ein Unit-Test-Framework, mit dem Unit-Tests einfach geschrieben werden können. Die Assert-Funktion ist für die einfache Verwendung ausreichend. Wenn Sie jedoch mehrere Testdateien generieren und alle gleichzeitig testen, können Sie mit dem Befehl nosetest alle py-Dateien testen, deren Dateinamen mit "test" beginnen.

test_nose_14.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from unittest import TestCase
from nose.tools import ok_, eq_


def sum(a, b):
    return a + b


def is_even(n):
    return (n % 2 == 0)


class HogeTestCase(TestCase):
    def setUp(self):
        print 'before test'

    def tearDown(self):
        print 'after test'

    def test_sum(self):
        eq_(sum(1, 2), 3)
        eq_(sum(5, 11), 16)
        eq_(sum(0, 0), 0)
        #Error
        eq_(sum(0, 0), 10000)

    def test_is_even(self):
        ok_(is_even(2))
        ok_(not is_even(3))
        #Wenn Sie mit assert einen Fehler machen, funktioniert dieser nicht ordnungsgemäß
        assert is_even(15)

Ausführungsergebnis


>>>nosetests
FF
======================================================================
FAIL: test_is_even (test_nose_14.HogeTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/xxxx/qiita/pypi_ranking/test_nose_14.py", line 33, in test_is_even
    assert is_even(15)
AssertionError: 
-------------------- >> begin captured stdout << ---------------------
before test

--------------------- >> end captured stdout << ----------------------

======================================================================
FAIL: test_sum (test_nose_14.HogeTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/xxxx/qiita/pypi_ranking/test_nose_14.py", line 27, in test_sum
    eq_(sum(0, 0), 10000)
AssertionError: 0 != 10000
-------------------- >> begin captured stdout << ---------------------
before test

--------------------- >> end captured stdout << ----------------------

----------------------------------------------------------------------
Ran 2 tests in 0.005s

FAILED (failures=2)

15.lxml Eine Bibliothek zum Parsen der XML-Syntax. Es wird häufig für spezialisiertere Bibliotheken verwendet, indem lxml umbrochen wird. Schöne Suppe kann ein typisches Beispiel sein.

lxml_15.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import requests
from lxml import html

# HTTP GET
url = "http://google.co.jp/"
response = requests.get(url)

#Mit lxml analysieren
root = html.fromstring(response.text)

#Eine Tag-Ausgabe
anchors = root.xpath('//a')
for anchor in anchors:
    print(anchor.attrib['href'])

Ausführungsergebnis


>>>python lxml_15.py 
http://www.google.co.jp/imghp?hl=ja&tab=wi
http://www.google.co.jp/maps?hl=ja&tab=wl
https://play.google.com/?hl=ja&tab=w8
...

16.docutils Wenn Sie das Dokument im reStructuredText-Format definieren, können Sie HTML-, XML- und Latex-Dateien mit einer Quelle ausgeben.

17.MarkupSafe Sie können sichere Zeichenfolgen ausgeben, die im XML / HTML / XHTML-Format maskiert sind.

mks_17.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals

from markupsafe import Markup, escape

#Flucht
print "Escape-Ausgabe:", escape("<script>alert(document.cookie);</script>")

#Markieren Sie
tmpl = Markup("<em>%s</em>")
print "Markup-Ausgabe:", tmpl % "Peter > Lustig"

Ausführungsergebnis


>>>python ./mks_17.py 
Escape-Ausgabe: &lt;script&gt;alert(document.cookie);&lt;/script&gt;
Markup-Ausgabe: <em>Peter &gt; Lustig</em>

18.pyasn1 ASN.1 ist eine Sprache zum "Definieren der Informationsstruktur". Die Informationen, deren Struktur durch ASN.1 definiert ist, werden als "ASN.1-Objekt" bezeichnet. pyasn1 ist eine Bibliothek zum Definieren von ASN.1 in Python. Ich habe es unter Bezugnahme auf PyASN1-Programmierhandbuch geschrieben. Bei guter Verwendung können Sie die Serialisierungs- und Deserialisierungsverarbeitung implementieren. Wenn jemand weiß, wie man es benutzt, lass es mich wissen.

スクリーンショット 2015-11-20 13.36.08.png

pyasn1_18.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from pyasn1.type import univ
"""
Definition
;; values specification
age-of-universe INTEGER ::= 13750000000
mean-martian-surface-temperature INTEGER ::= -63
"""

ageOfUniverse = univ.Integer(13750000000)
print ageOfUniverse

meanMartianSurfaceTemperature = univ.Integer(-63)
print meanMartianSurfaceTemperature

Ausführungsergebnis


>>>python ./pyasn1_18.py 
13750000000
-63

19.PyYAML YAML ist ein Datenserialisierungsformat, das für die Lesbarkeit und Interaktion mit der Skriptsprache entwickelt wurde. PyYAML ist ein YAML-Parser für Python. Das API-Protokoll ist als yaml definiert und das gleiche Modell wird von Python und anderen Sprachen gemeinsam genutzt. Es wird verwendet, wenn Excel-Daten json zugeordnet werden.

pyyaml_19.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import yaml

yaml_str = """
fields:
- column: id
  name: ID
  type: int
  validate:
    unique: true

- column: campaign_id
  name:Kampagnen-ID
  type: int

- column: description
  name:Detaillierte Erklärung der Kampagne
  type: char
"""

y = yaml.load(yaml_str)
print type(y), y

Ausführungsergebnis


>>>python ./pyyaml_19.py 
<type 'dict'> {'fields': [{'column': 'id', 'validate': {'unique': True}, 'type': 'int', 'name': 'ID'}, {'column': 'campaign_id', 'type': 'int', 'name': u'\u30ad\u30e3\u30f3\u30da\u30fc\u30f3ID'}, {'column': 'description', 'type': 'char', 'name': u'\u30ad\u30e3\u30f3\u30da\u30fc\u30f3\u8a73\u7d30\u8aac\u660e'}]}

20.pytz Globale Zeitzonendefinition für Python. Beispielsweise verwalten Sie die Zeit normalerweise mit utc + 0, und Sie können den Prozess zur Ausgabe in der japanischen Zeit von utc + 9 nur dann präzise schreiben, wenn er angezeigt wird.

pytz_20.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from datetime import datetime
import pytz

#Standard
print datetime.now()

#Japan Zeit
jst = datetime.now(tz=pytz.timezone('Asia/Tokyo'))
print jst

#New Yorker Zeit
nyt = datetime.now(tz=pytz.timezone('US/Eastern'))
print nyt

#Zeitunterschied
print "diff:", nyt - jst

Ausführungsergebnis


>>>python ./pytz_20.py 
2015-11-20 13:56:54.633965
2015-11-20 13:56:54.661743+09:00
2015-11-19 23:56:54.665424-05:00
diff: 0:00:00.003681

10. Platz pro Woche. Pycrypto

Python-Verschlüsselungs-Toolkit. Wir bieten eine Vielzahl von kryptografischen Algorithmen und Protokollen an.

Führen Sie eine AES-Ver- und Entschlüsselung durch


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from Crypto.Cipher import AES
import base64
import os

#Blockgröße des Verschlüsselungsobjekts; 16, 24, or 32 for AES
BLOCK_SIZE = 32

#Wenn es weniger als die Blocklänge ist, füllen Sie es mit Polsterung
PADDING = '{'

#Eine Funktion, die das Teil, das kleiner als die Blocklänge ist, mit Paddng füllt
pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING

#Funktionen zur Ver- und Entschlüsselung in base64
EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)

#Generiere zufällig einen geheimen Schlüssel
secret = os.urandom(BLOCK_SIZE)

#Erstellen Sie ein Verschlüsselungsobjekt mit einem geheimen Schlüssel
cipher = AES.new(secret)

#Zeichenfolge verschlüsseln
encoded = EncodeAES(cipher, 'password')
print 'Encrypted string:', encoded

#Entschlüsseln Sie eine Zeichenfolge
decoded = DecodeAES(cipher, encoded)
print 'Decrypted string:', decoded

Ausführungsergebnis


>>>python ./aes_w10.py 
Encrypted string: P2vLpfpZgQyh1DPiY7a9TQfjGIiw3HcCh1qBxBwvtBk=
Decrypted string: password

16. Platz pro Woche. Cffi

Externe Funktionsschnittstelle zum Aufrufen von C-Code.

cffi_w16.py


from cffi import FFI

ffi = FFI()
ffi.cdef("""
int printf(const char *format, ...);   // copy-pasted from the man page
""")
C = ffi.dlopen(None)  # loads the entire C namespace
arg = ffi.new("char[]", "world")  # equivalent to C code: char arg[] = "world";
C.printf("hi there, %s.\n", arg)  # call printf

Ausführungsergebnis


>>>python ./cffi_w16.py 
hi there, world.

17. Platz pro Woche. Colorama

Sie können den Text auf der Konsole einfärben.

colorama_w17


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from colorama import Fore, Back, Style
print(Fore.RED + 'Akairo!')
print(Back.GREEN + 'Rotes Wort+Hayai Midori')
print(Style.DIM + '+Trübe Charaktere')
print(Style.RESET_ALL)
print('Textfarbe nach dem Zurücksetzen')

■ Ausführungsergebnis スクリーンショット 2015-11-20 17.03.17.png

20. Platz pro Woche. Rsa

RSA-Implementierung. Es unterstützt die Ver- und Entschlüsselung, Signatur- und Signaturüberprüfung sowie die Schlüsselgenerierung. ..

rsa_w20.py


# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
import rsa

#Schlüsselgenerierung
(bob_pub, bob_priv) = rsa.newkeys(512)

#Verschlüsselung
message = 'hello Bob!'.encode('utf8')
crypto = rsa.encrypt(message, bob_pub)
print crypto

#Verbund
message = rsa.decrypt(crypto, bob_priv)
print(message.decode('utf8'))

Ausführungsergebnis


>>>python ./rsa_w20.py 
i??u)"?}%??4?????4????:?n?Z????A?6?>?XF[/?XA%usc?ؙ?
hello Bob!

Referenz

PyPI Ranking Zusammenfassung der Python-Paketverwaltungstechnologie Verwendung von Python-Dateutil

Als der Beispielcode auf die PyPi-Startseite des Pakets geschrieben wurde, war es ziemlich einfach, sich einen Überblick zu verschaffen, und ich beschloss, ihn zu imitieren. Die 21. bis 50. Bibliothek im wöchentlichen Ranking war mit interessanten Bibliotheken wie SQLalchemy und Supervisord besetzt, daher möchte ich sie eines Tages verwenden.

Recommended Posts

Python - Erläuterung und Zusammenfassung der Verwendung der 24 wichtigsten Pakete
Die Geschichte von Python und die Geschichte von NaN
Zusammenfassung der Python-Indizes und -Slices
[Python] Visualisieren Sie die Hitze der Präfekturen Tokio und XX (DataFrame-Nutzungsnotiz)
Zusammenfassung der Korrespondenz zwischen Ruby- und Python-Array-Operationen
Die Antwort von "1/2" unterscheidet sich zwischen Python2 und 3
Angeben des Bereichs von Ruby- und Python-Arrays
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Vergleichen Sie die Geschwindigkeit von Python Append und Map
E / A-bezogene Zusammenfassung von Python und Fortan
Organisieren Sie die grundlegende Verwendung von Autotools und pkg-config
Berücksichtigung der Stärken und Schwächen von Python
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
[Python] Klassentyp und Verwendung des datetime-Moduls
Zusammenfassung der Verwendung von pyenv
Python-Pakete und -Module
Verwendung von Python-Einheimischen ()
der Zen von Python
Zusammenfassung der Python-Argumente
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 2
Die Geschichte von Python ohne Inkrement- und Dekrementoperatoren.
Der Prozess der Installation von Atom und der Ausführung von Python
[Python] Typfehler: Zusammenfassung der Ursachen und Abhilfemaßnahmen für 'Kein Typ'
Visualisieren Sie den Bereich der internen und externen Einfügungen mit Python
Referenz und Änderung der rekursiven Python-Obergrenze
Ich habe mir die Versionen von Blender und Python angesehen
Erläuterung des Konzepts der Regressionsanalyse mit Python Teil 1
Zusammenfassung des grundlegenden Ablaufs des maschinellen Lernens mit Python
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Erläuterung des Konzepts der Regressionsanalyse mit Python Extra 1
Studie aus Python Hour8: Verwenden von Paketen
Erhalten Sie ein abstraktes Verständnis der Python-Module und -Pakete
[Einführung in Python] Grundlegende Verwendung der Bibliothek matplotlib
Zusammenfassung der Datumsverarbeitung in Python (Datum / Uhrzeit und Datum)
[Python] Richtige Verwendung der Karte
Auf dem Weg zum Ruhestand von Python2
Zusammenfassung der Python-Dateivorgänge
Zusammenfassung der Python3-Listenoperationen
Lernen Sie Python-Pakete und -Module kennen
Erklärung und Implementierung von SocialFoceModel
Bequeme Nutzungsübersicht von Flask
Zusammenfassung der grundlegenden Verwendung von Pandas
Beispiel für die Verwendung von Python Pickle
Grundlegende Verwendung von Python-F-String
[Python] Richtige Verwendung von Join
Über die Funktionen von Python
Quellinstallation und Installation von Python
Die Kraft der Pandas: Python
[Python] Herons Formelfunktionalisierung und Berechnung der maximalen Fläche
[Python] Zusammenfassung zum Abrufen von Listen und Wörterbuchelementen
[Für Anfänger] Zusammenfassung der Standardeingabe in Python (mit Erklärung)
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
Zusammenfassung der Unterstützung von Hash-Operationen (Dictionary) für Ruby und Python
Der Prozess, Python-Code objektorientiert zu machen und zu verbessern
Eine grobe Zusammenfassung der Unterschiede zwischen Windows und Linux
Der Websocket von toio (nodejs) und python / websocket stellen keine Verbindung her.
Ich möchte die Natur von Python und Pip kennenlernen
[Tipps] Probleme und Lösungen bei der Entwicklung von Python + Kivy