Python ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ: #16 – ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π² языкС ΠŸΠΈΡ‚ΠΎΠ½. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с модулями

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠœΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. Π£Ρ€ΠΎΠΊ 12 курса «ΠžΠžΠŸ Π½Π° Python»

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ собствСнныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π±Ρ‹Π»ΠΎ описано Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡƒΡ€ΠΎΠΊΠΎΠ² курса «Python. Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅». Π’Π°ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Π»ΠΈΡΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния обособлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. На самом Π΄Π΅Π»Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ содСрТат Π½Π΅ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, сколько классы с ΠΈΡ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.


Π’ этом ΡƒΡ€ΠΎΠΊΠ΅ шагнСм дальшС ΠΈ рассмотрим, ΠΊΠ°ΠΊ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ Π² ΠΏΠ°ΠΊΠ΅Ρ‚. Π’Π°ΠΊΠΆΠ΅ выясним, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ

Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ связанныС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ принято ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹. ΠŸΠ°ΠΊΠ΅Ρ‚ прСдставляСт собой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ-модулями. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, Π° ΡƒΠΆΠ΅ Π² Π½ΠΈΡ… – Ρ„Π°ΠΉΠ»Ρ‹.

Допустим, ΠΌΡ‹ пишСм ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для вычислСния ΠΏΠ»ΠΎΡ‰Π°Π΄Π΅ΠΉ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΠΈΠ³ΡƒΡ€. ΠŸΠ°ΠΊΠ΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Π²ΡƒΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ. Π’ ΠΎΠ΄Π½ΠΎΠΌ Π±ΡƒΠ΄ΡƒΡ‚ описаны классы Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… Ρ„ΠΈΠ³ΡƒΡ€, Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ – Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ….

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³-ΠΏΠ°ΠΊΠ΅Ρ‚ Π½Π°Π·ΠΎΠ²Π΅ΠΌ geometry. Один ΠΌΠΎΠ΄ΡƒΠ»ΡŒ – planimetry.py, Π΄Ρ€ΡƒΠ³ΠΎΠΉ – stereometry.py. ΠŸΠ°ΠΊΠ΅Ρ‚ слСдуСт Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ², содСрТащихся Π² спискС sys.path. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π΅Π³ΠΎ элСмСнтом являСтся домашний ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠ°ΠΊ пустая строка. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΠ°ΠΊΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π³Π΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ основной скрипт.

Если Π½Π΅ планируСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипт, Π° достаточно ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚ΠΎ Π² Linux Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ‰Π΅ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° planimetry.py:

from math import pi, pow
Β 
Β 
class Rectangle:
    def __init__(self, a, b):
        self.w = a
        self.h = b
Β 
    def square(self):
        return round(self.w * self.h, 2)
Β 
    def perimeter(self):
        return 2 * (self.w + self.h)
Β 
Β 
class Circle:
    def __init__(self, radius):
        self.r = radius
Β 
    def square(self):
        return round(pi * pow(self.r, 2), 2)
Β 
    def length(self):
        return round(2 * pi * self.
r)

Код Ρ„Π°ΠΉΠ»Π° stereometry.py:

from math import pi, pow
Β 
Β 
class Cuboid:
    def __init__(self, a, b, c):
        self.length = a
        self.width = b
        self.height = c
Β 
    def S(self):
        sq = 2 * (self.length * self.width +
                  self.length * self.height +
                  self.width * self.height)
        return round(sq, 2)
Β 
    def V(self):
        v = self.length * self.width * self.height
        return round(v, 2)
Β 
Β 
class Ball:
    def __init__(self, radius):
        self.r = radius
Β 
    def S(self):
        s = 4 * pi * pow(self.r, 2)
        return round(s, 2)
Β 
    def V(self):
        v = (4 / 3) * pi * pow(self.r, 3)
        return round(v, 2)

Π’Π°ΠΊΠΆΠ΅ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» __init__.py, Π΄Π°ΠΆΠ΅ Ссли этот Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ пустым. Π•Π³ΠΎ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ позволяСт ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚, Π° Π½Π΅ просто ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. Π€Π°ΠΉΠ»

__init__.py ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ пустым, Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ пСрСчислСны ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ from имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π° import *, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π°:

>>> import geometry.planimetry as pl
>>> import geometry.stereometry as st
>>> a = pl.Rectangle(3, 4)
>>> b = st.Ball(5)
>>> a.square()
12
>>> b.V()
523.6

Если Π±Ρ‹ выполнялся ΠΈΠΌΠΏΠΎΡ€Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΌΡ‹ Π½Π΅ смогли Π±Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ модулям:

>>> import geometry
>>> b = geometry.stereometry.Ball(5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'geometry' has no attribute 'stereometry'

Π’ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос: Π² Ρ‡Π΅ΠΌ Π²Ρ‹Π³ΠΎΠ΄Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², Ссли всС Ρ€Π°Π²Π½ΠΎ приходится ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½ΠΎ? Основной смысл Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² структурировании пространств ΠΈΠΌΠ΅Π½. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, содСрТащиС ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΈ классы. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС точСчная нотация Ρ‡Π΅Ρ€Π΅Π· имя ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΏΠΎΠ΄ΠΏΠ°ΠΊΠ΅Ρ‚Π°, модуля Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ сущностями ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². НапримСр, a.samename ΠΈ b.samename.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ точСчная нотация Π΄Π°Π΅Ρ‚ своСго Ρ€ΠΎΠ΄Π° описаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ. НапримСр, выраТСния geometry.planimetry.House() ΠΈΠ»ΠΈ geometry.stereometry.House() говорят, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС Π±ΡƒΠ΄Π΅Ρ‚ создан Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-Π΄ΠΎΠΌ, Π²ΠΎ-Π²Ρ‚ΠΎΡ€ΠΎΠΌ – Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ. Π’Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° нСсут большС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅, Ρ‡Π΅ΠΌ просто House().

Однако Π² Ρ„Π°ΠΉΠ»Π΅ __init__.py Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ __all__ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‡Π΅Ρ€Π΅Π·

from имя_ΠΏΠ°ΠΊΠ΅Ρ‚Π° import *:

__all__ = ['planimetry', 'stereometry']

ПослС этого ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

>>> from geometry import *
>>> b = stereometry.Ball(5)
>>> a = planimetry.Circle(5)

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ модуля ΠΊΠ°ΠΊ скрипта

Π’ Python ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»-скрипт, ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, Π½Π΅ отличаСтся ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π°-модуля ΠΏΠΎΡ‡Ρ‚ΠΈ Π½ΠΈΡ‡Π΅ΠΌ. НСт ΠΊΠΎΠΌΠ°Π½Π΄ языка, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹ «Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ», Ρ‡Ρ‚ΠΎ Π²ΠΎΡ‚ это – ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π° это – скрипт. ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ лишь Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π΅ содСрТат ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ создания экзСмпляров Π² основной Π²Π΅Ρ‚ΠΊΠ΅. Π’ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ происходит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ классов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

Однако возмоТности языка ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ» Π½Π΅ импортируСтся, Π° сам пСрСдаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρƒ ΠΊΠ°ΠΊ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Выглядит это ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

class A:
    def __str__(self):
        return "A"
Β 
if __name__ == "__main__":
    print(A())

Π’ΠΎ, Ρ‡Ρ‚ΠΎ находится Π² Ρ‚Π΅Π»Π΅ if, выполнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС исполнСния Ρ„Π°ΠΉΠ»Π° ΠΊΠ°ΠΊ скрипта. Но Π½Π΅ ΠΏΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅.

pl@pl-desk:~$ python3 test.py
A

ВстроСнный Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ __name__, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ собой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π΅ΡΡ‚ΡŒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ΠŸΡ€ΠΈ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅ этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ присваиваСтся имя модуля:

>>> import math
>>> math.__name__
'math'
>>> planimetry.__name__
'geometry.planimetry'

Однако ΠΊΠΎΠ³Π΄Π° Ρ„Π°ΠΉΠ» исполняСтся ΠΊΠ°ΠΊ скрипт, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ __name__ становится Ρ€Π°Π²Π½Ρ‹ΠΌ строкС "__main__". Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ссли Π² ΠΊΠΎΠ΄ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ print(__name__) ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ скрипт.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли __name__ Ρ€Π°Π²Π΅Π½

"__main__", Ρ‚ΠΎ выполняСтся ΠΊΠΎΠ΄, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ Π² Ρ‚Π΅Π»ΠΎ условного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ сюда ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ ΠΊΠΎΠ΄ для тСстирования модуля Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π° Π² Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ – ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ здСсь сущностями.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π°

Π’ практичСской Ρ€Π°Π±ΠΎΡ‚Π΅ ΡƒΡ€ΠΎΠΊΠ° 7 «ΠšΠΎΠΌΠΏΠΎΠ·ΠΈΡ†ΠΈΡ» Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ интСрфСйс взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. РазнСситС сам класс ΠΈ интСрфСйс ΠΏΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌ Ρ„Π°ΠΉΠ»Π°ΠΌ. Какой ΠΈΠ· Π½ΠΈΡ… выполняСт Ρ€ΠΎΠ»ΡŒ модуля, Π° ΠΊΠ°ΠΊΠΎΠΉ – скрипта? Оба Ρ„Π°ΠΉΠ»Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³.

ΠšΡƒΡ€Ρ с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ практичСских Ρ€Π°Π±ΠΎΡ‚:
pdf-вСрсия


Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Π² Python — it-black.ru ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ содСрТимому Search

ΠœΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π² Python называСтся любой Ρ„Π°ΠΉΠ» с ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ ΠΈΠ»ΠΈ написанный Π²Π°ΠΌΠΈ.

КаТдая ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π΅Π³ΠΎ классам, функциям ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ модуля ΠΈΠ· стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции import. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os для получСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ:


import os
os.getcwd()
'C:\\Python33'

ПослС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова import указываСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅ модуля. Одной инструкциСй ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ нСсколько ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, хотя этого Π½Π΅ рСкомСндуСтся Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это сниТаСт Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

ПослС импортирования модуля Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ становится ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ модуля. НапримСр, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ константС располоТСнной Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ math:


import math
math.e
2.718281828459045
ИспользованиС псСвдонимов

Если Π½Π°Π·Π²Π°Π½ΠΈΠ΅ модуля слишком Π΄Π»ΠΈΠ½Π½ΠΎΠ΅, Ρ‚ΠΎ для Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ псСвдоним, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова as.


import math as m
m.e
2.718281828459045

Π’Π΅ΠΏΠ΅Ρ€ΡŒ доступ ΠΊΠΎ всСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌ модуля math осущСствляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ m, Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ math Π² этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ from

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ модуля ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструкции from. Она ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠ²:


from  import  [ as  ], [ [ as  ] ...]
from  import *

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΈΠ· модуля Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π²Π°ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹. Для Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ псСвдоним, ΡƒΠΊΠ°Π·Π°Π² Π΅Π³ΠΎ послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова as. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ инструкции from позволяСт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ· модуля.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСго модуля

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ. Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Ρ„Π°ΠΉΠ» mymodule.py, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ ΠΊΠ°ΠΊΠΈΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:


def hello():
    print('Hello, world!')

def fib(n):
    a = b = 1
    for i in range(n - 2):
        a, b = b, a + b
    return b

Π’ этой ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅ создадим Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„Π°ΠΉΠ», Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, module. py:


import mymodule

mymodule.hello()
print(mymodule.fib(10))

Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚:


Hello, world!
55

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ просто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π² Python. На этом наша нСбольшая ΡΡ‚Π°Ρ‚ΡŒΡ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ. Для понимания языка Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΡΠ°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ с ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ ΡƒΡ€ΠΎΠΊΡƒ:



Facebook

Twitter

  • 2 Comments

Π“Ρ€ΡƒΠΏΠΏΠ° Π² VK

ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΡƒ?

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚Π΅ Π½Π°ΠΌ ΠΎΠ± этом, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ тСкст с ошибкой ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter, Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹!

Π‘Π²Π΅ΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ

Облако ΠΌΠ΅Ρ‚ΠΎΠΊ
Instagram Vk Youtube Telegram Odnoklassniki

ПолСзно Π·Π½Π°Ρ‚ΡŒ

Π ΡƒΠ±Ρ€ΠΈΠΊΠΈ

Авторы

connect.

py Β· PyPI

ОписаниС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

connect.py β€” это ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° API для Monstercat Connect, написанная Π½Π° Python.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°Ρ…, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ Π² гильдию разногласий, ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ рядом со Ρ‰ΠΈΡ‚ΠΎΠΌ сборки.

Установка

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

 python3 -m pip install -U connect.py 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

 python3 -m pip install -U https://github.com/GiovanniMCMXCIX/connect.py/archive/master.zip#egg=connect.py[performance] 

ВрСбования

  • Python 3.6+

  • Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½ΠΎΠ΅ соСдинСниС
ΠΊΠ»ΠΈΠ΅Π½Ρ‚ = ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ.ΠšΠ»ΠΈΠ΅Π½Ρ‚()
Π·Π°Ρ‰ΠΈΡ‚Π° get_release():
    Ρ€Π΅Π»ΠΈΠ·Ρ‹ = client.search_release('Π΄Ρ€ΡƒΠ·ΡŒΡ')
    print('НашСл ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:')
    для выпуска Π² Ρ€Π΅Π»ΠΈΠ·Π°Ρ…:
        print('{0.title} ΠΎΡ‚ {0.artists} [{0.catalog_id}] Π±Ρ‹Π» Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½ {0. release_date} '
              'ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ {1} Ρ‚Ρ€Π΅ΠΊΠΎΠ²'.format(release, len(release.tracks)))
Ссли __name__ == "__main__":
    ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ_Ρ€Π΅Π»ΠΈΠ·() 

Π”Π΅Ρ‚Π°Π»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°


Π­Ρ‚Π° вСрсия

0.4.2

0.4.1

0.4.0.1

0.4.0

0.3.1

0.3.0

0.2.1

0.2.0

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» для вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Ρ‹ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ, ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ большС ΠΎΠ± установкС ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ².

Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ дистрибутив

connect.py-0.4.2.tar.gz (13,7 ΠšΠ‘ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ…Π΅ΡˆΠΈ)

Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ источник

ВстроСнный дистрибутив

connect.py-0.4.2-py3-none-any.whl (26,1 ΠšΠ‘ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ…Π΅ΡˆΠΈ)

Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ Ρ€Ρƒ3