Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π―Π·Ρ‹ΠΊ программирования PythonΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 3

Автор Π ΠΎΠΌΠ°Π½ Π‘ΡƒΠ·ΠΈ

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ. НапримСр, строки Π² Python ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ, поэтому ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π΄ строками ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π½ΠΎΠ²Ρ‹Π΅ строки.

ΠšΠ°Ρ€Ρ‚Π° встроСнных Ρ‚ΠΈΠΏΠΎΠ² (с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для привСдСния ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ классов для наслСдования ΠΎΡ‚ этих Ρ‚ΠΈΠΏΠΎΠ²):

β€’ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹: None, NotImplemented ΠΈ Ellipsis;

β€’ Ρ‡ΠΈΡΠ»Π°;

 β—‹ Ρ†Π΅Π»Ρ‹Π΅

  β€’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ int

  β€’ Ρ†Π΅Π»ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ точности long

  β€’ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ bool

 β—‹ Ρ‡ΠΈΡΠ»ΠΎ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ float

 β—‹ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ число complex

β€’ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ;

 β—‹ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Π΅:

  β€’ ΡΡ‚Ρ€ΠΎΠΊΠ° str;

  β€’ Unicode–строка unicode;

  β€’ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ tuple;

 β—‹ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Π΅:

  β€’ ΡΠΏΠΈΡΠΎΠΊ list;

β€’ ΠΎΡ‚обраТСния:

 β—‹ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ dict

β€’ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ:

 β—‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ встроСнныС);

 β—‹ Ρ„ункции–гСнСраторы;

 β—‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ (ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ ΠΈ встроСнныС);

 β—‹ ΠΊΠ»Π°ΡΡΡ‹ (Π½ΠΎΠ²Ρ‹Π΅ ΠΈ «классичСскиС»);

 β—‹ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€Ρ‹ классов (Ссли ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ __call__);

β€’ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ;

β€’ ΠΊΠ»Π°ΡΡΡ‹ (см. Π²Ρ‹ΡˆΠ΅);

β€’ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ€Ρ‹ классов (см. Π²Ρ‹ΡˆΠ΅);

β€’ Ρ„Π°ΠΉΠ»Ρ‹ file;

β€’ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ buffer, slice.

Π£Π·Π½Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ любого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ type().

Π’ΠΈΠΏ int ΠΈ long

Π”Π²Π° Ρ‚ΠΈΠΏΠ°: int (Ρ†Π΅Π»Ρ‹Π΅ числа) ΠΈ long (Ρ†Π΅Π»Ρ‹Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ точности) слуТат модСлью для прСдставлСния Ρ†Π΅Π»Ρ‹Ρ… чисСл. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ соотвСтствуСт Ρ‚ΠΈΠΏΡƒ long Π² компиляторС C для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ЧисловыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² систСмах счислСния с основаниСм 8, 10 ΠΈΠ»ΠΈ 16:

# Π’ этих Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… записано число 10

print 10, 012, 0xA, 10L

Набор ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ числами β€” достаточно стандартный ΠΊΠ°ΠΊ ΠΏΠΎ сСмантикС, Ρ‚Π°ΠΊ ΠΈ ΠΏΠΎ обозначСниям:

>>> print 1 + 1, 3 β€” 2, 2*2, 7/4, 5%3

2 1 4 1 2

>>> print 2L ** 1000

107150860718626732094842504906000181056140481170553360744375038

837035105112493612249319837881569585812759467291755314682518714

528569231404359845775746985748039345677748242309854210746050623

711418779541821530464749835819412673987675591655439460770629145

71196477686542167660429831652624386837205668069376

>>> print 3 < 4 < 6, 3 >= 5, 4 == 4, 4 != 4 # сравнСния

True False True False

>>> print 1 << 8, 4 >> 2, ~4 # ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ сдвиги ΠΈ инвСрсия

256 1–5

>>> for i, j in (0, 0), (0, 1), (1, 0), (1, 1):

... print i, j, ":", i & j, i | j, i ^ j # ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

...

0 0 : 0 0 0

0 1 : 0 1 1

1 0 : 0 1 1

1 1 : 1 1 0

ЗначСния Ρ‚ΠΈΠΏΠ° int Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ от–2147483648 Π΄ΠΎ 2147483647, Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Ρ… ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ точности зависит ΠΎΡ‚ объСма доступной памяти.

Π‘Ρ‚ΠΎΠΈΡ‚ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ссли Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получаСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, выходящСС Π·Π° Ρ€Π°ΠΌΠΊΠΈ допустимого, Ρ‚ΠΈΠΏ int ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ нСявно ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² long:

>>> type(-2147483648)

<type 'int'>

>>> type(-2147483649)

<type 'long'>

Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ остороТным ΠΏΡ€ΠΈ записи констант. Нули Π² Π½Π°Ρ‡Π°Π»Π΅ числа β€” ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π²ΠΎΡΡŒΠΌΠ΅Ρ€ΠΈΡ‡Π½ΠΎΠΉ систСмы счислСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Ρ†ΠΈΡ„Ρ€Ρ‹ 8:

>>> 008

 File "<stdin>", line 1

 008

   ^

SyntaxError: invalid token

Π’ΠΈΠΏ float

БоотвСтствуСт C–типу double для ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹. ЗаписываСтся Π²ΠΏΠΎΠ»Π½Π΅ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ способом Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΡƒ, Π»ΠΈΠ±ΠΎ Π² Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ с экспонСнтой:

>>> pi = 3.1415926535897931

>>> pi ** 40

7.6912142205156999e+19

ΠšΡ€ΠΎΠΌΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· модуля math.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅:

Для финансовых расчСтов Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ подходящий Ρ‚ΠΈΠΏ. 

Из ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… встроСнных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ round(), abs().

Π’ΠΈΠΏ complex

Π›ΠΈΡ‚Π΅Ρ€Π°Π» ΠΌΠ½ΠΈΠΌΠΎΠΉ части задаСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ j Π² качСствС суффикса (ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΈΠΌΡ‹Π΅ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹):

>>> -1j * -1j

(-1–0j)

Π’ΠΈΠΏ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° Π±Π°Π·Π΅ вСщСствСнного. ΠšΡ€ΠΎΠΌΠ΅ арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· модуля cmath.

Π’ΠΈΠΏ bool

ΠŸΠΎΠ΄Ρ‚ΠΈΠΏ цСлочислСнного Ρ‚ΠΈΠΏΠ° для «каноничСского» обозначСния логичСских Π²Π΅Π»ΠΈΡ‡ΠΈΠ½. Π”Π²Π° значСния: True (истина) ΠΈ False (лоТь) β€” Π²ΠΎΡ‚ ΠΈ всС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ этому Ρ‚ΠΈΠΏΡƒ. Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ, любой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Python ΠΈΠΌΠ΅Π΅Ρ‚ истинностноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, логичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ логичСского Ρ‚ΠΈΠΏΠ°:

>>> for i in (False, True):

...  for j in (False, True):

...   print i, j, ":", i and j, i or j, not i

...

...

False False : False False True

False True : False True True

True False : False True False

True True : True True False

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Python Π΄Π°ΠΆΠ΅ Π½Π΅ вычисляСт Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ and ΠΈΠ»ΠΈ or, Ссли Π΅Π΅ исход ясСн ΠΏΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄Ρƒ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄ истинСн, ΠΎΠ½ ΠΈ возвращаСтся ΠΊΠ°ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ or, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС возвращаСтся Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Π½Π΄. Для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ and всС Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ.

Π’ΠΈΠΏ string ΠΈ Ρ‚ΠΈΠΏ unicode

Π’ Python строки Π±Ρ‹Π²Π°ΡŽΡ‚ Π΄Π²ΡƒΡ… Ρ‚ΠΈΠΏΠΎΠ²: ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ ΠΈ Unicode–строки. ЀактичСски строка β€” это ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ символов (Π² случаС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… строк ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ Β«ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π±Π°ΠΉΡ‚ΠΎΠ²Β»). Бтроки–константы ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ². Для Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π½Π°Ρ€Π°Π²Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ апострофы ('), Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ("). Для многострочных Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹Π΅ апострофы ΠΈΠ»ΠΈ ΡƒΡ‚Ρ€ΠΎΠ΅Π½Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π£ΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ² Π·Π°Π΄Π°ΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ косой Ρ‡Π΅Ρ€Ρ‚ΠΎΠΉ (\). ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ написания строковых Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ²:

s1 = "строка1"

s2 = 'строка2\nс ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ строки Π²Π½ΡƒΡ‚Ρ€ΠΈ'

s3 = """строка3

с ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΎΠΌ строки Π²Π½ΡƒΡ‚Ρ€ΠΈ"""

u1 = u'\u043f\u0440\u0438\u0432\u0435\u0442' # ΠΏΡ€ΠΈΠ²Π΅Ρ‚

u2 = u'Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€' # Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ coding!


Для строк имССтся Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ€Π°Π·Π½ΠΎΠ²ΠΈΠ΄Π½ΠΎΡΡ‚ΡŒ: Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹. Π’ этих Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°Ρ… обратная косая Ρ‡Π΅Ρ€Ρ‚Π° ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° Π½Π΅ΠΉ символы Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ спСцсимволы, Π° Π²ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² строку Β«ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒΒ»:

my_re = r"(\d)=\1"

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠ΅ строки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для записи рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ (ΠΎ Π½ΠΈΡ… ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π² Π»Π΅ΠΊΡ†ΠΈΠΈ, посвящСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ).

Набор ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π½Π°Π΄ строками Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ Β«+Β», ΠΏΠΎΠ²Ρ‚ΠΎΡ€ "*", Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ "%". Π’Π°ΠΊΠΆΠ΅ строки ΠΈΠΌΠ΅ΡŽΡ‚ большоС количСство ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅. ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² (ΠΈ ΠΈΡ… Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Python.

>>> "A" + "B"

'AB'

>>> "A"*10

'AAAAAAAAAA'

>>> "%s %i" % ("abc", 12)

'abc 12'

НСкоторыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ строковых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±ΡƒΠ΄ΡƒΡ‚ рассмотрСны Π² Π»Π΅ΠΊΡ†ΠΈΠΈ, посвящСнной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстов.

Π’ΠΈΠΏ tuple

Для прСдставлСния константной ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (Ρ€Π°Π·Π½ΠΎΡ€ΠΎΠ΄Π½Ρ‹Ρ…) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΈΠΏ ΠΊΠΎΡ€Ρ‚Π΅ΠΆ. Π›ΠΈΡ‚Π΅Ρ€Π°Π» ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ записываСтся Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ, Ссли Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ нСоднозначности, ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π±Π΅Π· Π½ΠΈΡ…. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ записи ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ:

p = (1.2, 3.4, 0.9) # Ρ‚ΠΎΡ‡ΠΊΠ° Π² Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС

for s in "one", "two", "three": # Ρ†ΠΈΠΊΠ» ΠΏΠΎ значСниям ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°

print s

one_item = (1,)

empty = ()

p1 = 1, 3, 9 # бСз скобок

p2 = 3, 8, 5, # запятая Π² ΠΊΠΎΠ½Ρ†Π΅ игнорируСтся

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π² Π»Π΅Π²ΠΎΠΉ части ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания. Π’ этом случаС Π½Π° основС вычислСнных справа Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ формируСтся ΠΊΠΎΡ€Ρ‚Π΅ΠΆ ΠΈ связываСтся ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π² Π»Π΅Π²ΠΎΠΉ части. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ±ΠΌΠ΅Π½ значСниями записываСтся ΠΎΡ‡Π΅Π½ΡŒ изящно:

a, b = b, a

Π’ΠΈΠΏ list

Π’ «чистом» Python Π½Π΅Ρ‚ массивов с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ элСмСнта. ВмСсто Π½ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ списки. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Π»ΠΎΠ², записываСмых Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках, ΠΈΠ»ΠΈ посрСдством списковых Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ задания списка ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½ΠΈΠΆΠ΅:

lst1 = [1, 2, 3,]

lst2 = [x**2 for x in range(10) if x % 2 == 1]

lst3 = list("abcde")

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со списками сущСствуСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ВсС ΠΎΠ½ΠΈ связаны с ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ списка.

ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

НиТС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Ρ‹ основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ. Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹ΠΌΠΈ. Π£ послСдних ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ‡ΡƒΡ‚ΡŒ большС.

Бинтаксис Π‘Π΅ΠΌΠ°Π½Ρ‚ΠΈΠΊΠ° len(s) Π”Π»ΠΈΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ s x in s ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° принадлСТности элСмСнта ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ Π½ΠΎΠ²Ρ‹Ρ… вСрсиях Python ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ подстроки строкС. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True ΠΈΠ»ΠΈ False x not in s = not x in s s + s1 ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ s*n ΠΈΠ»ΠΈ n*s ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· n Ρ€Π°Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½Π½ΠΎΠΉ s. Если n < 0, возвращаСтся пустая ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. s[i] Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ i–й элСмСнт s ΠΈΠ»ΠΈ len(s)+i–й, Ссли i < 0 s[i:j:d] Π‘Ρ€Π΅Π· ΠΈΠ· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ s ΠΎΡ‚ i Π΄ΠΎ j с шагом d Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΈΠΆΠ΅ min(s) НаимСньший элСмСнт s max(s) Наибольший элСмСнт s

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ конструкции для ΠΈΠ·ΠΌΠ΅Π½Ρ‡ΠΈΠ²Ρ‹Ρ… ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ: