Π€ΡΠ½ΠΊΡΠΈΡ Π² int python: Π€ΡΠ½ΠΊΡΠΈΠΈ int() | Python
Π€ΡΠ½ΠΊΡΠΈΠΈ int() | Python
Π ΡΠ·ΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ int()Β Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ (ΠΊΠ»Π°ΡΡ int).
ΠΡΠ»ΠΈ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ int() Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ½Π° Π²Π΅ΡΠ½Π΅Ρ 0.
Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ int() ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΡΡΠΎΠΊΠΎΠΉ, Π»ΠΈΠ±ΠΎ ΡΠΈΡΠ»ΠΎΠΌ. Π‘ΡΡΠΎΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°, ΠΈΠ½Π°ΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π° ΠΎΡΠΈΠ±ΠΊΠ° ValueError.
>>> int('4') 4 >>> int('3a') Traceback (most recent call last): File "<pyshell#29>", line 1, in <module> int('3a') ValueError: invalid literal for int() with base 10: '3a'
ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ ΠΎΠ½Π° Π²Π΅ΡΠ½Π΅Ρ Π΅Π³ΠΎ ΠΆΠ΅. ΠΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠΎ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΎ Π΄ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ Π² ΡΡΠΎΡΠΎΠ½Ρ Π½ΡΠ»Ρ (Ρ. Π΅. Π΄ΡΠΎΠ±Π½Π°Ρ ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ±ΡΠΎΡΠ΅Π½Π°).
>>> int(87) 87 >>> int(-103) -103 >>> int(234.879) 234 >>> int(-0.3) 0 >>> int(-0.9) 0
ΠΠΎΠΏΡΡΠΊΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅Β ΡΠΈΡΠ»ΠΎ, Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ int() Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ.
>>> int('101.1') Traceback (most recent call last): File "<pyshell#37>", line 1, in <module> int('101.1') ValueError: invalid literal for int() with base 10: '101.1'
ΠΡΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ float(), Π° Π·Π°ΡΠ΅ΠΌ int().
>>> a = '15.76' >>> a = float(a) >>> a 15.76 >>> a = int(a) >>> a 15
Π ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ int(), ΠΏΠ΅ΡΠ²ΡΠΉ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ int() ΡΠΎΠΎΠ±ΡΠ°Π΅ΡΡΡ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΡΠ»ΠΎ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°. Π€ΡΠ½ΠΊΡΠΈΡ int() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ.
>>> int('12',8) 10 >>> int('13h',20) 477 >>> int('111001',2) 57
ΠΠ»Ρ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΉ, Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΠΈ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΡ. ΠΡΠ»ΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ, ΡΠΎ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»Π΅Π½.
>>> int(0b11) 3 >>> int('0b11') Traceback (most recent call last): File "<pyshell#48>", line 1, in <module> int('0b11') ValueError: invalid literal for int() with base 10: '0b11' >>> int('0b11',2) 3 >>> int(0o10) 8 >>> int(0x15) 21 >>> int(0xA5) 165
ΠΡΠ°ΠΊ, ΡΡΠ½ΠΊΡΠΈΡ int() Π²ΡΠ΅Π³Π΄Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ. ΠΡΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ, ΡΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΎΡΠΈΠ±ΠΊΠ°.
Python | ΡΡΠ½ΠΊΡΠΈΡ int ()
Π€ΡΠ½ΠΊΡΠΈΡ int () Π² Python ΠΈ Python3 ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠΈΡΠ»ΠΎ Π² Π΄Π°Π½Π½ΠΎΠΉ Π±Π°Π·Π΅ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅.
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
int(string, base)
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ:
string : consists of 1's and 0's base : (integer value) base of the number.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
Returns an integer value, which is equivalent of binary string in the given base.
ΠΡΠΈΠ±ΠΊΠΈ:
TypeError : Returns TypeError when any data type other than string or integer is passed in its equivalent position.
ΠΠΎΠ΄ β 1:
|
ΠΡΡ ΠΎΠ΄ :
int('187') + 13 = 200 int('100') with base 2 = 4 int('100') with base 4 = 16 int('100') with base 8 = 64 int('100') with base 16 = 256
ΠΠΎΠ΄ β 2:
|
ΠΡΡ ΠΎΠ΄ :
Decimal equivalent of binary 111 is 7 Octal equivalent of binary 101 is 65
ΠΠΎΠ΄ β 3: ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄Π»Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ TypeError.
|
ΠΡΡ ΠΎΠ΄ :
Traceback (most recent call last): File "/home/d87cec4c0c33aad3bb6187858b40b734.py", line 8, in decimal = int(binaryString, 2) TypeError: int() can't convert non-string with explicit base
,
ΠΠ°ΡΠ²ΠΊΠ° :
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΎ Π²ΡΠ΅Ρ
ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ
ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡ
. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅, Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ Π² Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ΅, Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠ΅.
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΡΡΡ:
Python | ΡΡΠ½ΠΊΡΠΈΡ int ()
0.00 (0%) 0 votes
bool | ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ (Π±ΡΠ»Π΅Π²) ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ . |
7 ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ Python Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, Π²ΠΎΠ·Π²ΡΠ°ΡΠΎΠΌ ΠΈ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ β ΡΡΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊΠ΅, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΎ ΠΈΠΌΡ. ΠΠ½ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π²ΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΠ²ΠΎΠ΄.
Π€ΡΠ½ΠΊΡΠΈΠΈ ΡΠ»ΡΡΡΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ΄Π°.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ:
- ΠΡΠΈΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Python
- ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
- ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
- ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Python
- Π€ΡΠ½ΠΊΡΠΈΡ Python. ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
- ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
- Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° s ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Β
1. ΠΡΠΈΠΌΠ΅Ρ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Python
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°, Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ ΡΡΠΌΠΌΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²ΡΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
# ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ def calculate_sum(a,b): sum = a+b return sum # ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ print(calculate_sum(2,3)) # 5
Β
Π Python Π΅ΡΡΡ Π΄Π²Π΅ ΡΠΈΡΠΎΠΊΠΈΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ: Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ.
Β
2. ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ΄ΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ Python, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.Β ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎΠ± ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.Β print () β ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² Python.
print("ΠΡΠΈΠ²Π΅Ρ ΠΌΠΈΡ") print(len("ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ AndreyEx"))
Β
ΠΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠ°ΠΊΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ: len(), str(), int(), abs(), sum() ΠΈ Ρ. Π΄.
ΠΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠ΅ Python3,Β Π·Π΄Π΅ΡΡ.
Β
3. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° def.Β ΠΠ»ΡΡΠ΅Π²ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°ΡΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ.
def calculate_si_amount(principal, rate, time): interest = (principal*rate*time)/100 return principal+interest
Β
Π ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΠΌΠΌΠ° ΡΠ°ΡΡΡΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΡΠΌΠΌΠ΅. Calculate_si_amount ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ. principal, rate ΠΈ time ΡΠ²Π»ΡΡΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΠ»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.Β ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΈΠ±ΠΎ ΠΎΠ±Π°, Π»ΠΈΠ±ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ , Π»ΠΈΠ±ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ.Β ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅.
from random import seed, random from random import random def generate_random_number(): seed(10) return random()
Β
4. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Python
Π€ΡΠ½ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
def multiply(a, b=10): return a*b multiply(12) # 120 multiply(2, 3) # 6 multiply(b=9) # ΠΡΠΈΠ±ΠΊΠ°: None*9 Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΠΎ
Β
Π ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π·Π°Π΄Π°Π΅Ρ Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ b, ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΠΎΠ½ ΡΠ°Π²Π΅Π½ 10, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
Β
5. Π€ΡΠ½ΠΊΡΠΈΡ Python. ΠΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΊΠ°ΠΆΠ΅ΠΌ, 4 ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΈ Π΄Π»Ρ 2-Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΡΠΎ 3-ΠΌΡ ΠΈ 4-ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΡΠΈΡΠ»ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠΆΠΈΠ΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΠΎΠ³Π΄Π° * args Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².Β ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ.Β ΠΠ²Π΅Π·Π΄ΠΎΡΠΊΠ° (*) Π·Π΄Π΅ΡΡ Π²Π°ΠΆΠ½Π°.Β ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ args β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅.Β ΠΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°ΡΡ Π»ΡΠ±ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅ ΠΈΠΌΡ.
def calculate_sum(a, *args): sum = a for i in args: sum += i return sum calculate_sum(10) # 10 calculate_sum(10, 11, 12) # 33 calculate_sum(1, 2, 94, 6, 2, 8, 9, 20, 43, 2) # 187
Β
Π’ΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ** kwargs ΠΎΠΆΠΈΠ΄Π°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.
def print_names(f1, l1, **kwargs): print(f1, l1, end=' ') for key in kwargs: print(key, kwargs[key], end=' ') print_names("andreyex", "master") print_names("andreyex", "master", alex="john", leon="milene") # andreyex master andreyex master alex john leon milene
Β
ΠΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° ΠΈΠΌΠ΅Π΅Ρ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΈΠΊΠ» for.Β ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ:Β 12 Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ Loop Π² Python
Β
6. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Python
Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
def prime_numbers(x): l=[] for i in range(x+1): if checkPrime(i): l.append(i) return len(l), l no_of_primes, primes_list = prime_numbers(100)
Β
ΠΠ΄Π΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ.Β ΠΠΎΠ³Π΄Π° ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ Π² Π΄Π²ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ, ΠΎΠ½Π° Π½Π΅ΡΠ²Π½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ None.
Β
7. Π’ΠΈΠΏ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΡΡΠΎΠ±Ρ Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π½Π°ΡΡ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
def prime_numbers(x:int) -> (int, list): l=[] for i in range(x+1): if checkPrime(i): l.append(i) return len(l), l
Β
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Π΅ΠΉ Π½ΡΠΆΠ΅Π½ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠΈΠΏΠ° int ΠΈ Π²Π΅ΡΠ½Π΅Ρ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠΏΠ° int ΠΈ list ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. Π£Π΄Π°ΡΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ.
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π²ΠΎΠΏΡΠΎΡΡ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ, Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π².
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΡ, ΠΏΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π²ΡΠ΄Π΅Π»ΠΈΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Enter.
ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ. Π£ΡΠΎΠΊ 14 ΠΊΡΡΡΠ° «Python. ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅»
Π―Π·ΡΠΊ Python Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ , Ρ. Π΅. Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² Π½Π΅Π³ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ Π½Π΅ Π²ΠΈΠ΄ΠΈΡ ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΉ, ΠΎΠ½ΠΈ ΡΠΊΡΡΡΡ Π³Π΄Π΅-ΡΠΎ Π² «Π½Π΅Π΄ΡΠ°Ρ » ΡΠ·ΡΠΊΠ°. ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΡΡΠΎ ΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ, ΡΠΎ Π΅ΡΡΡ ΠΈΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
Π ΡΠ΄ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΡΠ°ΡΡΠΈΡ ΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° ΠΈ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΌΡ ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ. ΠΡΠΎ print(), input(), int(), float(), str(), bool(), type(). ΠΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π² Python ΡΡΠ½ΠΊΡΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ·ΡΠΊΡ: https://docs.python.org/3/library/functions.html . Π ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Π½Π° ΡΡΡΡΠΊΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π΄Π΅ΡΡ: https://pythoner.name/documentation/library/functions .
Π ΡΡΠΎΠΌ ΡΡΠΎΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°Π·Π±ΠΈΠ² ΠΈΡ Π½Π° Π³ΡΡΠΏΠΏΡ:
ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ β ord(), chr(), len()
ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ β abs(), round(), divmod(), pow(), max(), min(), sum()
Π€ΡΠ½ΠΊΡΠΈΡ ord() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ Unicode. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ½Π° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ», Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ:
>>> ord('z') 122 >>> ord('Ρ') 1092 >>> ord('@') 64
Π€ΡΠ½ΠΊΡΠΈΡ chr() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎ Π΅Π³ΠΎ Π½ΠΎΠΌΠ΅ΡΡ:
>>> chr(87) 'W' >>> chr(1049) 'Π' >>> chr(10045) 'β½'
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΡΡΠ°ΡΡ ord() ΠΈ chr(), ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. ΠΠ΅ ΠΈΠΌΡ ΠΊΠ°ΠΊ Π±Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ «Π§ΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ?». Order β ΡΡΠΎ ΠΏΠΎΡΡΠ΄ΠΎΠΊ. ΠΠ½Π°ΡΠΈΡ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² ΡΡΠ΄Ρ. Π ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½ΠΎΠΌΠ΅Ρ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ». Character β ΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠ½Π°ΡΠΈΡ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ». ΠΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ.
Π€ΡΠ½ΠΊΡΠΈΡ len() Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½Π° ΠΏΠΎΠ΄ΡΡΠΈΡΡΠ²Π°Π΅Ρ. Π§ΠΈΡΠ»Π° β ΡΡΠΎ ΠΏΡΠΎΡΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π² len(). Π‘ΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ:
>>> len('abc') 3 >>> s1 = '------' >>> s2 = '_______' >>> len(s1) > len(s2) False >>> len(s1) 6 >>> len(s2) 7
ΠΡΠΎΠΌΠ΅ ΡΡΡΠΎΠΊ Π² len() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅, Π΅ΡΠ΅ Π½Π΅ ΠΈΠ·ΡΡΠ΅Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ, ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ .
Π€ΡΠ½ΠΊΡΠΈΡ abs() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π°Π±ΡΠΎΠ»ΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΠ»Π°:
>>> abs(-2.2) 2.2 >>> abs(9) 9
ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΊΡΡΠ³Π»ΠΈΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π΄ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ, ΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ round():
>>> a = 10/3 >>> a 3.3333333333333335 >>> round(a,2) 3.33 >>> round(a) 3
ΠΡΠ»ΠΈ Π²ΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π½Π΅ Π·Π°Π΄Π°Π½, ΡΠΎ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Ρ Π΄ΠΎ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°. ΠΡΡΡ ΠΎΠ΄Π½Π° ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠΊΡΡΠ³Π»ΡΡΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ Π΅Π΄ΠΈΠ½ΠΈΡΡ, Π΄Π΅ΡΡΡΠΊΠΈ, ΡΠΎΡΠ½ΠΈ ΠΈ Ρ. Π΄., ΡΠΎ Π΅ΡΡΡ ΡΠ΅Π»Π°Ρ ΡΠ°ΡΡΡ:
>>> round(5321, -1) 5320 >>> round(5321, -3) 5000 >>> round(5321, -4) 10000
Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎΠΊΡΡΠ³Π»ΡΠ΅Ρ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ, Π° Π½Π΅ ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅Ρ. ΠΠΎΡΡΠΎΠΌΡ 5 ΡΡΡΡΡ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎ ΠΎΠΊΡΡΠ³Π»ΡΡΡΡΡ Π΄ΠΎ Π΄Π΅ΡΡΡΠΈ.
>>> round(3.76, 1) 3.8 >>> round(3.72, 1) 3.7 >>> round(3.72) 4 >>> round(3.22) 3
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ Π±Π΅Π· ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ int():
>>> int(3.78) 3
ΠΠ΅ΡΠ΅Π΄ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡ round() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ print(), ΠΈΠ·Π±Π΅Π³Π°Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π°:
>>> a = 3.45673 >>> print("Number: %.2f" % a) Number: 3.46 >>> print("Number:", round(a,2)) Number: 3.46
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠ΄ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ½ΡΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ divmod() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ΅Π»ΠΎ ΠΈ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΠΊΠ° ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ:
>>> divmod(10, 3) (3, 1) >>> divmod(20, 7) (2, 6)
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ½Π° ΠΊΠΎΡΡΠ΅ΠΆ, ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΎΠΊΠ° Π½Π΅ ΠΈΠ·ΡΡΠ°Π»ΠΈ. Π Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π½Π΅ΡΠ΅Π΄ΠΊΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ Π΄Π²Π΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ: div() ΠΈ mod(). ΠΠ΅ΡΠ²Π°Ρ Π΄Π΅Π»ΠΈΡ Π½Π°ΡΠ΅Π»ΠΎ, Π²ΡΠΎΡΠ°Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Π΅Π»Π΅Π½ΠΈΡ (Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ). Π Python ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ-ΠΎΠΏΠ΅ΡΠ°Π½Π΄Ρ:
>>> 10 // 3 3 >>> 10 % 3 1
Π€ΡΠ½ΠΊΡΠΈΡ pow() Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ. ΠΠ΅ΡΠ²ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ β ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅, Π²ΡΠΎΡΠΎΠ΅ β ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»Ρ:
>>> pow(3, 2) 9 >>> pow(2, 4) 16
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ:
>>> 3**2 9 >>> 2**4 16
ΠΠ΄Π½Π°ΠΊΠΎ pow() ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΠ΅ΡΠΈΠΉ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ. ΠΡΠΎ ΡΠΈΡΠ»ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ Π΄Π΅Π»ΠΈΡΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π² ΡΡΠ΅ΠΏΠ΅Π½Ρ:
>>> pow(2, 4, 4) 0 >>> 2**4 % 4 0
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ²Π»ΡΠ΅ΡΡΡ Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
Π€ΡΠ½ΠΊΡΠΈΠΈ max(), min() ΠΈ sum() Π½Π°Ρ ΠΎΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈ ΡΡΠΌΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
>>> max(10, 12, 3) 12 >>> min(10, 12, 3, 9) 3 >>> a = (10, 12, 3, 10) >>> sum(a) 35
Π sum() Π½Π΅Π»ΡΠ·Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΡΠ΅ΠΆ. Π min() ΠΈ max() ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ:
>>> max(a) 12
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ°
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎ ΡΠ°Π±Π»ΠΈΡΠ΅ Unicode ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ°Π²Π΅ΡΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ Π½ΡΠ»Ρ.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ·ΠΌΠ΅ΡΡΠ΅Ρ Π΄Π»ΠΈΠ½Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΡΠ»ΠΈ ΡΡΡΠΎΠΊΠ° Π΄Π»ΠΈΠ½Π½Π΅Π΅ Π΄Π΅ΡΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ Π²ΡΠ½ΠΎΡΠΈΡΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΡΠ»ΠΈ ΠΊΠΎΡΠΎΡΠ΅, ΡΠΎ ΠΊ ΡΡΡΠΎΠΊΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² *, ΡΡΠΎΠ±Ρ Π΅Π΅ Π΄Π»ΠΈΠ½Π° ΡΠΎΡΡΠ°Π²Π»ΡΠ»Π° Π΄Π΅ΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΡΠΊΡΠ°Π½.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΡΡ Π²Π΅ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΡΠΈΡΠ΅Π». ΠΠ° ΡΠΊΡΠ°Π½ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ· Π½ΠΈΡ , ΠΎΠΊΡΡΠ³Π»Π΅Π½Π½ΡΠ΅ Π΄ΠΎ Π΄Π²ΡΡ Π·Π½Π°ΠΊΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΎΠΉ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ min() ΠΈ max().
ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠΎΠΊΠΈ Π² android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ pdf-Π²Π΅ΡΡΠΈΠΈ ΠΊΡΡΡΠ°
ΠΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ Π² Python
ΠΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ, ΠΈ Python Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ. Π ΠΎΠ±ΡΠ΅ΠΌ, Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ β ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΈΠΏ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄ΡΡΠ³ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΡΡ ΡΠ°ΠΌΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ Π² Python.
dir()
ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ dir()
. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΡΠΈΠ±ΡΡΠΎΠ² ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
>>> a = [1, 2, 3] >>> dir(a) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π΅ΡΠ½ΡΠ»Π° ΡΡΠ½ΠΊΡΠΈΡ dir()
β ΡΡΠΎ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΎ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ. ΠΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
>>> b = [1, 2, 3] >>> b_dir = dir(b) >>> 'index' in b_dir True >>> 'pop' in b_dir True
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ dir()
Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΎΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² Π²Π°ΡΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅.
>>> dir() ['__annotations__', '__builtins__', '__doc__', '__loader__', '__name__', '__package__', '__spec__', 'a', 'b', 'b_dir']
type()
ΠΡΡΠ³ΠΎΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ type()
. ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π½ΡΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ
, ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ, ΠΊΠ»Π°ΡΡΠΎΠΌ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΆΠ΅:
>>> type(1.2) <class 'float'> >>> type([1, 2, 3]) <class 'list'> >>> type((3, 'Three')) <class 'tuple'> >>> def do_something(): ... pass ... >>> type(do_something) <class 'function'> >>> class Fruit: ... pass ... >>> type(Fruit) <class 'type'> >>> type(Fruit()) <class '__main__.Fruit'> >>> import os >>> type(os) <class 'module'>
Π§ΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ type()
? ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΈΠΏΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ
ΠΎΡΠΈΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ==
ΠΈΠ»ΠΈ is
. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ².
>>> type(1.2) == int False >>> type(1.2) == float True >>> type([1,2]) == list True >>> type((1,2)) is tuple True
isinstance()
ΠΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π°, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ isinstance()
. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π½ΠΈΠΆΠ΅.
>>> isinstance([1,2], list) True >>> isinstance([1,2], tuple) False >>> isinstance((1,2), tuple) True
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ isinstance()
ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅.
>>> isinstance(1, (int, float, tuple)) True >>> isinstance(1, int) or isinstance(1, float) or isinstance(1, tuple)
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ»Π°ΡΡ:
>>> class Fruit: ... pass ... >>> apple = Fruit() >>> isinstance(apple, Fruit) True
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, ΡΡΠΎ ΠΈ type()
, ΠΈ isinstance()
ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, ΠΎΠ½ΠΈ Π½Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ.
ΠΠΎΠ³Π΄Π° ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ type()
, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΠΈΠΏΡ, ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΠΌ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ. ΠΠΎ ΡΡΡΠΈ, ΠΌΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΡΠΈΠΏ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Ρ ΡΠΈΠΏΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π»ΠΈ ΠΎΠ½ΠΈ.
Π Π²ΠΎΡ isinstance()
ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° (ΠΊΠ»Π°ΡΡΠΎΠ²) ΠΈΠ»ΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ°.Β ΠΠ»Ρ isinstance()
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½Π° ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π° ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΊ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ. ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ.
hasattr()
ΠΠ½ΠΎΠ³Π΄Π°, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π°ΡΡΠΈΠ±ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Ρ ΠΎΡΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Ρ Π½Π΅Π³ΠΎ ΡΡΠΎΡ Π°ΡΡΠΈΠ±ΡΡ. ΠΡ Π½Π΅ Ρ ΠΎΡΠΈΠΌ Π²ΠΈΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ:
>>> class Fruit: ... pass ... >>> Fruit().tasty Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'Fruit' object has no attribute 'tasty'
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ hasattr()
ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, Π΅ΡΡΡ Π»ΠΈ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°ΠΊΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡ, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π½Π΅ΠΌΡ.
>>> class Fruit: ... tasty = True ... >>> fruit = Fruit() >>> if hasattr(fruit, 'tasty'): ... print('The fruit is tasty') ... else: ... print('The fruit is not tasty') ... The fruit is tasty
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈ Π½Π° ΡΡΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π½ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ dir()
Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.
ΠΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠ½ΠΊΡΠΈΡ dir()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΡΠ°ΠΊ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΡΡΠΌΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄.
>>> class Fruit: ... tasty = True ... >>> fruit = Fruit() >>> if 'tasty' in dir(fruit): ... print('The fruit is tasty') ... else: ... print('The fruit is not tasty') ... The fruit is tasty
id()
Π ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π²Π°ΠΆΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ Π² Python β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ id()
. ΠΠ½Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. Π CPython ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° β ΡΡΠΎ Π°Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ±ΡΠ΅ΠΊΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄Ρ ΠΈΡ
ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡΡΡ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.
a = 2 b = 1 id(a) 140339209865072 id(b) 140339209865096
ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ
ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π° Π² Python β ΡΡΠΎ ΠΎΠ±ΠΌΠ΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π²ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
. ΠΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ, ΠΏΡΠΎΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ a, b = b, a
. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΎΠ±ΠΌΠ΅Π½Π°.
id(a) 140339209865096 id(b) 140339209865072 a, b (1, 2)
ΠΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°ΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΈ Π΄Π²Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΠ»ΠΈΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΡΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΈΡ Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠ²ΠΎΠ΄Ρ
ΠΡΠΎΠ²ΠΎΠ΄ΠΈΡΡ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΡ Π² Python ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΡ Β ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΈΠ½ΡΡΠΎΡΠΏΠ΅ΠΊΡΠΈΠΈ Π² Python, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΡΡΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ inspect.
ΠΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΠ²Π»ΡΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ. ΠΡ ΡΠΌΠ΅Π»ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ Π½Π° Python.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Python ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π·Π½Π°Π»ΠΈ / Π₯Π°Π±Ρ
ΠΡΠ΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
Π― ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»ΡΠ±ΠΈΠ» Python ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΈΡΠ°Π» ΠΊΠ½ΠΈΠ³Ρ ΠΠ°ΡΠΊΠ° ΠΡΡΡΠ° Β«ΠΠ·ΡΡΠ°Π΅ΠΌ PythonΒ». Π―Π·ΡΠΊ ΠΎΡΠ΅Π½Ρ ΠΊΡΠ°ΡΠΈΠ², Π½Π° Π½Π΅ΠΌ ΠΏΡΠΈΡΡΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ ΠΈ Π²ΡΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ. ΠΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠ², ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ, ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ² Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠ΅Π½Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ ΡΠ·ΡΠΊ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ. Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Ρ ΠΌΠ΅Π½Ρ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΎΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ Π³ΡΠ³Π»ΠΈΠ» ΠΈ ΡΡΠ°ΡΠ°Π»ΡΡ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΡΡ ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ. ΠΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Ρ Π²Π°ΠΌΠΈ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅, ΡΡΠ°ΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ Python ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°.
ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎ ΡΠ΅ΡΠΌΠΈΠ½Π°Ρ
ΠΠ°ΡΠ½Ρ ΠΏΠΎΠΆΠ°Π»ΡΠΉ Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΠΎ ΠΏΡΡΠ°ΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ Python ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
List comprehensions ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ. Π― Π²ΡΠ΅Π³Π΄Π° ΠΏΡΡΠ°Π» Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ (Π½ΠΎ Π½Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ!). Π‘ΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ, ΠΏΠΎ ΡΡΡΡΠΊΠΈΠΉ Π·Π²ΡΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ΅. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ β Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΡΠΎ generator expressions, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, Π° Π½Π΅ ΡΠΏΠΈΡΠΎΠΊ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠ°Π²Π½ΠΈΠΌ:
f = (x for x in xrange(100)) # Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ - Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ
c = [x for x in xrange(100)] # Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠΎΠ²
ΠΡΠΎ Π΄Π²Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ. ΠΠ΅ΡΠ²ΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ (ΡΠΎ Π΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ), Π²ΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
Generators ΠΈΠ»ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ. Π§ΡΠΎ Π±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½ΡΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π· yield:
def prime(lst):
for i in lst:
if i % 2 == 0:
yield i
>>> f = prime([1,2,3,4,5,6,7])
>>> list(f)
[2, 4, 6]
>>> next(f)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
StopIteration
>>>
ΠΡΡΠ°ΡΠΈ, Π² Python 3.3 ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π½ΠΎΠ²Π°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ yield from. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ yield ΠΈ for ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΠΎ, ΡΡΠΎ ΡΡΠΈ Π΄Π²Π΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ.
def generator_range(first, last):
for i in xrange(first, last):
yield i
def generator_range(first, last):
yield from range(first, last)
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡΠΆΠ½Ρ?
ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π°, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠ΅ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ with. ΠΠ½ΡΡΡΡΠΊΡΠΈΡ with ΡΠΎΠ·Π΄Π°Π΅Ρ Π±Π»ΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅. ΠΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ open(). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠ°ΠΊ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΅Π³ΠΎ Π·Π°ΠΊΡΡΡΡ, ΡΡΠΎ Π±Ρ Π²ΡΡΠΎΠ»ΠΊΠ½ΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ (Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Python Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ close() Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ ΡΠ²Π½ΠΎΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ). ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
fp = open("./file.txt", "w")
fp.write("Hello, World")
fp.close()
Π§ΡΠΎ Π±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π½Π΅ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ close() ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ open(), ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» ΠΏΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π±Π»ΠΎΠΊΠ°:
with open("./file.txt", "w") as fp:
fp.write("Hello, World")
ΠΠ΄Π΅ΡΡ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ close, ΡΡΠΎ Π±Ρ Π²ΡΡΠΎΠ»ΠΊΠ½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ». ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠ°ΠΊΠΈΡ Π»ΠΈΠ±ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π΄ΠΎ Π²Ρ ΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊ ΠΈ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π½Π΅Π³ΠΎ. ΠΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² Π½Π° ΡΡΠΎΠΌ Π½Π΅ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡΡ. ΠΠΎ Π² Python Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π³Π΄Π΅ ΡΠΎ Π΅ΡΠ΅ ΡΠΎ Π½Π΅Ρ Π³Π°ΡΠ°Π½ΡΠΈΠΈ, ΡΡΠΎ Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΠ΅ΡΠΎΠ΄ __del__ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ»ΠΈ ΠΈΡΡΠ΅ΡΠΏΠ°Π½Ρ:
In [4]: class Hello:
...: def __del__(self):
...: print 'destructor'
...:
In [5]: f = Hello()
In [6]: c = Hello()
In [7]: e = Hello()
In [8]: del e
destructor
In [9]: del c
destructor
In [10]: c = f
In [11]: e = f
In [12]: del f # <- Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π½Π΅ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ
Π Π΅ΡΠΈΠΌ ΡΡΡ Π·Π°Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ:
In [1]: class Hello:
...: def __del__(self):
...: print u'Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ'
...: def __enter__(self):
...: print u'Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ'
...: def __exit__(self, exp_type, exp_value, traceback):
...: print u'Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ°'
...:
In [2]: f = Hello()
In [3]: c = f
In [4]: e = f
In [5]: d = f
In [6]: del d
In [7]: del e
In [8]: del c
In [9]: del f # <- Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ Π²ΡΠ·Π²Π°Π»ΡΡ ΡΠΎΠ³Π΄Π° ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½Ρ
Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°:
In [10]: with Hello():
....: print u'ΠΌΠΎΠΉ ΠΊΠΎΠ΄'
....:
Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ
ΠΌΠΎΠΉ ΠΊΠΎΠ΄
Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ°
Π΄Π΅ΡΡΡΡΠΊΡΠΎΡ
ΠΡ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ° ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ°
ΠΡ ΡΠΆΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π² Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠ»Π°ΡΡ Hello. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ. Π§ΡΠΎ Π±Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΡΠ°Π» ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ Π² Π΅Π³ΠΎ ΠΊΠ»Π°ΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½ΡΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π°: __enter__ ΠΈ __exit__. ΠΠ΅ΡΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄ΠΎ Π²Ρ ΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊ. ΠΠ΅ΡΠΎΠ΄Ρ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎ Π±Ρ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ as.
ΠΠ΅ΡΠΎΠ΄ __exit__ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· Π±Π»ΠΎΠΊΠ° with, ΠΈ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° β exp_type, exp_value ΠΈ exp_tr. ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½Ρ Π² Π±Π»ΠΎΠΊΠ΅ with. ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΡΠ΅ Π½Π°ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅.
class Open(object):
def __init__(self, file, flag):
self.file = file
self.flag = flag
def __enter__(self):
try:
self.fp = open(self.file, self.flag)
except IOError:
self.fp = open(self.file, "w")
return self.fp
def __exit__(self, exp_type, exp_value, exp_tr):
""" ΠΏΠΎΠ΄Π°Π²Π»ΡΠ΅ΠΌ Π²ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ IOError """
if exp_type is IOError:
self.fp.close() # Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»
return True
self.fp.close() # Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ»
with Open("asd.txt", "w") as fp:
fp.write("Hello, World\n")
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ exp_type ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΠΊΠ»Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΎ, exp_value β ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΈ ΠΏΠΎΠ΄Π°Π²Π»ΡΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ IOError ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° True ΠΌΠ΅ΡΠΎΠ΄Ρ __exit__. ΠΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² Π±Π»ΠΎΠΊΠ΅ ΠΌΡ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅ΠΌ. ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π°Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΊ ΠΊΠΎΠ½ΡΡ ΠΈ Π±Π»ΠΎΠΊ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ self.fp.close(), Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΎ. ΠΡΡΠ°ΡΠΈ, Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° with ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°Π²Π»ΡΡΡ ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ NameError, SyntaxError, Π½ΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π΅Π»Π°ΡΡ Π½Π΅ ΡΡΠΎΠΈΡ.
ΠΡΠΎΡΠΎΠΊΠΎΠ»Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ Π΄Π»Ρ ΠΎΠ±ΡΡΠ½ΡΡ Π·Π°Π΄Π°Ρ Π΅ΡΡΡ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΎΠΉ ΠΏΠΈΡΠΎΠ½Π°. ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ contextlib.
ΠΠ°ΠΊΠ΅Ρ contextlib
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΡ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠ² ΡΡΠ°Π΄ΠΈΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² Ρ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ __enter__ ΠΈ __exit__ Π½Π΅ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ»ΠΎΠΆΠ½ΡΡ Π·Π°Π΄Π°Ρ. ΠΠΎ Π΄Π»Ρ ΡΡΠΈΠ²ΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΊΠ»Π°ΡΡΠΎΠ² ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΡΠ½ΠΈ. ΠΠ»Ρ ΡΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ Π±ΡΠ» ΠΏΡΠΈΠ΄ΡΠΌΠ°Π½ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ contextmanager(), Π²Ρ ΠΎΠ΄ΡΡΠΈΠΉ Π² ΡΠΎΡΡΠ°Π² ΠΏΠ°ΠΊΠ΅ΡΠ° contextlib. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ contextmanager() ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ· ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ΄Π΅Π»Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ:
import contextlib
@contextlib.contextmanager
def context():
print u'Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ'
try:
yield {}
except RuntimeError, err:
print 'error: ', err
finally:
print u'Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ°'
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΠΊΠΎΠ΄Π°:
In [8]: with context() as fp:
...: print u'Π±Π»ΠΎΠΊ'
...:
Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ
Π±Π»ΠΎΠΊ
Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ°
ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΠΎΠ·Π±ΡΠ΄ΠΈΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ°.
In [14]: with context() as value:
....: raise RuntimeError, 'Error'
....:
Π²Ρ
ΠΎΠ΄ Π² Π±Π»ΠΎΠΊ
error: Error
Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ°
In [15]:
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° contextmanager(), Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π½Π°Ρ ΠΊΠΎΠ΄.
ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° contextmanager():
import contextlib
@contextlib.contextmanager
def bold_text():
print '<b>'
yield # ΠΊΠΎΠ΄ ΠΈΠ· Π±Π»ΠΎΠΊΠ° with Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡΡ ΡΡΡ
print '</b>'
with bold_text():
print "Hello, World"
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
<b>Hello, World</b>
ΠΠΎΡ ΠΎΠΆΠ΅ Π½Π° Π±Π»ΠΎΠΊΠΈ Π² ΡΡΠ±ΠΈ Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?
Π Π½Π°ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠΊ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°Ρ . ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
import contextlib
@contextlib.contextmanager
def context(name):
print u'Π²Ρ
ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ %s' % (name)
yield name # Π½Π°Ρ Π±Π»ΠΎΠΊ
print u'Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° %s' % (name)
with contextlib.nested(context('first'), context('second')) as (first, second):
print u'Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° %s %s' % (first, second)
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π²Ρ
ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ first
Π²Ρ
ΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ second
Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° first second
Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° second
Π²ΡΡ
ΠΎΠ΄ ΠΈΠ· ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° first
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ nested:
first, second = context('first'), context('second')
with first as first:
with second as second:
print u'Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° %s %s' % (first, second)
ΠΡΠΎΡ ΠΊΠΎΠ΄ Ρ ΠΎΡΡ ΠΈ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ, Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π±Ρ. ΠΠ±ΡΠ΅ΠΊΡΡ context(‘first’) ΠΈ context(‘second’) Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄ΠΎ Π²Ρ ΠΎΠ΄Π° Π² Π±Π»ΠΎΠΊ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½Ρ Π² ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ°Ρ . Π‘ΠΎΠ³Π»Π°ΡΠΈΡΠ΅ΡΡ, ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅ ΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΡΠ°ΡΠΈΠ²Π΅Π΅. Π Π²ΠΎΡ Π² Python 2.7 ΠΈ 3.1 ΡΡΠ½ΠΊΡΠΈΡ nested ΡΡΡΠ°ΡΠ΅Π»Π° ΠΈ Π±ΡΠ»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΎΠ²:
with context('first') as first, context('second') as second:
print u'Π²Π½ΡΡΡΠΈ Π±Π»ΠΎΠΊΠ° %s %s' % (first, second)
range ΠΈ xrange Π² Python 2.7 ΠΈ Python 3
ΠΠ·Π²Π΅ΡΡΠ½ΠΎ, ΡΡΠΎ Python 2.7 range Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ. ΠΡΠΌΠ°Ρ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΡΡΡΡ, ΡΡΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ xrange, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ xrange ΠΊΠΎΡΠΎΡΡΠΉ Π²Π΅Π΄Π΅Ρ ΡΠ΅Π±Ρ ΠΏΠΎΡΡΠΈ ΡΠ°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΡΠΏΠΈΡΠΎΠΊ, Π½ΠΎ Π½Π΅ Ρ ΡΠ°Π½ΠΈΡ Π² ΠΏΠ°ΠΌΡΡΠΈ Π²ΡΠ΅ Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠΎ ΠΌΠ΅Π½Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΈΠ²ΠΈΠ»ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ xrange Π² Python 2.x, ΠΊΠΎΠ³Π΄Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ:
>>> f = xrange(1000000000000000000000)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
OverflowError: Python int too large to convert to C long
>>>
Python Π½Π°ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ int ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΠΈ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ Π² C long. ΠΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Ρ Python 2.x Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π² ΡΡΠΎΠΌ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π² ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ sys.maxsize:
>>> import sys
>>> sys.maxsize
9223372036854775807
>>>
ΠΠΎΡ ΠΎΠ½ΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°:
>>> import sys
>>> sys.maxsize+1
9223372036854775808L
>>>
Python Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π» Π½Π°ΡΠ΅ ΡΠΈΡΠ»ΠΎ Π² long int. ΠΠ΅ ΡΠ΄ΠΈΠ²Π»ΡΠΉΡΠ΅ΡΡ, Π΅ΡΠ»ΠΈ xrange Π² Python 2.x Π±ΡΠ΄Π΅Ρ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ .
Π Python 3.3 ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ:
>>> import sys
>>> sys.maxsize
9223372036854775807
>>> range(sys.maxsize+1)
range(0, 9223372036854775808)
>>>
ΠΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π² long int Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ. ΠΠΎΡ Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
>>> import sys
>>> sys.maxsize + 1
9223372036854775808
>>> f = sys.maxsize + 1
>>> type(f)
<class 'int'>
>>>
Π Python 2.7
>>> import sys
>>> type(sys.maxsize + 1)
<type 'long'>
>>>
ΠΠ΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ
ΠΡΠΌΠ°Ρ Π²ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΡΡΡΡ, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΈΡΠΎΠ½Π° Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π° Π½Π΅ Π² Π»Π΅Π³ΠΊΠΎΡΡΠΈ Π΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ, Π° Π² ΠΏΡΠΎΡΡΠΎΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°. ΠΠΈΡΠΎΠ½ ΠΊΡΠ°ΡΠΈΠ², Π³ΠΈΠ±ΠΎΠΊ ΠΈ Π½Π° Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΈΠ»Π΅, Π½ΠΎ ΠΈ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ. ΠΠΎ ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄ ΠΊΠ°ΠΆΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ. ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ.
>>> f = [[]] * 3
>>> f[0].append('a')
>>> f[1].append('b')
>>> f[2].append('c')
>>>
ΠΠ°ΠΊΠΎΠ² Π±ΡΠ΄Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ? ΠΠ΅ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΡΠΎΠΎΠ±ΡΠΈΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅: [[‘a’], [b’], [c’]]. ΠΠΎ Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ:
>>> print f
[['a', 'b', 'c'], ['a', 'b', 'c'], ['a', 'b', 'c']]
>>>
ΠΠΎΡΠ΅ΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΄ΡΠ±Π»ΠΈΡΡΠ΅ΡΡΡ? ΠΠ΅Π»ΠΎ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ»ΠΊΠΈ Π²Π½ΡΡΡΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠΏΠΈΡΠΎΠΊ. Π ΡΡΠΎΠΌ Π»Π΅Π³ΠΊΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΠ² Π½Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ:
>>> c = [[], [], []]
>>> hex(id(c[0])), hex(id(c[1])), hex(id(c[2]))
('0x104ede7e8', '0x104ede7a0', '0x104ede908')
>>>
>>> hex(id(f[0])), hex(id(f[1])), hex(id(f[2]))
('0x104ede710', '0x104ede710', '0x104ede710')
>>>
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΏΠΈΡΠΊΠΈ ΡΠ°Π·Π½ΡΠ΅, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΡΡΠ»Π°Π΅ΠΌΡΡ Π½Π° ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ. ΠΠ· ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΠΏΠΎΠ²Π»Π΅ΡΠ΅Ρ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΡ , ΡΠ°ΠΊ ΡΡΠΎ Π±ΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ.
ΠΡΠΎΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΡΡ Π½Π° Ρ Π°Π±ΡΠ΅, Π½ΠΎ ΠΌΠ½Π΅ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΎΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΡΠ°ΡΡΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° lambda β ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ³ΠΎΠ½ΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΊΠ» for, ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π² ΡΠ»ΠΎΠ²Π°ΡΡ:
>>> tmp = {}
>>> for i in range(10):
... tmp[i] = lambda: i
>>> tmp[0]()
9
>>> tmp[1]()
9
>>>
Π ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ lambda ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ i Π·Π°ΠΌΡΠΊΠ°Π΅ΡΡΡ ΠΈ ΠΊΠ°ΠΊ Π±Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ i Π² Π±Π»ΠΎΠΊΠ΅ lambda β ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠΎΠΉ Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i Π² ΡΠΈΠΊΠ»Π΅ for. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅ΡΡΠΈΠΊ ΡΠΈΠΊΠ»Π° for ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΌΠ΅Π½ΡΡΡΡΡ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΎ Π²ΡΠ΅Ρ lambda ΡΡΠ½ΠΊΡΠΈΡΡ , ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ i-1 Π²ΠΎ Π²ΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡΡ . ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΡΠΎ Π»Π΅Π³ΠΊΠΎ, ΡΠ²Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π² lambda ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ i:
>>> tmp = {}
>>> for i in range(10):
... tmp[i] = lambda i = i: i
>>> tmp[0]()
0
>>> tmp[1]()
1
>>>
Π€ΡΠ½ΠΊΡΠΈΡ
python int () — qaru ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ
Π Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°
- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
.
Python int ()
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° int ()
:
int (x = 0, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ = 10)
int () ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
int ()
ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
- x — Π§ΠΈΡΠ»ΠΎ ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ — Π½ΠΎΠ»Ρ
. - base — ΠΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΠ»Π° x .
ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ 0 (Π±ΡΠΊΠ²Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄) ΠΈΠ»ΠΈ 2-36.
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· int ()
int ()
ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ:
- ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π±Π°Π·Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΊΠ°ΠΊ 10
- (Π±Π΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²) Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ 0
- (Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅) ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΡΠΎΠΊΡ Ρ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (0, 2, 8, 10, 16)
ΠΡΠΈΠΌΠ΅Ρ 1. ΠΠ°ΠΊ int () ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Python?
# ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
print ("int (123) is:", int (123))
# float
print ("int (123.23) ΡΡΠΎ: ", int (123.23))
# ΡΡΡΠΎΠΊΠ°
print ("int ('123') is:", int ('123'))
ΠΡΡ
ΠΎΠ΄
int (123): 123
int (123.23): 123
int ('123'): 123
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΠ°ΠΊ int () ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π»Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΡΡ
, Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΡ
ΠΈ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ
ΡΠΈΡΠ΅Π»?
# Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ 0b ΠΈΠ»ΠΈ 0B
print ("ΠΠ»Ρ 1010 int ΡΠ°Π²Π½ΠΎ:", int ('1010', 2))
print ("ΠΠ»Ρ 0b1010 int ΡΠ°Π²Π½ΠΎ:", int ('0b1010', 2))
# Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΉ 0o ΠΈΠ»ΠΈ 0O
print ("ΠΠ»Ρ 12 int ΡΠ°Π²Π½ΠΎ:", int ('12 ', 8))
print ("ΠΠ»Ρ 0o12 int ΡΠ°Π²Π½ΠΎ:", int ('0o12', 8))
# ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΉ
print ("ΠΠ»Ρ A int ΡΠ°Π²Π½ΠΎ:", int ('A', 16))
print ("ΠΠ»Ρ 0xA int ΡΠ°Π²Π½ΠΎ:", int ('0xA', 16))
ΠΡΡ
ΠΎΠ΄
ΠΠ»Ρ 1010 int: 10
ΠΠ»Ρ 0b1010 int: 10
ΠΠ»Ρ 12 int ΡΠ°Π²Π½ΠΎ: 10
ΠΠ»Ρ 0o12 int: 10
ΠΠ»Ρ A int ΡΠ°Π²Π½ΠΎ: 10
ΠΠ»Ρ 0xA int: 10
ΠΡΠΈΠΌΠ΅Ρ 3: int () Π΄Π»Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΡΡ
ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ²
ΠΠ½ΡΡΡΠ΅Π½Π½Π΅ ΠΌΠ΅ΡΠΎΠ΄ int ()
Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° __int __ ()
.
ΠΡΠ°ΠΊ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΡΠ»ΠΎΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π² ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ² ΠΌΠ΅ΡΠΎΠ΄Ρ __index __ ()
ΠΈ __int __ ()
ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ ΡΠΈΡΠ»ΠΎ.
ΠΡΠΈ Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΎ ΠΆΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ __int __ ()
, Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __index __ ()
.
ΠΊΠ»Π°ΡΡ Π§Π΅Π»ΠΎΠ²Π΅ΠΊ:
Π²ΠΎΠ·ΡΠ°ΡΡ = 23
def __index __ (ΡΠ°ΠΌ):
Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π±Ρ.Π²ΠΎΠ·ΡΠ°ΡΡ
def __int __ (ΡΠ°ΠΌ):
Π²Π΅ΡΠ½ΡΡΡ self.age
person = Π§Π΅Π»ΠΎΠ²Π΅ΠΊ ()
print ('int (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ) is:', int (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ))
ΠΡΡ
ΠΎΠ΄
int (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ): 23
.
HOWTO ΠΏΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ — Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Python 2.7.18
- ΠΠ²ΡΠΎΡ
ΠΡΡΠ»ΠΈΠ½Π³ Π.Π.
- ΠΡΠΏΡΡΠΊ
0,31
Π ΡΡΠΎΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΌΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Python, ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π΄Π»Ρ
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
itertools
ΠΈ functools
.
ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ; Π΅ΡΠ»ΠΈ Π²Ρ
ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ
ΡΠ·ΡΠΊΠ° Python, ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ
ΡΠ°Π·Π΄Π΅Π».
Π―Π·ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π΄Π΅ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠΈΡ Π·Π°Π΄Π°Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ : ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΈ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. C,
ΠΠ°ΡΠΊΠ°Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Unix — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠ° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ, ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ
Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. SQL — ΡΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ
ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π½Π°ΠΊΠΎΠΌ Ρ; SQL-Π·Π°ΠΏΡΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ SQL ΡΠ΅ΡΠ°Π΅Ρ, ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ,
ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Ρ. Π΄.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈΠΌΠ΅ΡΡ
Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²
ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Smalltalk ΠΈ Java — ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ. C ++ ΠΈ Python
ΡΠ·ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π ΠΈΠ΄Π΅Π°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠΉ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.Π₯ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ML (Standard ML, OCaml ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
Π²Π°ΡΠΈΠ°Π½ΡΡ) ΠΈ Haskell.
Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ
ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ
ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅
u
.Π€ΡΠ½ΠΊΡΠΈΡ Python
Π² ΡΡΠ½ΠΊΡΠΈΠΈ — qaru
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
- ΠΠΊΠΎΠ»ΠΎ
ΠΡΠΎΠ΄ΡΠΊΡΡ
- ΠΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ
Π Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°
- Π ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ
ΠΠ°Π³ΡΡΠ·ΠΊΠ°β¦
- ΠΠ²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°ΡΡΡΡ
Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²ΠΎ
.
ΠΡΠΎΠ΄ΡΠΊΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ
Π Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°
int ()
: int ()
ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:ΠΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ —
Π½ΠΎΠ»Ρ
.ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ 0 (Π±ΡΠΊΠ²Π°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄) ΠΈΠ»ΠΈ 2-36.
int ()
ΠΌΠ΅ΡΠΎΠ΄ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ: # ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ
print ("int (123) is:", int (123))
# float
print ("int (123.23) ΡΡΠΎ: ", int (123.23))
# ΡΡΡΠΎΠΊΠ°
print ("int ('123') is:", int ('123'))
# Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ 0b ΠΈΠ»ΠΈ 0B
print ("ΠΠ»Ρ 1010 int ΡΠ°Π²Π½ΠΎ:", int ('1010', 2))
print ("ΠΠ»Ρ 0b1010 int ΡΠ°Π²Π½ΠΎ:", int ('0b1010', 2))
# Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΉ 0o ΠΈΠ»ΠΈ 0O
print ("ΠΠ»Ρ 12 int ΡΠ°Π²Π½ΠΎ:", int ('12 ', 8))
print ("ΠΠ»Ρ 0o12 int ΡΠ°Π²Π½ΠΎ:", int ('0o12', 8))
# ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΉ
print ("ΠΠ»Ρ A int ΡΠ°Π²Π½ΠΎ:", int ('A', 16))
print ("ΠΠ»Ρ 0xA int ΡΠ°Π²Π½ΠΎ:", int ('0xA', 16))
int ()
Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° __int __ ()
. __index __ ()
ΠΈ __int __ ()
ΠΊΠ»Π°ΡΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π»ΠΈ ΡΠΈΡΠ»ΠΎ. __int __ ()
, Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ __index __ ()
. ΠΊΠ»Π°ΡΡ Π§Π΅Π»ΠΎΠ²Π΅ΠΊ:
Π²ΠΎΠ·ΡΠ°ΡΡ = 23
def __index __ (ΡΠ°ΠΌ):
Π²Π΅ΡΠ½ΡΡΡ ΡΠ΅Π±Ρ.Π²ΠΎΠ·ΡΠ°ΡΡ
def __int __ (ΡΠ°ΠΌ):
Π²Π΅ΡΠ½ΡΡΡ self.age
person = Π§Π΅Π»ΠΎΠ²Π΅ΠΊ ()
print ('int (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ) is:', int (ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ))
ΠΡΡΠ»ΠΈΠ½Π³ Π.Π.
0,31
ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΈΠ»Π΅. ΠΠΎΡΠ»Π΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° Ρ
ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ·ΡΠΊΠ°, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
itertools
ΠΈ functools
.ΠΏΡΠΎΡΡΠΎ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ·Π½Π°ΡΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ ΡΠ·ΡΠΊΠ° Python, ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΊ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ
ΡΠ°Π·Π΄Π΅Π».
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΠ·ΡΠΊΠΎΠ² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ : ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ — ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΈ
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡ, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ Ρ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. C,
ΠΠ°ΡΠΊΠ°Π»Ρ ΠΈ Π΄Π°ΠΆΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Unix — ΡΡΠΎ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ.
ΠΠ° Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ
ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ, ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ·ΡΠΊΠ° Π²ΡΡΡΠ½ΡΠ΅Ρ, ΠΊΠ°ΠΊ
Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ. SQL — ΡΡΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ·ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ
ΡΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π·Π½Π°ΠΊΠΎΠΌ Ρ; SQL-Π·Π°ΠΏΡΠΎΡ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΡΠΆΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ, ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌ SQL ΡΠ΅ΡΠ°Π΅Ρ, ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ Π»ΠΈ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ,
ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ΄ΠΏΡΠ½ΠΊΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΈ Ρ. Π΄.
ΠΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².ΠΠ±ΡΠ΅ΠΊΡΡ ΠΈΠΌΠ΅ΡΡ
Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²
ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. Smalltalk ΠΈ Java — ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ. C ++ ΠΈ Python
ΡΠ·ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ Π·Π°ΡΡΠ°Π²Π»ΡΡΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΠΎ-ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π±ΠΈΠ²Π°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π½Π° Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π ΠΈΠ΄Π΅Π°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ Π²ΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Π»ΠΈΡΠ΅Ρ Π½Π° Π²ΡΠ²ΠΎΠ΄, ΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½Π½ΡΠΉ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.Π₯ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ
ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΌΠ΅ΠΉΡΡΠ²ΠΎ ML (Standard ML, OCaml ΠΈ Π΄ΡΡΠ³ΠΈΠ΅
Π²Π°ΡΠΈΠ°Π½ΡΡ) ΠΈ Haskell.
ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠΎ ΡΠ°ΡΡΠΎ Π·Π°ΡΡΡΠ΄Π½ΡΠ΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅
u
ΠΡΠΎΠ΄ΡΠΊΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ°
ΠΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΈ ΠΎΡΠ²Π΅ΡΡ
ΠΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄
ΠΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈ Π΄Π΅Π»ΡΡΡΡ ΡΠ°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°Π½ΠΈΡΠΌΠΈ Ρ ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌΠΈ
ΠΠ°ΠΊΠ°Π½ΡΠΈΠΈ
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠ°ΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠ°
Π’Π°Π»Π°Π½Ρ
ΠΠ°Π½ΠΈΠΌΠ°ΠΉΡΠ΅ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠ² ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ²ΠΎΠΉ Π±ΡΠ΅Π½Π΄ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ
Π Π΅ΠΊΠ»Π°ΠΌΠ°
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΠΈ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³Π°ΠΌ ΡΠΎ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ°
Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ