ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Python — ΠΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π±Π»ΠΎΠ³ Π²Π΅Π± ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ β ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΈΡ
Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ. Π ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΎΠ½ΠΈ Π»Π΅Π½ΠΈΠ²Ρ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π·Π°ΠΏΡΠΎΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΎΠ½ΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ Π½Π°Π±ΠΎΡΠ°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
Π€ΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠ°ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ, Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ yield Π²ΠΌΠ΅ΡΡΠΎ return, ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΡ, ΡΡΠΎ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ:
def countdown(num): print('Starting') while num > 0: yield num num -= 1
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ yield ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Ρ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ.
Π§ΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ?
>>> def countdown(num): ... print('Starting') ... while num > 0: ... yield num ... num -= 1 ... >>> val = countdown(5) >>> val <generator object countdown at 0x10213aee8>
ΠΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅. ΠΡ Π·Π½Π°Π΅ΠΌ ΡΡΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΡΠΎΠΊΠ° Starting Π½Π΅ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ.
ΠΠ±ΡΠ΅ΠΊΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ next():
>>> next(val) Starting 5
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ next() Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π° ΡΠ΅Π»Π° ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅ΡΡΡ Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° yield, Π³Π΄Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΏΡΠ°Π²Π° ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°, ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΡΠ·ΠΎΠ²Ρ
>>> next(val) 4 >>> next(val) 3 >>> next(val) 2 >>> next(val) 1 >>> next(val) Traceback (most recent call last): File "<stdin>", line 1, in <module> StopIteration
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ (Generator Expressions)
ΠΠ°ΠΊ ΠΈ ΡΠΏΠΈΡΠΊΠΈ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, Π° Π½Π΅ ΡΠΏΠΈΡΠΎΠΊ:
>>> my_list = ['a', 'b', 'c', 'd'] >>> gen_obj = (x for x in my_list) >>> for val in gen_obj: ... print(val) ... a b c d
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΏΠΎ ΠΎΠ±Π΅ΠΈΠΌ ΡΡΠΎΡΠΎΠ½Π°ΠΌ Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ, Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ°, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π»Π΅Π½ΠΈΠ²ΠΎ (ΡΠΎ Π΅ΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ°):
>>> import sys >>> g = (i * 2 for i in range(10000) if i % 3 == 0 or i % 5 == 0) >>> print(sys.getsizeof(g)) 72 >>> l = [i * 2 for i in range(10000) if i % 3 == 0 or i % 5 == 0] >>> print(sys.getsizeof(l)) 38216
ΠΡΠ΄ΡΡΠ΅ Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½Ρ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠ΅ΡΠ΅ΠΏΡΡΠ°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ° Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° β
>>> import cProfile >>> cProfile.run('sum((i * 2 for i in range(10000000) if i % 3 == 0 or i % 5 == 0))') 4666672 function calls in 3.531 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 4666668 2.936 0.000 2.936 0.000 <string>:1(<genexpr>) 1 0.001 0.001 3.529 3.529 <string>:1(<module>) 1 0.002 0.002 3.531 3.531 {built-in method exec} 1 0.592 0.592 3.528 3.528 {built-in method sum} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects} >>> cProfile.run('sum([i * 2 for i in range(10000000) if i % 3 == 0 or i % 5 == 0])') 5 function calls in 3.054 seconds Ordered by: standard name ncalls tottime percall cumtime percall filename:lineno(function) 1 2.725 2.725 2.725 2.725 <string>:1(<listcomp>) 1 0.078 0.078 3.054 3.054 <string>:1(<module>) 1 0.000 0.000 3.054 3.054 {built-in method exec} 1 0.251 0.251 0.251 0.251 {built-in method sum} 1 0.000 0.000 0.000 0.000 {method 'disable' of '_lsprof.Profiler' objects}
ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΠΌΠ΅ΠΉΡΠ΅ Π² Π²ΠΈΠ΄Ρ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΠΌΠ΅Ρ Π²Π°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ.
Π‘Π»ΡΡΠ°ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π²ΡΠ΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π·, Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΠΎΠΌΡ ΠΊΠΎΠ΄Ρ ΠΏΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ.
ΠΡΠΈΠΌΠ΅Ρ 1
def emit_lines(pattern=None): lines = [] for dir_path, dir_names, file_names in os.walk('test/'): for file_name in file_names: if file_name.endswith('.py'): for line in open(os.path.join(dir_path, file_name)): if pattern in line: lines.append(line) return lines
ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. ΠΠ½Π° ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ.
ΠΡΠΎ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΌΡ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ Ρ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ? Π ΡΡΠΎ, Π΅ΡΠ»ΠΈ ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ? Π ΡΡΠ°ΡΡΡΡ, ΡΡΠ½ΠΊΡΠΈΡ Python open() Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΈ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΌΡΡΡ. ΠΠΎ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π°Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π²ΡΡΠ°Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΏΠ°ΠΌΡΡΡ Π½Π° Π½Π°ΡΠ΅ΠΉ ΠΌΠ°ΡΠΈΠ½Π΅?
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΌΠ΅ΡΡΠ° (ΠΏΡΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠΏΠΈΡΠΊΠ°Ρ ) ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΠΏΠΎΡΡΠΈ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΌ ΠΏΠΎΡΠΎΠΊΠ° Π΄Π°Π½Π½ΡΡ ) ΠΏΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΡΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ΠΈ Π²ΡΠ΄Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π·Π° ΡΠ°Π· (Π²ΠΌΠ΅ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ ΡΠΏΠΈΡΠΊΠΎΠ²).
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π²Π΅ΡΡΠΈΡ Π²ΡΡΠ΅ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΈ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ½ΡΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠ² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Π΅ΡΡ Π½Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π° ΡΡΠΈ ΡΠ°Π·Π½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°:
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ²
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ ΠΈΠ· Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²
- Π€ΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Ρ ΠΎΠ±ΡΠ°Π·ΡΠΎΠΌ
def generate_filenames(): """ generates a sequence of opened files matching a specific extension """ for dir_path, dir_names, file_names in os.walk('test/'): for file_name in file_names: if file_name.endswith('.py'): yield open(os.path.join(dir_path, file_name)) def cat_files(files): """ takes in an iterable of filenames """ for fname in files: for line in fname: yield line def grep_files(lines, pattern=None): """ takes in an iterable of lines """ for line in lines: if pattern in line: yield line py_files = generate_filenames() py_file = cat_files(py_files) lines = grep_files(py_file, 'python') for line in lines: print (line)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΌΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠΎΠΊ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π°Π΅Ρ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π·Π° ΡΠ°Π·.
ΠΡΠΈΠΌΠ΅Ρ 2
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΡΡΠΈΠ½Π³Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ:
import requests import re def get_pages(link): links_to_visit = [] links_to_visit.append(link) while links_to_visit: current_link = links_to_visit.pop(0) page = requests.get(current_link) for url in re.findall('<a href="([^"]+)">', str(page.content)): if url[0] == '/': url = current_link + url[1:] pattern = re.compile('https?') if pattern.match(url): links_to_visit.append(url) yield current_link webpage = get_pages('http://sample.com') for result in webpage: print(result)
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π° ΡΠ°Π·, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠ΅-ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠ°ΠΊ Π±Ρ ΡΡΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ Π±Π΅Π· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°? ΠΠΈΠ±ΠΎ Π²ΡΠ±ΠΎΡΠΊΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈ ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΡΡΠΎΠΊΠΎΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ΄Π½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ), Π»ΠΈΠ±ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π΄Π΅Π»Π°Ρ Π½Π°ΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌΠΈ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ Π΄Π»Ρ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΠ°ΠΊΡΠΎΡΠΈΠ½Π³Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠ· ΡΠΈΠΊΠ»ΠΎΠ², ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΠΈΡΡΠΎΠΌΡ, ΡΠ°Π·ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠΌΡ ΠΊΠΎΠ΄Ρ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ Generator Tricks for Systems Programmers ΠΈ Iterator Chains as Pythonic Data Processing Pipelines.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ: Β Real PythonΒ Introduction to Python Generators
ΠΡΠ»Π° Π»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ»Π΅Π·Π½Π° ΡΡΠ° ΡΡΠ°ΡΡΡ?
[5 / 4]ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈ ΡΠ΅ΠΌ ΠΎΠ½ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ°ΡΡΠΎΡΡ? ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΊΠ°ΠΊ ΡΠ°Π· ΠΎΠ± ΡΡΠΎΠΌ ΠΈ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ Π² Π½Π°ΡΠ΅ΠΉ ΡΡΠ°ΡΡΠ΅.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΅ ΡΠ°ΠΊ Π΄Π°Π²Π½ΠΎ Π½Π° ΠΌΠΎΠ΅ΠΌ ΡΡΠΎΠ»Π΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΡΠΎΡ ΡΡΠ΄ΠΎ-ΠΏΡΠΈΠ±ΠΎΡ. Π‘ΠΎΡΠ΅ΡΠ°Π½ΠΈΠ΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π° ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ.
ΠΡΠ°ΠΊ, ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ, ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΡΡΠ° Π±Π΅Π»Π°Ρ ΠΊΠΎΡΠΎΠ±ΠΎΡΠΊΠ° Ρ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ°ΠΌΠΈ ΠΈ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠ°Π±Π»ΠΎ? ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π½Π΅ΠΉ βFunction Generatorβ, ΡΠΎ Π΅ΡΡΡ, Π² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Ρ Π°Π½Π³Π». βΠ³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉβ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ? ΠΡΠΎ ΠΏΠΎ ΡΡΡΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π»ΡΠ±ΡΡ ΡΠΎΡΠΌΡ ΠΈ ΡΠ°ΡΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΈΠΌ Π·Π°Π΄Π°Π΄ΠΈΡΠ΅ (Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΏΡΠΈΠ±ΠΎΡΠ°).
ΠΠ½Π°Π΅ΡΠ΅ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΡΡ Π±Π°ΠΊΡΠΎΠ² ΡΡΠΎΠΈΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΡΠΈΠ±ΠΎΡΡΠΈΠΊ?)) ΠΠΎΡΡΠΎΠΌΡ, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π³ΡΠΎΠΌΠΊΠΎΠ΅ Π΄Π»Ρ Π½Π°ΡΠ΅Π³ΠΎ Π³Π΅ΡΠΎΡ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ Π΄Π΅Π»Π΅ ΠΎΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ ΠΏΡΠΎΡΡΠΎ ΠΊΡΡΡΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°ΡΡΠΎΡΡ. ΠΡ ΡΠ°Π· ΡΠΆ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π½Π° Π½Π΅ΠΌ, ΡΡΠΎ ΠΎΠ½ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΡΡΡ ΡΠ°ΠΊ ΠΎΠ½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ.
ΠΠΈΠ΄Ρ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²
ΠΠ»Ρ ΠΏΡΠΎΡΡΡΡ ΠΎΠ±ΡΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π»ΡΠ±ΠΈΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠΆΠ°ΡΠΈΡΡ ΠΊΠ°Π½ΠΈΡΠΎΠ»Ρ, ΡΠΈΠΏΠ° ΠΌΠ΅Π½Ρ ΠΈ Π²Π°Ρ, ΡΠ΅Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π·Π° +100500 Π±Π°ΠΊΡΠΎΠ² Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠ΅Π»Π΅ΡΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠΌ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ Π΄Π»Ρ Π½Π°Ρ Π±ΡΠ²Π°Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ΅Ρ Π²ΠΈΠ΄ΠΎΠ² ΡΠΈΠ³Π½Π°Π»ΠΎΠ²:
ΡΡΠΎ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΡΠΉ
ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ
ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π»
ΠΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π° Π²ΡΠ΅ ΡΠ»ΡΡΠ°ΠΈ ΠΆΠΈΠ·Π½ΠΈ. Π Π½Π°ΡΠΎΠ΄Π΅ ΠΈΡ Π½Π°Π·ΡΠ²Π°ΡΡ ΡΠΈΠ½ΡΡ, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ΄Π°ΡΡ Π½Π°Ρ Π³Π΅ΡΠΎΠΉ.
ΠΠ°ΠΊ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°Π΄Π°ΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ ΡΠΈΠ³Π½Π°Π»Π°, ΠΌΡ ΠΊΡΡΡΠΈΠΌ ΠΊΡΡΡΠΈΠ»ΠΊΡ βAMPLITUDEβ. ΠΠ΄Π΅ΡΡ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½Π°Ρ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ Π΅ΡΠ΅ Π½Π°Π·ΡΠ²Π°ΡΡ βΡΠ°Π·ΠΌΠ°Ρ ΡΠΈΠ³Π½Π°Π»Π°β ΠΈΠ»ΠΈ βΠ°ΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΠΎΡ ΠΏΠΈΠΊΠ° Π΄ΠΎ ΠΏΠΈΠΊΠ°β.
ΠΠ°Π²Π°ΠΉΡΠ΅ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΡΠΈΠ³Π½Π°Π» ΡΠ°Π·ΠΌΠ°Ρ ΠΎΠΌ Π² 10 Π ΠΈ ΡΠ°ΡΡΠΎΡΠΎΠΉ Π² 2 ΠΠΡ. ΠΠ»Ρ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ OWON SDS6062, ΠΏΠΎΡΡΠΎΠΌΡ Ρ Π±ΡΠ΄Ρ Π΄Π΅Π»Π°ΡΡ ΡΠΊΡΠΈΠ½Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ:
ΠΡΠ°ΠΊ, ΡΡΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅:
Π§ΡΠΎ ΠΈΠΌΠ΅Π΅ΠΌ Π½Π° ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠ΅:
ΠΠΈΡΡΡΠΊ)
ΠΠ΅Π½ΡΠ΅ΠΌ ΡΠΎΡΠΌΡ ΡΠΈΠ³Π½Π°Π»Π° Π½Π° ΠΏΠΈΠ»Ρ:
ΠΠΎΡΠΌΠ°Π»ΡΠ½Π°Ρ ΠΏΠΈΠ»Π°.
Π‘ΠΌΠΎΡΡΠΈΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΡΠΈΠ³Π½Π°Π»:
ΠΡΠ΅Π½Ρ Π΄Π°ΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ π
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ΅ΠΌΠΎΠ² ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ
ΠΠ° ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ±ΠΎΡΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΡΠΈ Π·Π°Π²Π΅ΡΠ½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²:
Π‘Π»Π΅Π²Π° Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ
ΠΠΎΠ΄ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΡΡΠ΅ΡΡΠΈΠΊΠΎΠΌ Π·Π΄Π΅ΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ Π²Π²ΠΈΠ΄Ρ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠ³Π½Π°Π» Ρ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ°ΡΡΠΎΡΡ Π»ΠΈΠ±ΠΎ ΡΡ Π΅ΠΌΡ. ΠΠΎΠ΄Π°Π²Π°Ρ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ³Π½Π°Π» Π½Π° ΡΠ°Π·ΡΠ΅ΠΌ Π½Π°ΡΠ΅Π³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΌΡ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ°ΡΡΠΎΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π²ΠΏΠ»ΠΎΡΡ Π΄ΠΎ 10 ΠΠ΅Π³Π°Π³Π΅ΡΡ. Π’ΠΎ Π΅ΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠΎΠ»Ρ ΡΠ°ΡΡΠΎΡΠΎΠΌΠ΅ΡΠ°.
ΠΠ°ΠΊ Π²Ρ ΡΠΆΠ΅ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ, Π½Π° Π»ΠΈΡΠ΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅ΡΡΡΡ Π΅ΡΠ΅ ΡΡΠΈ ΡΠ°Π·ΡΠ΅ΠΌΠ°, ΠΊΡΠΎΠΌΠ΅Β ΡΠ°Π·ΡΠ΅ΠΌΠ° Π΄Π»Ρ ΡΡΠ΅ΡΠ° ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ²:
VCF β Voltage Controlled Frequency. ΠΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΠ£Π. Π Π°ΡΡΠΈΡΡΠΎΠ²ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ Π£ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ ΠΠ°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π‘Π°ΠΌΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΡ ΡΠ°ΡΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»Π° Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΠΎΠ΄Π°Π²Π°Ρ Π½Π° ΡΡΠΎΡ ΡΠ°Π·ΡΠ΅ΠΌ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅. Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΌΡ ΠΏΠΎΠ΄Π°Π΅ΠΌ, ΡΠ°ΠΊΠ°Ρ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΎΡΠ° π ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄Π°Π²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΊΠΎΠΉ ΡΠ°Π·ΡΠ΅ΠΌ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡΒ ΡΠΈΠ³Π½Π°Π» Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΠΎΠΉ.
TTL OUT.Β Π’Π’Π β Π’ΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½ΠΎ-Π’ΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½Π°Ρ-ΠΠΎΠ³ΠΈΠΊΠ°. OUT β Π²ΡΡ ΠΎΠ΄. ΠΡΠΎΡ Π²ΡΡ ΠΎΠ΄ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌ, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π½Π° ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½ΠΎ-ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠ΅. Π’ΠΎ Π΅ΡΡΡ ΡΡΠΎ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΡΡΠ°Π²Π΅ ΠΈΠΌΠ΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π±ΠΈΠΏΠΎΠ»ΡΡΠ½ΡΠ΅ ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΡ ΠΈ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ. Π’Π°ΠΊΠΈΠ΅ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ Π΄Π΅Π»Π°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π½Π° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ +5 Π.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½ΠΎΠ»Ρ β ΡΡΠΎ ΡΡΠΎΠ²Π΅Π½Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΎΡ 0 ΠΈ Π΄ΠΎ +0,5 Π. Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π΅Π΄ΠΈΠ½ΠΈΡΠΊΠΈ ΠΎΡ 2,4 ΠΈ Π΄ΠΎ +5 Π. ΠΠΎΡΡΠΎΠΌΡ, Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π° ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΈΠ³Π½Π°Π» Ρ ΡΠ΅ΡΠ΅Π΄ΡΡΡΠΈΠΌΠΈΡΡ Π½ΡΠ»ΡΠΌΠΈ ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡΠ°ΠΌΠΈ: 0101010101β¦ Π§Π°ΡΡΠΎΡΡ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π²ΡΠ±ΠΎΡΠ° Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°.
OUTPUT. ΠΡΡ ΠΎΠ΄ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΠΌΠ΅Π½Π½ΠΎ Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ΅ΠΌΠ° ΠΌΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ Π½Π°ΠΌ ΡΠΈΠ³Π½Π°Π» Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ.
Π’Π°ΠΊΠΆΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΠ· ΡΠ΅Π±Ρ ΡΡΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ:
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΎ βattentionβ, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ βΠ²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅β. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ°ΠΌ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ βattenuatorβ. ΠΡΡΠ΅Π½ΡΠ°ΡΠΎΡ β ΡΠ»ΠΎΠ²ΠΎ Π½Π΅ Π½Π°ΡΠ΅, ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠ°ΠΊ βΠΎΡΠ»Π°Π±ΠΈΡΡ, ΡΠΌΡΠ³ΡΠΈΡΡβ. ΠΠΈΠ΄Π°ΡΡ, ΠΊΠΈΡΠ°ΠΉΡΡ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊΠ΅ Ρ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠ³ΠΎ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈ βΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π°β Π½Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΡΠΎΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π° Ρ ΠΊΠΎΡΡΠΊΠ°ΠΌΠΈ ))
ΠΡΠ°ΠΊ, ΡΡΠΎ Π·Π° ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ -20dB ΠΈ -40dB? dB β ΡΡΠΎ Π΄Π΅ΡΠΈΠ±Π΅Π»Ρ (ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡΠ΄Ρ Π½Π°Π΄ΠΎ Π½Π°ΠΊΠ°ΡΡΠ±Π°ΡΡ ΠΏΡΠΎ Π½ΠΈΡ ΡΡΠ°ΡΡΡ). Π ΠΏΠΎΠΊΠ° Π²ΠΎΡ Π²Π°ΠΌ ΡΡΡΠ»ΠΎΡΠΊΠ° Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡ. Π― Π·Π° Π²Π°Ρ ΡΠΆΠ΅ Π²ΡΠ΅ ΠΏΠΎΡΡΠΈΡΠ°Π». -20dB ΡΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ»Π°Π±ΠΈΡΡ Π²ΡΠ΄Π°Π²Π°Π΅ΠΌΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠΈΠ³Π½Π°Π» Π² 10 ΡΠ°Π·. -40dB β Π² 100 ΡΠ°Π·. Π Π΅ΡΠ»ΠΈ Π½Π°ΠΆΠΌΠ΅ΠΌ ΡΡΠ°Π·Ρ Π½Π° 2 ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠΈ ΡΠ°Π·ΠΎΠΌ, ΡΠΎ Ρ Π½Π°Ρ Π² ΡΡΠΌΠΌΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ -60dB. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠ»Π°Π±ΠΈΡΡ ΡΠΈΠ³Π½Π°Π» Π² 1000 ΡΠ°Π·.
ΠΠΎΠ²ΡΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΠ΅ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΎΡΠΊΠ° -10dB, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ»Π°Π±Π»ΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π» Π² 3 ΡΠ°Π·Π° Ρ ΠΊΠΎΠΏΠ΅ΠΉΠΊΠ°ΠΌΠΈ.
Π ΠΎΡΡΠ°Π»ΠΈΡΡ Ρ Π½Π°Ρ Π½Π° ΡΠ°Π·Π±ΠΎΡΠ΅ Π΅ΡΠ΅ ΠΏΠ°ΡΠ° ΠΊΡΡΡΠΈΠ»ΠΎΠΊ Ρ ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ
ΠΠ½ΠΎΠΏΠΎΡΠΊΠΈ ΠΏΠΎΠ΄ Π½ΠΈΠΌΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΠΊΡΡΡΠΈΠ»ΠΊΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ.
R/P β Rump/Pulse β Π£ΠΊΠ»ΠΎΠ½/ΠΠΌΠΏΡΠ»ΡΡ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΡΡΠΎΠΊ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΡΡ Ρ ΡΠΎΡΠΌΠΎΠΉ ΡΠΈΠ³Π½Π°Π»Π°, Π·Π°Π΄Π°Π²Π°Ρ ΡΠΊΠ»ΠΎΠ½. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ ΠΈ ΠΏΠΈΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ:
ΠΡΠ°ΠΉΠ½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ
ΠΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ
ΠΡΡΡΠ½ΡΠ» ΡΡΡΡ-ΡΡΡΡ:
ΠΡΠ°ΠΉΠ½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ
ΠΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ
ΠΡΡΡΠ°Π½ΡΠ» ΡΡΡΠΎΠΊ:
Π£ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡΡ ΡΠΈΡΠΈΠ½Ρ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ², ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΠΌΠ΅Π½ΡΡ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΡ ΡΠΈΠ³Π½Π°Π»Π°, Π° ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
ΠΡΠ°ΠΉΠ½Π΅Π΅ Π»Π΅Π²ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ
ΠΡΠ°ΠΉΠ½Π΅Π΅ ΠΏΡΠ°Π²ΠΎΠ΅.
ΠΡΡΡΠΈΠ»ΠΊΠ° DC LEVEL. Direct Current Level. Π ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π΅ Ρ Π°Π½Π³Π». ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ°. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΡΠΈΠ³Π½Π°Π» ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ, ΡΠΎ Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, βΠΏΠΎΠ΄Π½ΡΡΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΡΡΠΈΡΡ ΡΠΈΠ³Π½Π°Π» Π½Π°Π΄ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΌΠΎΡΡβ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ΠΌ Π·Π΅ΠΌΠ»ΠΈ. Π ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, Π·Π΅ΠΌΠ»Ρ Ρ Π½Π°Ρ Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΠΎΠΌ 0 Π.
ΠΡΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΡΠΈΡΡΠ½ΠΊΠΎΠΌ, ΡΠΎ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΊ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π΅ ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅, Π° Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ β ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠ±Π°Π²Π»ΡΡ ΠΈΠ»ΠΈ ΡΠ±Π°Π²Π»ΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ DC LEVEL:
ΠΡΠΈΠ±Π°Π²ΠΈΠ» ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΊ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΠΎΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ:
Π Π·Π΄Π΅ΡΡ Ρ ΡΠΌΠ΅ΡΠ°Π» ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ:
Π ΡΡΠΈΡ ΡΠ»ΡΡΠ°Ρ Π³Π»Π°Π²Π½ΠΎΠ΅ Π½Π΅ Π·Π°Π±ΡΡΡ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°ΡΠ° βΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ°β, ΠΈΠ½Π°ΡΠ΅ Ρ Π²Π°Ρ ΡΠΈΠ³Π½Π°Π» Π½Π΅ ΡΠ΄Π²ΠΈΠ½Π΅ΡΡΡ.
ΠΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΠ, Π·Π°Π΄Π°Π² 5 Π ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠΈΠ»ΠΊΠΈ DC, Ρ ΠΎΡΡ, ΠΊΠ°ΠΊ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π», ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠ΅ΠΏΠΈΡΡ ΠΠΒ ΠΊ Π²ΡΡ ΠΎΠ΄Ρ βTTL OUTβ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ Π² ΡΠΎΠ»ΠΈ ΡΠ°ΡΡΠΎΡΠΎΠΌΠ΅ΡΠ°
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΡΠΈΡΠ°Π΅Ρ ΡΠ°ΡΡΠΎΡΡ. ΠΠΎΠ΄Π°Ρ Π½Π° Π½Π΅Π³ΠΎ ΡΠ°ΡΡΠΎΡΡ Π² 15 ΠΠΈΠ»ΠΎΠ³Π΅ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΈΡΠ°ΠΉΡΠΊΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. Π‘ΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ Π½Π°ΡΡΠΈΡΠ°Π» Π½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ (Π½Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΏΡΠ°Π²Π° Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°ΠΉΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅):
Π ΠΎΠ²Π½ΠΎ 15 ΠΠΡ.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π²ΡΠ΄Π°Π΅Ρ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ ΡΠ°ΡΡΠΎΡΡ Π² 2,49 ΠΠΡ ΠΈ ΡΠ°Π·ΠΌΠ°Ρ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π² 22,2 Π. Π ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅, Π΄Π»Ρ ΠΌΠ΅Π½Ρ ΡΡΠΎΠ³ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, ΠΊΠ°ΠΊ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½ΡΠΈΠΊΠ°. ΠΠΎΡ ΠΊ Π½Π΅ΠΌΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ Π½Π° ΡΡΡΡΠΊΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ»Π°Π³Π°Ρ ΡΠΊΡΠΈΠ½ΡΠΎΡ Π΅Π³ΠΎ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π», Π²Π·ΡΠ» Ρ Π΅Π³ΠΎ Π½Π° ΠΠ»ΠΈΠΊΠ΅ Π² Π΄Π΅Π½Ρ ΡΠ°ΡΠΏΡΠΎΠ΄Π°ΠΆΠΈ 11 Π½ΠΎΡΠ±ΡΡ ΠΈ ΠΎΠ½ ΠΌΠ½Π΅ ΠΎΠ±ΠΎΡΠ΅Π»ΡΡ Π² 8700 Π΄Π΅ΡΠ΅Π²ΡΠ½Π½ΡΡ , ΠΏΡΠΈ ΡΠ΅Π½Π΅ ΡΠΈΠΏΠ° Π² 9600, Π½ΠΎ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ Π΄Π΅ΡΠ΅Π²Π»Π΅ Π½Π΅ Π½Π°ΡΠ΅Π». ΠΠ»ΡΠ½ΡΡΡ Π½Π° ΠΠ»ΠΈΠΊΠ΅ ΡΡΠΎΡ ΠΏΡΠΈΠ±ΠΎΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ΅Π½Ρ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.Β
ΠΠ΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΈΠ±ΠΎΡ?Β Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄Π°ΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠΈΠ³Π½Π°Π» ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅. ΠΡΠΎ ΡΡΠΈΠ»ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π°ΡΠ΄ΠΈΠΎΡΠ΅Ρ Π½ΠΈΠΊΠ°, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΈΠ»ΡΡΡΡ, ΡΠ΅Π·ΠΎΠ½Π°Π½ΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΠ° ΠΈ ΡΠ΄.
Π Π²ΠΎΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊ ΡΡΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΎΡ Π§ΠΈΠΏΠ°ΠΠΈΠΏΠ°
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π°Π·Π²Π°Π½ ΡΠ°ΠΊ Π½Π΅ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ²ΠΎΡ ΡΡΠ½ΠΊΡΠΈΡ (Ρ ΠΎΡΡ Π΅ΡΠ»ΠΈ ΠΎΠ½ ΡΠΎΠ±ΡΠ°Π½ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ, ΡΠ°ΠΊ ΠΎΠ½ΠΎ ΠΈ Π±ΡΠ΄Π΅Ρ), Π° ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ ΠΎΠ½ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π»Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎ ΡΠΎΡΠΌΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅, ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΡΠ΅. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» Π°Π²ΡΠΎΡ Instructables ΠΏΠΎΠ΄ Π½ΠΈΠΊΠΎΠΌ The_Technocrat, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² Π·Π²ΡΠΊΠΎΠ²ΠΎΠΌ ΠΈ ΡΠ»ΡΡΡΠ°Π·Π²ΡΠΊΠΎΠ²ΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ . ΠΠ½ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΡΡΡΠΎΠΉΡΡΠ² Π½Π° Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΠ°Ρ , Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Π΅ΠΉ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ. Π‘Π°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ — ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ Π² Π½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠΈΠΏΠ° IC8038:
ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ°Π·Π±ΠΈΡ Π½Π° ΡΠ΅ΡΡΡΠ΅ ΠΏΠΎΠ΄Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°, ΡΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠΎΠ². ΠΠ° ΡΡΡΡ
Π²ΡΡ
ΠΎΠ΄Π°Ρ
ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ° Ρ ΠΎΠ±Π²ΡΠ·ΠΊΠΎΠΉ Π²ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠ°Π·Ρ ΡΡΠΈ ΡΠΈΠ³Π½Π°Π»Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΎΡΠΌ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π°ΡΡ Π½Π° ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π½Π° ΡΠΎΠΉ ΠΆΠ΅ ΠΏΠ»Π°ΡΠ΅ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ (LF351N). Π§Π΅ΡΠ²ΡΡΡΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π½ΠΈΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ
ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² ΡΠ΅ΡΠ΅Π· Π΄ΠΈΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠ»Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΏΠΎΠ»ΡΠ²ΠΎΠ»Π½Π° — ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ² Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΠΌΠΈΠΊΡΠΎΡΡ
Π΅ΠΌΠ°ΠΌΠΈ.
ΠΡΠ±ΡΠ°Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ DIP-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ Π΄Π»Ρ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ Π½Π΅ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½Ρ: Π΅ΡΠ»ΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π²ΡΡ ΠΎΠ΄Π°, ΠΎΠ½ΠΈ ΠΎΠΊΠ°ΠΆΡΡΡΡ Π·Π°ΠΌΠΊΠ½ΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°, Π° ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π²ΡΡ ΠΎΠ΄Ρ, ΡΡΠΎΠ²Π½ΠΈ Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ, Π½Π΅Π»ΡΠ·Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ·Π²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅Π² ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ. ΠΡΡΡΠ΅ Π²Π·ΡΡΡ Π³Π°Π»Π΅ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»ΠΈ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ ΡΠ»ΡΠΆΠ°Ρ Π΄Π»Ρ ΠΏΠ»Π°Π²Π½ΡΡ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΎΠΊ: R1 — ΡΠ°ΡΡΠΎΡΡ, R2 — ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ² (ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠΌ Π΅Π³ΠΎ Π½Π°Π΄ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π² ΡΡΠ΅Π΄Π½Π΅Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅), R5 — Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ. ΠΠΎΠ΄ΡΡΡΠΎΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ R3 ΠΈ R4 ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° ΠΏΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ.
Π Π°Π±ΠΎΡΡ Π½Π°Π΄ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΠΌΠ°ΡΡΠ΅Ρ Π½Π°ΡΠΈΠ½Π°Π΅Ρ Ρ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅ΠΆΠ° ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΏΠ»Π°ΡΡ. ΠΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π²ΠΎΡ ΡΡΠΎ:
ΠΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ ΠΏΠ»Π°ΡΡ Π½Π΅ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΡ (ΠΎΠ½Π° Π½ΡΠΆΠ½Π°, ΡΠΊΠΎΡΠ΅Π΅, Π΄Π»Ρ ΡΠΏΡΠ°Π²ΠΊΠΈ ΠΏΠΎ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°ΠΊΠ°Π·Π°Π»ΠΈ ΠΏΠ»Π°ΡΡ Π±Π΅Π· ΡΠ΅Π»ΠΊΠΎΠ³ΡΠ°ΡΠΈΠΈ), ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΆΠ΅Π»Π°ΡΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ The_Technocrat Π²ΡΠ»ΠΎΠΆΠΈΠ» Gerber-ΡΠ°ΠΉΠ»Ρ. ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΡ ΠΏΠ΅ΡΠ°ΡΠ½ΡΡ ΠΏΠ»Π°ΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΠ£Π’ΠΎΠΌ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π½Π° ΠΌΠ°ΠΊΠ΅ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΠ΅. ΠΡΡ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠ΅Π½ΠΈΠΉ. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ»ΡΡΠΈΠ» Π²ΠΎΡ ΡΡΠΎ:
ΠΠ° ΠΏΠ»Π°ΡΡ ΠΌΠ°ΡΡΠ΅Ρ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ΅ Π½Π° ΡΠ΅Π»ΠΊΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ΅ Π²ΡΡΠ΅. ΠΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ, Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΈΡ ΠΏΠ΅ΡΠ΅Π³ΡΠ΅Π²Π°, Π»ΡΡΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ². ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π° Π²ΡΡ ΠΎΠ΄ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΎΠ½ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ, Π° Π½Π° Π²Ρ ΠΎΠ΄ — Π΄Π²ΡΠΏΠΎΠ»ΡΡΠ½ΡΠΉ 12-Π²ΠΎΠ»ΡΡΠΎΠ²ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ. ΠΡΠ±ΡΠ°Π² ΠΊΠ°ΠΊΡΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΡΡΠΎΡΡ ΠΈΠ»ΠΈ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ, ΠΎΠ½ ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π²ΡΠ±ΠΈΡΠ°Π΅Ρ ΡΠ΅ΠΆΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π·ΠΈΡΡΠΎΡΡ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΡ Π½Π΅ ΡΡΠΎΠ³Π°ΡΡ. ΠΡΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠΎΡ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΠΈ Π² ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π½ΠΎ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΡΠΎ, Π½Π° ΡΠΊΡΠ°Π½Π΅ — Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°:
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠΎΠ² R3 ΠΈ R4 ΠΎΠ½ Π΄ΠΎΠ±ΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½ΠΎ Ρ Π΅ΠΌΡ ΠΏΠΎΡΠ΅ΠΌΡ-ΡΠΎ Π²Π΅ΡΡ. ΠΠ° ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ — ΠΌΠ΅Π°Π½Π΄Ρ:
ΠΠ°ΡΡΠ΅Ρ Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΡΡ ΡΠ΅Π·ΠΈΡΡΠΎΡΠ° R2 ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π²ΠΌΠ΅ΡΡΠΎ ΠΌΠ΅Π°Π½Π΄ΡΠ° ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΉ ΡΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΠΈ:
ΠΡΡΠ°Π»ΠΎΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ²:
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π½Π° ΡΡΠ°Π½Π·ΠΈΡΡΠΎΡΡ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Π² ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ ΡΠ΅ΠΏΠ»ΠΎΠΎΡΠ²ΠΎΠ΄ΠΎΠ², Π½Π΅Π»ΡΠ·Ρ ΠΏΠΎΠ΄Π°Π²Π°ΡΡ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
Π΄ΡΡΠ³ΠΈΡ
ΡΠΎΡΠΌ, ΠΊΡΠΎΠΌΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ. Π‘ΠΊΠ²Π°ΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ΅Π½ΡΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π¨ΠΠ.
Π£Π±Π΅Π΄ΠΈΠ²ΡΠΈΡΡ, ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, The_Technocrat ΠΈΠ·Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Π΄Π²ΡΠΏΠΎΠ»ΡΡΠ½ΡΠΉ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΠ (ΡΡ Π΅ΠΌΡ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π°, ΡΠ°ΠΌ 7812 ΠΈ 7912 ΠΈ Π²ΡΡ Π΄ΠΎ Π±ΠΎΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ):
Π‘ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ:
ΠΠ°ΡΠ΅ΠΌ Π±Π΅ΡΡΡ ΠΊΡΡΠΎΠΊ ΠΎΡΠ³ΡΡΠ΅ΠΊΠ»Π° ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½Π° Π½Π΅Π³ΠΎ ΠΏΠ»Π°ΡΡ ΠΠ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π²ΡΠ΅Π³Π΄Π° Π±ΡΠ»ΠΈ Π²ΠΌΠ΅ΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΏΡΠ³Π°ΠΈ-Π½Π΅ΡΠ°Π·Π»ΡΡΠ½ΠΈΠΊΠΈ:
ΠΡΠ»ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, ΠΌΠ°ΡΡΠ΅Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΡΠ°ΡΡΡ Π²ΠΈΠ½ΠΎΠ²Π°ΡΠ°: Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈΠ»ΠΈ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ. Π‘Π°ΠΌ ΠΎΠ½ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΎΡ Π²ΡΡ ΠΎΠ΄Π°: ΡΠΌΠΎΡΡΠΈΠΌ, Π΅ΡΡΡ Π»ΠΈ ΡΠΈΠ³Π½Π°Π» Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ Π½Π΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΠΊ Π²ΡΡ ΠΎΠ΄Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΈΠ»ΠΈ ΠΊ Π²Ρ ΠΎΠ΄Ρ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ, ΡΡΠΎ ΠΎΠ΄Π½ΠΎ ΠΈ ΡΠΎ ΠΆΠ΅. ΠΠ΅Ρ ΡΠΈΠ³Π½Π°Π»Π° ΠΈ ΡΠ°ΠΌ — Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ. ΠΡΡΡ — ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ: ΠΎΡΡΠΈΠ»Π»ΠΎΠ³ΡΠ°Ρ ΠΈΠ»ΠΈ Π½Π°ΡΡΠ½ΠΈΠΊΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π½Π° Π²ΡΡ ΠΎΠ΄Π΅, Π° ΡΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Ρ Π²Ρ ΠΎΠ΄ΠΎΠΌ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ ΠΊΠ°ΡΠ°Π΅ΠΌΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π½Π°Π²ΠΎΠ΄ΠΊΡ. ΠΡΠ»ΠΈ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ»Π° ΡΠΈΡΠΈΠ½Π°, Π° ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠΎΠ½, Π΄Π΅Π»ΠΎ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅. ΠΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΎΡΡ — Π² ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅. ΠΠ±ΠΎΠΈΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΠΊΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΠ΅ΠΏΠΎΡΠΊΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ-ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ-ΡΠ΅Π·ΠΈΡΡΠΎΡ-ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ. ΠΠ΅ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠ·Π»Π° (ΠΈ ΠΈΡΠΏΡΠ°Π²Π½ΠΎΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΈΠΊΡΠΎΡΡ Π΅ΠΌΡ) Π½Π°Π΄ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ ΠΠΎΡΡΠ°Π²ΠΊΠ° Π½ΠΎΠ²ΡΡ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΎΠΊ Π½Π° ΠΏΠΎΡΡΡ
ΠΠΎΠ»ΡΡΠ°ΠΉΡΠ΅ Π½Π° ΠΏΠΎΡΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ Π½ΠΎΠ²ΡΡ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΎΠΊ. ΠΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΏΠ°ΠΌΠ°, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΈΠ΄Π΅ΠΈ!
*ΠΠ°ΠΏΠΎΠ»Π½ΡΡ ΡΠΎΡΠΌΡ Π²Ρ ΡΠΎΠ³Π»Π°ΡΠ°Π΅ΡΠ΅ΡΡ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ
Π‘ΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ΡΡ Π°Π²ΡΠΎΡΠΎΠΌ ΡΠ°ΠΉΡΠ°, ΠΏΡΠ±Π»ΠΈΠΊΡΠΉΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΡΠ°ΡΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ΄Π΅Π»ΠΎΠΊ Ρ ΠΎΠΏΠ»Π°ΡΠΎΠΉ Π·Π° ΡΠ΅ΠΊΡΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π·Π΄Π΅ΡΡ.ΠΡΠΎ Python — Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ — Generator (Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ)
Π€ΡΠ½ΠΊΡΠΈΡ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΏΠΎΠ΄Π²ΠΈΠ΄ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
Π‘Π»ΠΎΠ²ΠΎΠΌ Β«Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΒ» ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ (ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ), Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΠ°Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° ΡΠ»ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°. Π ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π΅ΠΏΠΎΠ½ΡΡΠ΅Π½ Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π½ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Ρ: ΡΡΠ½ΠΊΡΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠ΅ΡΠ°ΡΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° β ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ.ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΡΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ Π½Π° ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠΎ Π² ΡΠ»ΡΡΠ°Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Ρ __iter__() ΠΈ __next__() ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅ΡΡΡ StopIteration, Π΄Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΎΡΠ΅ ΠΈ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, ΡΠ΅ΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠΎ ΠΆΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠΎΠ².
ΠΡΠ³Π»ΡΠ΄ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±ΡΡΠ½ΡΠ΅, Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²ΠΎΠΌ
yield
Π΄Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΡΠΈΠΊΠ»Π°Ρ
for in, Π»ΠΈΠ±ΠΎ ΠΈΡ
ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ next().ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ yield
ΡΠ°Π±ΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π½Π° ΡΠ΅ΠΊΡΡΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ, Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΡΠ΅ΠΊ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° (ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π°Ρ
Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ²) ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ ΡΠ²ΠΎΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ ΠΌΠ΅ΡΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°. ΠΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΡΠΎΡΡΡ
ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠΊΠΈΠΉ ΡΠ°Π· Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π½Π°ΡΠ°Π»Π°.
ΠΡΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ return
, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΡΠ° (Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ), Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ StopIteration ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ.
def my_animal_generator():yield 'ΠΊΠΎΡΠΎΠ²Π°'
for animal in ['ΠΊΠΎΡ', 'ΡΠΎΠ±Π°ΠΊΠ°', 'ΠΌΠ΅Π΄Π²Π΅Π΄Ρ']:
yield animal
yield 'ΠΊΠΈΡ'
for animal in my_animal_generator():
print(animal)
# ΠΊΠΎΡΠΎΠ²Π° ΠΊΠΎΡ ΡΠΎΠ±Π°ΠΊΠ° ΠΌΠ΅Π΄Π²Π΅Π΄Ρ ΠΊΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΠΈ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π²Π΅ΡΡΠΌΠ° ΠΏΠΎΡ ΠΎΠΆΠΈ Π½Π° ΡΠΎΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ: ΠΌΠΎΠ³ΡΡ Π²ΡΠ΄ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΠΈΠΌΠ΅ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π²Ρ ΠΎΠ΄Π°, ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ. ΠΠ΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π½Π΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ (ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ) ΠΏΠΎΡΠ»Π΅ Π²ΡΠ΄Π°ΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ β ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠΎΠ΄Ρ, Π²ΡΠ·Π²Π°Π²ΡΠ΅ΠΌΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΠ½ΡΡΡΡΠΊΡΠΈΡ
yield
ΠΌΠΎΠΆΠ΅Ρ ΡΠΏΠΎΡΡΠ΅Π±Π»ΡΡΡΡΡ ΠΈ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try except. ΠΡΠ»ΠΈ ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π½Π΅ ΠΎΠ±ΡΠ°ΡΠΈΠ»ΠΈΡΡ Π΄ΠΎ Π΅Π³ΠΎ ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ (ΡΠΈΠ½Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΡΡΠΈΠΊ ΡΡΡΠ»ΠΎΠΊ Π΄ΠΎΡ
ΠΎΠ΄ΠΈΡ Π΄ΠΎ Π½ΡΠ»Ρ, Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠ±ΠΎΡΠΊΠ° ΠΌΡΡΠΎΡΠ°), Π±ΡΠ΄Π΅Ρ Π²ΡΠ·Π²Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° .close()
, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΡΠ°Π²ΡΠΈΠ΅ΡΡ Π² Π±Π»ΠΎΠΊΠ΅ finally
ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.Π Π²Π΅ΡΡΠΈΠΈ +py2.2, Π±ΡΠ»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΈΠΌΠΏΠΎΡΡΠ° from __future__ import generators
.
Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°: Generator (Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ), yield, yeild, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ — Function generator
ΠΡΠΎΡΡΠΎΠΉ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΎΠΊΠΎΠ»ΠΎ 1990 DDS Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉΠ€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ , ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ , ΡΠ°ΡΡΡ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π² ΡΠΈΡΠΎΠΊΠΎΠΌ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΡΠ°ΡΡΠΎΡ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΡΠΎΡΠΌ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² , ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΠΌΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°, ΠΌΠ΅Π°Π½Π΄Ρ, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ Π²ΠΎΠ»Π½Ρ ΠΈ ΠΏΠΈΠ»ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΡΠΎΡΠΌΡ. ΠΡΠΈ ΡΠΈΠ³Π½Π°Π»Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΡΠΉ (ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π½ΡΡΡΠ΅Π½Π½Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π·Π°ΠΏΡΡΠΊΠ°). ΠΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΡ ΡΠΈΠ³Π½Π°Π»Π° ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΊΠ°ΠΊ ΠΠ‘ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Ρ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΡΡ Π²ΠΎΠ»Π½, ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ ΡΠΈΠ³Π½Π°Π»Ρ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΈΠ»ΠΎΠΎΠ±ΡΠ°Π·Π½ΡΠ΅ ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ, ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ Π²ΠΎΠ»Π½Ρ, ΠΈ ΠΈΠΌΠΏΡΠ»ΡΡΡ. ΠΡΠ΅ ΠΎΠ΄Π½Π° ΡΡΠ½ΠΊΡΠΈΡ, Π²ΠΊΠ»ΡΡΠ΅Π½Π½Π°Ρ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ° ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
Π₯ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π°ΡΠ΄ΠΈΠΎ ΠΈ ΠΠ§ ΡΠ°ΡΡΠΎΡ, ΠΎΠ½ΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ , Π½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠ΅Π±ΡΡΡΠΈΡ Π½ΠΈΠ·ΠΊΠΎΠ΅ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ ΡΠ°ΡΡΠΎΡΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΈ ΡΠ΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡ, Π΄ΡΡΠ³ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² Π±ΡΠ΄ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΌΠΈ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·ΠΎΠ²ΠΎΠΉ Π°Π²ΡΠΎΠΏΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠΈ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΡΠΈΠ³Π½Π°Π»Π° (ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ) ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΈΡΠΏΡΡΠ°Π½ΠΈΠΈ ΠΈ ΡΠ΅ΠΌΠΎΠ½ΡΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»Π° Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ ΡΠΈΠ³Π½Π°Π» ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΊΠΎΠ½ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΠΌΠΈ ΡΡ Π΅ΠΌΠ°ΠΌΠΈ , ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΠΈΠΌΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΠΎΠ²ΡΠΌΠΈ ΡΡ Π΅ΠΌΠ°ΠΌΠΈ .
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ
ΠΠ° ΡΠ°Π±ΠΎΡΠΎΠΉ
ΠΡΠΎΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±ΡΡΠ½ΠΎ Π³Π΅Π½Π΅ΡΠΈΡΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΡΠΎΡΠΌΡ Π²ΠΎΠ»Π½Ρ, ΡΠ°ΡΡΠΎΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠ»Π°Π²Π½ΠΎ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π° ΡΡΠ°ΠΏΠ°Ρ . ΠΡΠ° ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½Π°Ρ Π²ΠΎΠ»Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΎΡΠ½ΠΎΠ²Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠ²ΠΎΠΈΡ Π²ΡΡ ΠΎΠ΄ΠΎΠ². Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½Π°Ρ Π²ΠΎΠ»Π½Π° Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π·Π°ΡΡΠ΄ΠΊΠ° ΠΈ ΡΠ°Π·ΡΡΠ΄ΠΊΠΈ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠ° ΠΎΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠΎΠΊΠ° . ΠΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ Π²ΠΎΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌΡ ΠΈ Π½ΠΈΡΡ ΠΎΠ΄ΡΡΠ΅ΠΌΡ Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΠΈΠ³Π°Π΅Ρ Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΠΏΡΠ΅Π΄Π΅Π», Π·Π°ΡΡΠ΄ΠΊΠ° ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠ΄ΠΊΠ° Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠ° , ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Ρ Π»ΠΈΠ½Π΅ΠΉΠ½ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ Π²ΠΎΠ»Π½Ρ. ΠΡΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠΊΠ° ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠ°, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ. Sawtooth Π²ΠΎΠ»Π½Ρ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΏΡΡΠ΅ΠΌ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°ΡΡΠ΄Π° ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠΊ, Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΈΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΡΠΎΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΡΠ΄Π° Π±ΡΡΡΡΠΎ — ΠΏΠΎΠ»ΡΡΠ½ΠΎΡΡΡ Π΄ΠΈΠΎΠ΄Π° ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ½ΠΎΡΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅Π³ΠΎ ΠΏΠΈΠ»ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ, Ρ.Π΅. ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡΠΉ ΡΠΎΡΡ ΠΈ Π±ΡΡΡΡΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅, ΠΈΠ»ΠΈ Π±ΡΡΡΡΡΠΉ ΡΠΎΡΡ ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅.
50% ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΠΈΠΊΠ» ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠ΅ Π²ΠΎΠ»Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ, Π·Π°ΠΌΠ΅ΡΠΈΠ² Π»ΠΈ ΠΊΠΎΠ½Π΄Π΅Π½ΡΠ°ΡΠΎΡ Π·Π°ΡΡΠΆΠ°Π΅ΡΡΡ ΠΈΠ»ΠΈ ΡΠ°Π·ΡΡΠΆΠ°Π΅ΡΡΡ, ΡΡΠΎ Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΠΎΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΠΊ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠ°. ΠΡΡΠ³ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠΈΠ΅ ΡΠΈΠΊΠ»Ρ (ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΡ 0% Π΄ΠΎ 100%) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠ°ΡΠ°ΡΠΎΡΠ° ΠΈ ΠΏΠΈΠ»ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ ΠΈΠ»ΠΈ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΡΠΉ Π΄ΠΈΠΎΠ΄ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΡ Π²ΠΎΠ»Π½Ρ Π² Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠΎΡΠ½ΡΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Ρ ΠΏΡΡΠ΅ΠΌ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠ³Π»ΠΎΠ² ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ Π²ΠΎΠ»Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π°ΡΠ΄ΠΈΠΎΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°ΡΡΠΎΡΡ Π΄ΠΎ 20 ΠΠΡ. RF Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΡ ΡΠ°ΡΡΠΎΡ Π½Π΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π² ΡΡΡΠΎΠ³ΠΎΠΌ ΡΠΌΡΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΡΡΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ.
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΡΠΈΠ³Π½Π°Π»ΠΎΠ² , ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π°ΡΡΠ΅Π½ΡΠ°ΡΠΎΡ , ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°, ΠΈ ΡΠ°ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Β«ΡΠ°Π·Π²Π΅ΡΡΠΊΠ°Β» ΡΠ°ΡΡΠΎΡΠ° Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° (Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ) ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ Π΄Π΅Π»Π°Π΅Ρ Π΅Π³ΠΎ ΠΎΡΠ΅Π½Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠ΅Π½ΠΈΡΡ ΡΠ°ΡΡΠΎΡΠ½ΡΡ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΡ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ .
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π±Π΅Π»ΡΠΉ ΠΈΠ»ΠΈ ΡΠΎΠ·ΠΎΠ²ΡΠΉ ΡΡΠΌ .
ΠΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ (AWG). ΠΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΡΡΠΌΡΠ΅ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΠ½ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² (DDS) , ΡΡΠΎΠ±Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄.
Π₯Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ
Π’ΠΈΠΏΠΈΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΎΠ±ΡΠ΅Π³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ:
- ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΡΠΉ, ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠΉ, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΎΠΉ, ΠΏΠΈΠ»ΠΎΠΎΠ±ΡΠ°Π·Π½ΠΎΠΉ (ΡΠ°ΠΌΠΏΡ), ΠΈ ΠΈΠΌΠΏΡΠ»ΡΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄. ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ Π²ΠΎΠ»Π½Ρ Π»ΡΠ±ΠΎΠΉ ΡΠΎΡΠΌΡ.
- ΠΠ½ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΈΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Tektronix FG 502 (ΠΎΠΊΠΎΠ»ΠΎ 1974) ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ 0,1 ΠΡ Π΄ΠΎ 11 ΠΠΡ.
- Π‘ΡΠ°Π±ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠΎΡΡ 0,1 ΠΏΡΠΎΡΠ΅Π½ΡΠ° Π² ΡΠ°Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ»ΠΈ 500 ΡΠ°ΡΡΠ΅ΠΉ Π½Π° ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π° ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠΎΠ»ΠΎ 1% (ΡΠΎΡΠ½ΠΎΡΡΠΈ Π΄ΠΈΠΎΠ΄Π° ΡΠΎΡΠΌΠΈΡΡΡΡΠ΅ΠΉ ΡΠ΅ΡΠΈ) Π΄Π»Ρ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ². ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΠΎΡΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ -55 Π΄Π Π½ΠΈΠΆΠ΅ 50 ΠΊΠΡ ΠΈ ΠΌΠ΅Π½Π΅Π΅ ΡΠ΅ΠΌ -40 Π΄Π Π²ΡΡΠ΅ 50 ΠΊΠΡ.
- ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ°Π·ΠΎΠ²ΠΎΠΉ Π°Π²ΡΠΎΠΏΠΎΠ΄ΡΡΡΠΎΠΉΠΊΠΈ ΠΊ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ ΡΠΈΠ³Π½Π°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΎΡΡ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
- ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ (ΠΠ), ΡΠ°ΡΡΠΎΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ (Π§Π) ΠΈΠ»ΠΈ ΡΠ°Π·ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄ΡΠ»ΡΡΠΈΠΈ (PM), ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΎ.
- ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π° Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° Π΄ΠΎ 10 Π ΠΎΡ ΠΏΠΈΠΊΠ° Π΄ΠΎ ΠΏΠΈΠΊΠ° .
- ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ , Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π°ΡΡΠ΅Π½ΡΠ°ΡΠΎΡΠ° Ρ ΡΠ°Π³ΠΎΠΌ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ ΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠΎΠΉ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠΈΡ.
- ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ -5V Π΄ΠΎ + 5V.
- ΠΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠΌΠΏΠ΅Π΄Π°Π½Ρ 50 ΠΠΌ .
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
Π‘ΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΈΠ³Π½Π°Π»Π°, Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ Π²ΡΡ ΠΎΠ΄Π°. Π’Π°ΠΊ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅Π΅ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»Π°; Π΅ΡΠ»ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΠ°ΡΡΠΎΡ ΠΈ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈΠ΅ΠΌΠ»Π΅ΠΌΡΠΌΠΈ, ΡΠΎ Π·Π²ΡΠΊΠΎΠ²Π°Ρ ΠΊΠ°ΡΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π½Π° Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π²ΠΎΠ»Π½Ρ.
ΠΠ΅ΡΠ°ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ
Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ²
ΠΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠΎΡΠΌΡ ΡΠΈΠ³Π½Π°Π»Π° Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° , ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠ²ΡΠ·ΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ΅ΠΏΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΠΊΠ·Π°Ρ XR2206 ΠΈ Π² Intersil ICL8038 ΠΈΠ½ΡΠ΅Π³ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡ Π΅ΠΌΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ½ΡΡ, ΠΊΠ²Π°Π΄ΡΠ°Ρ, ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΡΠ°ΠΌΠΏΡ, ΠΈ ΠΈΠΌΠΏΡΠ»ΡΡΠ½ΡΠ΅ ΡΠΈΠ³Π½Π°Π»Ρ , ΠΏΡΠΈ ΡΠ°ΡΡΠΎΡΠ΅ Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΡ-ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠΉ .
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΡΠ° , ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ³Π½Π°Π» , ΠΏΡΠΎΠΏΠΎΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ (ΡΠ°ΠΊΠΈΠ΅ , ΠΊΠ°ΠΊ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΉ ΠΊΠΎΡΠ΅Π½Ρ) Π΅Π³ΠΎ Π²Ρ ΠΎΠ΄; ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π² Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½Π°Ρ . ΠΡΠΈΠΌΠ΅ΡΡ ΡΠ²Π»ΡΡΡΡΡ Raytheon ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ½ΡΡ ΡΡΡΠ±ΠΎΠΊ QK329 ΠΈ Π²Ρ ΠΎΠ΄ ΡΡΠΈΠ»ΠΈΡΠ΅Π»Ρ Intersil ICL8048 / Π°Π½ΡΠΈΠ»ΠΎΠ³Π°ΡΠΈΡΠΌΠ°.
ΠΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ ΡΠ²ΡΠ·ΡΠΌΠΈ , ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΡΠ»Π°ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΡΠΈΠΌΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΊΡΡΠ³Π»ΡΠΌΠΈ Π·ΡΠ±ΡΠ°ΡΡΠ΅ ΠΊΠΎΠ»Π΅ΡΠ° , ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΉ, Π»ΠΈΠ±ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ , ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΠΊΠΎΡΠΈΠ½ΡΡ) ΠΈΠ»ΠΈ ΠΎΠ΄Π½ΠΎΠΊΡΠ°ΡΠ½ΡΠΉ (Π»ΠΎΠ³Π°ΡΠΈΡΠΌ, ΠΏΠ°ΡΠ°Π±ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅, ΠΊΠ°ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ Ρ.Π΄.).
ΠΠ·ΠΌΠ΅ΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠ±ΠΎΡΡ , ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π°ΡΡΠΈΠΊΠΈ Π΄Π°Π²Π»Π΅Π½ΠΈΡ, Π²ΡΡΠΎΡΠΎΠΌΠ΅Ρ ΠΈ Π±Π°ΡΠΎΠΌΠ΅ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π² ΡΠ΅Π±Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠ²ΡΠ·ΠΈ ΡΠΈΠΏΠ° Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄ΡΡΠ²Π° Π»ΠΈΠ½Π΅Π°ΡΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΡΡΠΎΠ²ΡΡ Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½, ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π±ΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΡΡΡΠΎΠΈΡΠ΅Π»ΡΡΡΠ²Π΅ ΡΠΈΡΡΠ΅ΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ³Π½Π΅ΠΌ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠ°Π»ΡΠΊΡΠ»ΡΡΠΎΡΠΎΠ² .
Π§Π΅ΡΡΡΠ΅-Π±Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Log (ΠΈ) Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 1 <ΠΈ <10.
ΠΡΠ»ΠΈΡΠ½ΡΠΉ-ΡΠ»Π°ΠΉΠ΄Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈ Log (ΠΈ) Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ 1 <ΠΈ <10.
ΠΠΎΠ»Π·ΡΠ½ΠΎΠΊ-ΠΊΡΠ»ΠΈΡΠ½ΡΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΈ Tan (ΠΈ) ΠΏΡΠΈ 0 <ΠΈ <45 Β°.
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°ΡΠΈΠΈ
Π²Π½Π΅ΡΠ½ΡΡ ΡΡΡΠ»ΠΊΠ°
ΠΡΠ΅ ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΡ -Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ , Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ ΡΠΏΠΈΡΠΊΠΎΠ², ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² ΠΈ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ / Habr
ΠΠ°ΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΠΌΠΎΠ΅Π³ΠΎ ΡΠΈΠΊΠ»Π°, ΠΏΠΎΡΠ΅ΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ. ΠΠ°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½Π°Ρ, ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΡΡΠ°ΡΡΡΡ ΠΈ Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ .ΠΡΠ° ΡΡΠ°ΡΡΡ Π³Π»ΡΠ±ΠΆΠ΅ ΠΈ Π΄Π΅ΡΠ°Π»ΡΠ½Π΅ΠΉ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, Π½ΠΎ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΡΠ½ΡΠΌ Python-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ.
ΠΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ: Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠΏΠΈΡΠΊΠ°, ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ (5 Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²), ΡΠ°Π±ΠΎΡΠ° Ρ enumerate(), range().
Π ΡΠ°ΠΊΠΆΠ΅: ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»ΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ.
Π― ΠΏΠΎΡΡΠ°ΡΠ°Π»ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠΎΠ½ΠΊΠΎΡΡΠΈ ΠΈ Π½ΡΠ°Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡΡΡ Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΠΎ Π²ΡΠ΅Ρ ΠΊΠ½ΠΈΠ³Π°Ρ ΠΈ ΠΊΡΡΡΠ°Ρ , ΠΈ, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΎΡΡΡΡΡΡΠ²ΡΡΡ Π² ΡΠΆΠ΅ ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΡ Π½Π° Habrahabr ΡΡΠ°ΡΡΡΡ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ.
ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅:
1. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ.
2. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ.
3. ΠΠ½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π° for ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ.
4. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ.
5. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.
6. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ.
7. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ.
8. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ range().
9. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ.
10. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. Π‘ΡΡΠ»ΠΊΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅.
1. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈ ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ
1.1 Π§ΡΠΎ ΠΈ Π·Π°ΡΠ΅ΠΌ
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² Π΄ΡΡΠ³ΠΎΠΉ.
- Π ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ².
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΠ°Ρ Π°ΡΠΎΠΌ ΠΈ Π½Π΅ ΡΠ΅ΡΠ°ΡΡ Π·Π°Π΄Π°Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ»ΠΎ Π±Ρ ΡΠ΅ΡΠΈΡΡ Π±Π΅Π· ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
1.2 ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
- ΠΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ, ΡΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ Π² ΠΎΠ±ΡΡΠ½ΠΎΠΌ ΡΠΈΠΊΠ»Π΅.
- ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΠΈ ΡΠΈΡΠ°Π΅ΠΌΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π°Π½Π°Π»ΠΎΠ³ ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΉ map(), filter() ΠΈ lambda.
- Π ΡΠ΅Π»ΠΎΠΌ: Π±ΡΡΡΡΠ΅Π΅ Π½Π°Π±ΠΈΡΠ°ΡΡ, Π»Π΅Π³ΡΠ΅ ΡΠΈΡΠ°ΡΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎ Π² ΠΊΠΎΠ΄Π΅.
1.3 ΠΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ
Π‘ΡΠ°Π·Ρ ΡΠΊΠ°ΠΆΡ, ΡΡΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΡΠ°Π½ΠΈΡΠ° Π² ΡΡΡΡΠΊΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΡΠΎΠ³ΠΎ, ΠΎ ΡΠ΅ΠΌ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡ.
Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ:
- Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ (generator expression) β Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΄Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ.
- Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ β ΠΎΠ±ΠΎΠ±ΡΠ΅Π½Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠ° (list comprehension), Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠ²Π°ΡΡ (dictionary comprehension) ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (set comprehension).
Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΌΠ΅ΡΡΠ°Ρ , ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π°Π³ΡΠΎΠΌΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠ², Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΡΠΌΠΈΠ½ Β«Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΒ» Π±Π΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠΉ.
2. Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
ΠΠ°ΠΆΠ½ΠΎ: ΡΡΠΎΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ² ΠΈ Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΡΠ°Π·Π½ΠΈΡΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ, Π² ΠΊΠ°ΠΊΠΈΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ΅Π½ (ΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΈΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ).
ΠΠ±ΡΠΈΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ Π²Π°ΠΆΠ½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ:
- ΠΠ²ΠΎΠ΄ β ΡΡΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ β ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ β Π»ΡΠ±ΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π½Π΅ΠΌΡ.
- Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ β ΡΡΠΎ ΡΠΈΠ»ΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎΠΉΠ΄Π΅Ρ Π² ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, Π΅ΡΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π΅ΠΌΡ Π½Π΅ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ΅Ρ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΏΡΡΠ΅Π½.
- Π€ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ β ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
2.1 ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] # ΠΡΡΡΡ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ
list_b = [x for x in list_a] # Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ°
print(list_b) # [-2, -1, 0, 1, 2, 3, 4, 5]
print(list_a is list_b) # False - ΡΡΠΎ ΡΠ°Π·Π½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ!
ΠΠΎ ΡΡΡΠΈ, Π½ΠΈΡΠ΅Π³ΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΡΡ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»ΠΎ, ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ ΠΊΠΎΠΏΠΈΡ ΡΠΏΠΈΡΠΊΠ°. ΠΠ΅Π»Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅Π³ΠΎΠ½ΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ· ΡΠΈΠΏΠ° Π² ΡΠΈΠΏ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΎΡΠΎΠ±ΠΎΠ³ΠΎ ΡΠΌΡΡΠ»Π° Π½Π΅Ρ β ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ (ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π»ΠΈΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΡΠΈΠΊΠ»Π°).
ΠΠΎΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ (Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Π½ΠΎΠ²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ).
2.2 ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ
ΠΠ°ΠΆΠ½ΠΎ: Π£ΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π΅ΠΌΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ ΠΈΠ΄ΡΡ Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ.
ΠΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ β Π±ΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ.
# if x % 2 == 0 - ΠΎΡΡΠ°ΡΠΎΠΊ ΠΎΡ Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π° 2 ΡΠ°Π²Π΅Π½ Π½ΡΠ»Ρ - ΡΠΈΡΠ»ΠΎ ΡΠ΅ΡΠ½ΠΎΠ΅
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = [x for x in list_a if x % 2 == 0]
print(list_b) # [-2, 0, 2, 4]
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ»ΠΎΠ²ΠΈΠΉ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡ ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = [x for x in list_a if x % 2 == 0 and x > 0]
# Π±Π΅ΡΠ΅ΠΌ ΡΠ΅ x, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠ΅ΡΠ½ΡΠ΅ ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΡΠ»Ρ
print(list_b) # [2, 4]
2.3 ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ Π²ΡΡΠ°Π²Π»ΡΡΡ Π½Π΅ ΡΠ°ΠΌ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠΉ ΡΠΈΠ»ΡΡΡ, Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ Π½ΠΈΠΌ ΠΈΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ.
ΠΠ°ΠΆΠ½ΠΎ: ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»ΡΠ½ΠΎ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = [x**2 for x in list_a]
print(list_b) # [4, 1, 0, 1, 4, 9, 16, 25]
ΠΠ»ΠΈ ΠΏΠΎΡΡΠΈΡΠ°ΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΡΠΎΠΊ c ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ len()
list_a = ['a', 'abc', 'abcde']
list_b = [len(x) for x in list_a]
print(list_b) # [1, 3, 5]
2.4 ΠΠ΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ (Π½Π°ΡΠΈΠ½Π°Ρ Ρ Python 2.5) Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ if-else Π΄Π»Ρ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅:
- Π£ΡΠ»ΠΎΠ²ΠΈΡ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠΈΡΡΡΡΡ Π½Π΅ ΠΏΠΎΡΠ»Π΅, Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ.
- Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ if-else ΡΡΠΎ Π½Π΅ ΡΠΈΠ»ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠΎ Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΆΠ΅ ΠΏΡΠΎΡΠ»Π° ΡΠΈΠ»ΡΡΡ, Π½ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΡΠ»ΠΎΠ²ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π° ΠΏΠΎ-ΡΠ°Π·Π½ΠΎΠΌΡ!
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = [x if x < 0 else x**2 for x in list_a]
# ΠΡΠ»ΠΈ x-ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ - Π±Π΅ΡΠ΅ΠΌ x, Π² ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΡΠ»ΡΡΠ°ΡΡ
- Π±Π΅ΡΠ΅ΠΌ ΠΊΠ²Π°Π΄ΡΠ°Ρ x
print(list_b) # [-2, -1, 0, 1, 4, 9, 16, 25]
ΠΠΈΠΊΡΠΎ Π½Π΅ Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΡ ΠΈ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = [x**3 if x < 0 else x**2 for x in list_a if x % 2 == 0]
# Π²Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠ»ΡΡΡ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅Ρ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
# ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ
Π²ΠΎΠ·Π²ΠΎΠ΄ΠΈΡ Π² ΠΊΡΠ±, Π° Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ
print(list_b) # [-8, 0, 4, 16]
ΠΡΠΎΡ ΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π°
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_b = []
for x in list_a:
if x % 2 == 0:
if x < 0:
list_b.append(x ** 3)
else:
list_b.append(x ** 2)
print(list_b) # [-8, 0, 4, 16]
2.5 Π£Π»ΡΡΡΠ°Π΅ΠΌ ΡΠΈΡΠ°Π΅ΠΌΠΎΡΡΡ
ΠΠ΅ Π·Π°Π±ΡΠ²Π°Π΅ΠΌ, ΡΡΠΎ Π² Python ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΡΡΡΠΎΠΊ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ Π»Π΅Π³ΠΊΠΈΠΌ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ:
numbers = range(10)
# Before
squared_evens = [n ** 2 for n in numbers if n % 2 == 0]
# After
squared_evens = [
n ** 2
for n in numbers
if n % 2 == 0
]
3. ΠΠ½Π°Π»ΠΎΠ³ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π° for ΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΡΠ½ΠΊΡΠΈΠΉ
ΠΠ°ΠΊ ΡΠΆΠ΅ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ Π²ΡΡΠ΅, Π·Π°Π΄Π°ΡΠΈ ΡΠ΅ΡΠ°Π΅ΠΌΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ ΠΈ Π±Π΅Π· Π½ΠΈΡ . ΠΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ ΠΆΠ΅ Π·Π°Π΄Π°Ρ.
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°ΡΡ β ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΡΠΈΡΠ΅Π» ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΎΠ² ΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΠ΅Π» ΠΈ ΡΠ΅ΡΠΈΠΌ Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ΅Ρ ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ²:
3.1 Π Π΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠ°
numbers = range(10)
squared_evens = [n ** 2 for n in numbers if n % 2 == 0]
print(squared_evens) # [0, 4, 16, 36, 64]
3.2. Π Π΅ΡΠ΅Π½ΠΈΠ΅ c ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π° for
ΠΠ°ΠΆΠ½ΠΎ: ΠΠ°ΠΆΠ΄ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π° for, Π½ΠΎ Π½Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠΈΠΊΠ» for ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ.
numbers = range(10)
squared_evens = []
for n in numbers:
if n % 2 == 0:
squared_evens.append(n ** 2)
print(squared_evens) # [0, 4, 16, 36, 64]
Π ΡΠ΅Π»ΠΎΠΌ, Π΄Π»Ρ ΠΎΡΠ΅Π½Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ½ΡΡΠ½Π΅ΠΉ ΠΈ ΠΏΡΠΎΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ ΠΈ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠ΅. ΠΠ»Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΡΡ Π·Π°Π΄Π°Ρ, ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅ΠΉ ΠΈ Π»Π΅Π³ΡΠ΅ Π² ΡΡΠ΅Π½ΠΈΠΈ.
3.3. Π Π΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π°, Π·Π°ΠΌΠ΅ΡΡ, ΡΡΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ β ΡΡΠΎ ΡΠΎΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ.
ΠΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ΅Ρ ΠΆΠ΅ Π·Π°Π΄Π°Ρ, ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡ map(), lambda ΠΈ filter().
numbers = range(10)
squared_evens = map(lambda n: n ** 2, filter(lambda n: n % 2 == 0, numbers))
print(squared_evens) # <map object at 0x7f661e5dba20>
print(list(squared_evens)) # [0, 4, 16, 36, 64]
# ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π² Python 2 Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ squared_evens ΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΡΠΏΠΈΡΠΎΠΊ, Π° Π² Python 3 Β«map objectΒ», ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΠΌ Π² ΡΠΏΠΈΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ list()
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π±ΠΎΡΠΈΠΉ, ΡΠΈΡΠ°Π΅ΡΡΡ ΠΎΠ½ ΡΡΠΆΠ΅Π»ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ.
4. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ (generator expressions) Π΄ΠΎΡΡΡΠΏΠ½Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Python 2.4. ΠΡΠ½ΠΎΠ²Π½ΠΎΠ΅ ΠΈΡ ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠ½ΠΈ Π²ΡΠ΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎ-ΠΎΠ΄Π½ΠΎΠΌΡ, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ°Π·Ρ Π²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.
UPD: ΠΡΠ΅ ΡΠ°Π· ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ: Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π±ΠΎΠ»ΡΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΡΠΎ ΠΎΠ½Π° Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΡΡ Π² ΠΏΠ°ΠΌΡΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΡΡΠΎ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡ ΠΎΠ΄ ΠΏΠ°ΠΌΡΡΠΈ ΠΠ°ΡΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° Π² ΠΊΡΠ°ΠΉΠ½ΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΡΠΎ Π½Π΅ Ρ Π²Π°ΡΠΈΡΡ ΠΈ ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Β«ΡΠΏΠ°Π΄Π΅ΡΒ» Ρ MemoryError. Π ΡΠ»ΡΡΠ°Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΏΠΎ-ΠΎΠ΄Π½ΠΎΠΌΡ, Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
my_gen = (i for i in list_a) # Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ
print(next(my_gen)) # -2 - ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
print(next(my_gen)) # -1 - ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ²
- ΠΠ΅Π½Π°ΡΠ°ΡΠΎΡ Π½Π΅Π»ΡΠ·Ρ ΠΏΠΈΡΠ°ΡΡ Π±Π΅Π· ΡΠΊΠΎΠ±ΠΎΠΊ β ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
# my_gen = i for i in list_a # SyntaxError: invalid syntax
- ΠΡΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_sum = sum(i for i in list_a) # my_sum = sum((i for i in list_a)) # ΡΠ°ΠΊ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ print(my_sum) # 12
- ΠΠ΅Π»ΡΠ·Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π»ΠΈΠ½Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ len()
# my_len = len(i for i in list_a) # TypeError: object of type 'generator' has no len()
- ΠΠ΅Π»ΡΠ·Ρ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ print()
print(my_gen) # <generator object <genexpr> at 0x7f162db32af0>
- ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΎΠ½ΠΎ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΡΠΌ!
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_gen = (i for i in list_a) print(sum(my_gen)) # 12 print(sum(my_gen)) # 0
- ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΌ.
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Β«ΡΡΡΠ΅ΠΊΡΒ» Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ ΠΎΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΊΠ»Π°.import itertools inf_gen = (x for x in itertools.count()) # Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΎΡ 0 to Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΡΡΠΈ!
- Π Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΡ ΡΡΠ΅Π·Ρ!
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_gen = (i for i in list_a) my_gen_sliced = my_gen[1:3] # TypeError: 'generator' object is not subscriptable
- ΠΠ· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π½ΡΠΆΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ. ΠΡΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅.
5. ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ
5.1 Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΈΠ· Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ list(), tuple(), set(), frozenset()
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΎΠ½ΠΈ ΡΡΠ°Π½Π΅Ρ ΡΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΠ»Ρ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ! Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, ΠΎΠ½ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΠ΄-ΡΠ°Π·Π΄Π΅Π»Π΅.
- ΠΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Π³ΠΎΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΡΠ½ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_gen = (i for i in list_a) # Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ my_list = list(my_gen) print(my_list) # [-2, -1, 0, 1, 2, 3, 4, 5]
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΡΠ°Π·Ρ Π²Π½ΡΡΡΠΈ ΡΠΊΠΎΠ±ΠΎΠΊ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_list = list(i for i in list_a) print(my_list) # [-2, -1, 0, 1, 2, 3, 4, 5]
Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΆΠ°, ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°# ΠΊΠΎΡΡΠ΅ΠΆ my_tuple = tuple(i for i in list_a) print(my_tuple) # (-2, -1, 0, 1, 2, 3, 4, 5) # ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ my_set = set(i for i in list_a) print(my_set) # {0, 1, 2, 3, 4, 5, -1, -2} # Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ my_frozenset = frozenset(i for i in list_a) print(my_frozenset) # frozenset({0, 1, 2, 3, 4, 5, -1, -2})
5.2 Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ
Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΡΠ΄Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ-ΠΎΠ΄Π½ΠΎΠΌΡ, Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Ρ Π²ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΠΏΠ°ΠΌΡΡΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ°Π·Ρ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ.
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅, ΡΠ°ΠΊΠ°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π²ΡΠ΅ΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ Π΄Π»Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΈ ΡΠ»ΠΎΠ²Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, ΡΠ°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Ρ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ»ΡΡ: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ° (list comprehension)
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_list = [i for i in list_a] print(my_list) # [-2, -1, 0, 1, 2, 3, 4, 5]
ΠΠ΅ ΠΏΠΈΡΠΈΡΠ΅ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΡ !list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_list = [(i for i in list_a)] print(my_list) # [<generator object <genexpr> at 0x7fb81103bf68>]
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° (set comprehension)
list_a = [-2, -1, 0, 1, 2, 3, 4, 5] my_set= {i for i in list_a} print(my_set) # {0, 1, 2, 3, 4, 5, -1, -2} - ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»ΡΡΠ°Π΅Π½
- ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΠΎΠ²Π°ΡΡ (dictionary comprehension)
ΠΏΠ΅ΡΠ΅Π²ΠΎΡΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠ²Π°ΡΡdict_abc = {'a': 1, 'b': 2, 'c': 3, 'd': 3} dict_123 = {v: k for k, v in dict_abc.items()} print(dict_123) # {1: 'a', 2: 'b', 3: 'd'} # ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΌΡ ΠΏΠΎΡΠ΅ΡΡΠ»ΠΈ "Ρ"! Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ, # ΡΠΎ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡΠ°Π»ΠΈ ΠΊΠ»ΡΡΠ°ΠΌΠΈ, ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΠ»ΠΎΡΡ.
Π‘Π»ΠΎΠ²Π°ΡΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°:list_a = [-2, -1, 0, 1, 2, 3, 4, 5] dict_a = {x: x**2 for x in list_a} print(dict_a) # {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, -2: 4, -1: 1, 5: 25}
ΠΠ°ΠΆΠ½ΠΎ! Π’Π°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠ³ΡΡΠ½ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅Π»ΡΠ·Ρ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ (Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ longclaps Π·Π° ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ):# dict_gen = (x: x**2 for x in list_a) # SyntaxError: invalid syntax dict_gen = ((x, x ** 2) for x in list_a) # ΠΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°-Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠ»ΠΎΠ²Π°ΡΡ # dict_a = dict(x: x**2 for x in list_a) # SyntaxError: invalid syntax dict_a = dict((x, x ** 2) for x in list_a) # ΠΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΎΡ @longclaps
5.3 ΠΠ΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΡΡΠΎΠΊ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ .join(), ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ!
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
# ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΡΠΌΠΎ Π² .join() ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΊ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠΌΡ ΡΠΈΠΏΡ
my_str = ''.join(str(x) for x in list_a)
print(my_str) # -2-1012345
6. ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ°ΡΡΠΈΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π±ΠΎΡ
6.1 Π Π°Π±ΠΎΡΠ° Ρ enumerate()
ΠΠ½ΠΎΠ³Π΄Π° Π² ΡΡΠ»ΠΎΠ²ΠΈΡΡ Π·Π°Π΄Π°ΡΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΠΈ-ΡΠΈΠ»ΡΡΡΠ΅ Π½ΡΠΆΠ½Π° Π½Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°, Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡ, ΡΠΎ Π΅ΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΡΠΆΠ½ΠΎ Π±ΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
ΠΠ»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ enumerate(), Π·Π°Π΄Π°ΡΡΡΡ ΡΡΠ΅ΡΡΠΈΠΊ ΠΏΡΠΈ ΠΎΠ±Ρ ΠΎΠ΄Π΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ° Π² ΡΠΈΠΊΠ»Π΅:
for i, x in enumerate(iterable)
Π·Π΄Π΅ΡΡ x β ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ i β Π΅Π³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π½ΡΠ»ΡΠΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_d = [(i, x) for i, x in enumerate(list_a)]
print(list_d) # [(0, -2), (1, -1), (2, 0), (3, 1), (4, 2), (5, 3), (6, 4), (7, 5)]
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΡΠΈΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π·Π°Π΄Π°ΡΡ β Π²ΡΠ±Π΅ΡΠ΅ΠΌ Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΡΠΏΠΈΡΠΊΠ° ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅ΡΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ°:
list_a = [-2, -1, 0, 1, 2, 3, 4, 5]
list_e = [x for i, x in enumerate(list_a, 1) if i % 3 == 0]
print(list_e) # [0, 3]
ΠΠ°ΠΆΠ½ΡΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ enumerate():
- ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ enumerate():
- enumerate(iterator) Π±Π΅Π· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΡΠΈΡΠ°Π΅Ρ Ρ 0.
- enumerate(iterator, start) β Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΡΠΈΡΠ°ΡΡ Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ start. Π£Π΄ΠΎΠ±Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΡΠΈΡΠ°ΡΡ Ρ 1, Π° Π½Π΅ 0.
- enumerate() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΆ ΠΈΠ· ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎΡΡΠ΅ΠΆ Π² Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΈ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ:
- (i, j) for i, j in enumerate(iterator) β ΡΠΊΠΎΠ±ΠΊΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΏΠ°ΡΠ΅ Π½ΡΠΆΠ½Ρ!
- pair for pair in enumerate(mylist) β ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΡΡΠ°Π·Ρ Ρ ΠΏΠ°ΡΠΎΠΉ
- ΠΠ½Π΄Π΅ΠΊΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ
ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², Π±Π΅Π· ΡΡΠ΅ΡΠ° ΠΏΡΠΎΡΠ»ΠΈ ΠΎΠ½ΠΈ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ!
first_ten_even = [(i, x) for i, x in enumerate(range(10)) if x % 2 == 0] print(first_ten_even) # [(0, 0), (2, 2), (4, 4), (6, 6), (8, 8)]
- Π€ΡΠ½ΠΊΡΠΈΡ enumerate() Π½Π΅ ΠΎΠ±ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌ Π°ΡΡΠΈΠ±ΡΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π° ΠΏΡΠΎΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅Ρ ΡΡΠ΅ΡΡΠΈΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΠΌΠ΅ΡΠ°Π΅Ρ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅ΡΡΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΠΈ.
- ΠΡΠ»ΠΈ ΠΌΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΠΎ enumerate() ΡΡΠ΅ΡΡΠΈΠΊΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ if i < 10), ΡΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΡΡΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΡΡΡ-Π·Π°ΡΡΠ°ΡΠ½ΠΎ. Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π½ΠΈΠΆΠ΅ Π² ΠΏΠΎΠ΄-ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ΅ΡΠ΅Π±ΠΎΡ ΡΠ°ΡΡΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎΒ».
6.2 ΠΠ΅ΡΠ΅Π±ΠΎΡ ΡΠ°ΡΡΠΈ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ.
ΠΠ½ΠΎΠ³Π΄Π° Π±ΡΠ²Π°Π΅Ρ Π·Π°Π΄Π°ΡΠ° ΠΈΠ· ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ±ΠΎΡΠΊΡ ΠΏΠ΅ΡΠ²ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΡ ΡΡΠ»ΠΎΠ²ΠΈΡ.
ΠΡΠ»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΡΡΠ»ΠΎΠ²ΠΈΠ΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎ enumerate() ΠΈΠ½Π΄Π΅ΠΊΡΡ ΠΈΠ»ΠΈ ΡΡΠ΅Π· ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, ΡΠΎ Π½Π°ΠΌ Π² Π»ΡΠ±ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΡΠΎΠΉΡΠΈ Π²ΡΡ ΠΎΠ³ΡΠΎΠΌΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π° ΡΡΠΎ ΡΠΉΠΌΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ².
ΠΡΡ ΠΎΠ΄ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ islice() ΠΈΠ· ΠΏΠ°ΠΊΠ΅ΡΠ° itertools.
import itertools
first_ten = (itertools.islice((x for x in range(1000000000) if x % 2 == 0), 10))
print(list(first_ten)) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
ΠΠ»Ρ ΡΠΎΠΌΠ½Π΅Π²Π°ΡΡΠΈΡ ΡΡ: ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ
import time
import itertools
# ΠΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ Ρ ΠΌΠ°Π»ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
start_time = time.time()
first_ten = (itertools.islice((x for x in range(100) if x % 2 == 0), 10))
print(list(first_ten)) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
elapsed_time = time.time() - start_time
print(elapsed_time) # 3.409385681152344e-05
# ΠΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ²
start_time = time.time()
first_ten = (itertools.islice((x for x in range(100000000) if x % 2 == 0), 10))
print(list(first_ten)) # [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
elapsed_time = time.time() - start_time
print(elapsed_time) # 1.1205673217773438e-05
# Π’ΠΎ Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ΅ range() ΠΌΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ»ΠΈ Π½Π° 6 ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²,
# Π° Π²ΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΡΠ°Π»ΠΎΡΡ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΠΏΠΎΡΡΠ΄ΠΊΠ°
7. ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΡΠΈΠΊΠ»Ρ ΠΈΠ»ΠΈ ΡΠ°ΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΡΠ²Π»ΡΡΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ. Π’ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ², ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ ΠΈ ΡΡΠ΅ΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡΡΠ°Π½ΠΈΡΡ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡ ΠΏΠΎ-ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ, Π° ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΎΠ±ΡΡΡ ΡΡ Π΅ΠΌΡ.
7.1 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ°ΠΆΠ½ΠΎ! ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ°Π΅ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ Π²Π½ΡΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ for in Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΆΠ΅ (ΡΠ»Π΅Π²Π°-Π½Π°ΠΏΡΠ°Π²ΠΎ), ΠΊΠ°ΠΊ ΠΈ Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ Π±Π΅Π· Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, ΡΠΎΠ»ΡΠΊΠΎ Π½Π° ΡΠΈΠΊΠ»Π°Ρ (ΡΠ²Π΅ΡΡ Ρ-Π²Π½ΠΈΠ·)! Π’ΠΎΠΆΠ΅ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ ΠΈ ΠΏΡΠΈ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡΠ±ΠΎΠΊΠΈΡ ΡΡΠΎΠ²Π½ΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ.
7.1.1 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ for Π³Π΄Π΅ ΡΠΈΠΊΠ»Ρ ΠΈΠ΄ΡΡ ΠΏΠΎ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌ
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: [expression for x in iter1 for y in iter2]
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄Π²ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ»ΠΎΠ²Π°ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΡΡΠ΅ΠΆΠΈ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ ΠΊΠ°ΠΊ ΠΊΠ»ΡΡΠΈ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² Π΄Π»Ρ Π½Π°ΡΠ°Π»Π° Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΡΠ»ΡΠΌΠΈ.
rows = 1, 2, 3
cols = 'a', 'b'
my_dict = {(col, row): 0 for row in rows for col in cols}
print(my_dict) # {('a', 1): 0, ('b', 2): 0, ('b', 3): 0, ('b', 1): 0, ('a', 3): 0, ('a', 2): 0}
ΠΠ°Π»ΡΡΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π·Π°Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΡ
my_dict['b', 2] = 10 # Π·Π°Π΄Π°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ-ΠΊΠΎΡΡΠ΅ΠΆΡ
print(my_dict['b', 2]) # 10 - ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ½ΠΎΠΌΡ ΠΊΠ»ΡΡΡ-ΠΊΠΎΡΡΠ΅ΠΆΡ
Π’ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌΠΈ-ΡΠΈΠ»ΡΡΡΠ°ΠΌΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠΈΠΊΠ»Π΅:
rows = 1, 2, 3, -4, -5
cols = 'a', 'b', 'abc'
# ΠΠ»Ρ Π½Π°Π³Π»ΡΠ΄Π½ΠΎΡΡΠΈ ΡΠ°Π·Π½Π΅ΡΠ΅ΠΌ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ
my_dict = {
(col, row): 0 # ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΊΠ»ΡΡΠ°-ΠΊΠΎΡΡΠ΅ΠΆΠ° ΠΈ Π½ΡΠ»Π΅Π²ΠΎΠ³ΠΎ Π·Π½Π°Π΅ΡΠ½ΠΈΡ
for row in rows if row > 0 # Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ
for col in cols if len(col) == 1 # Π’ΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅
}
print(my_dict) # {('a', 1): 0, ('b', 2): 0, ('b', 3): 0, ('b', 1): 0, ('a', 3): 0, ('a', 2): 0}
ΠΡΠ° ΠΆΠ΅ Π·Π°Π΄Π°ΡΠ° ΡΠ΅ΡΠ΅Π½Π½Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΠΊΠ»Π°
rows = 1, 2, 3, -4, -5
cols = 'a', 'b', 'abc'
my_dict = {}
for row in rows:
if row > 0:
for col in cols:
if len(col) == 1:
my_dict[col, row] = 0
print(my_dict) # {('a', 1): 0, ('b', 2): 0, ('b', 3): 0, ('b', 1): 0, ('a', 3): 0, ('a', 2): 0}
7.1.2 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΈΠΊΠ»Ρ for Π³Π΄Π΅ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΡΠΈΠΊΠ» ΠΈΠ΄Π΅Ρ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠΈΠΊΠ»Π°
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: [expression for x in iterator for y in x].
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΎΠ±Ρ ΠΎΠ΄ΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Ρ Π΅Π΅ Π² Β«ΠΏΠ»ΠΎΡΠΊΡΡΒ» ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΌΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΡΡΡΠΎΠΊΠ°ΠΌ, Π° Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΏΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π°ΡΠ΅ΠΉ Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ ΠΌΠ°ΡΡΠΈΡΠ° β ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ². Π ΠΌΡ ΠΆΠ΅Π»Π°Π΅ΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² ΠΏΠ»ΠΎΡΠΊΠΈΠΉ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
matrix = [[0, 1, 2, 3],
[10, 11, 12, 13],
[20, 21, 22, 23]]
# Π Π΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠ°:
flattened = [n for row in matrix for n in row]
print(flattened) # [0, 1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 23]
Π’Π°ΠΆΠ΅ Π·Π°Π΄Π°ΡΠ°, ΡΠ΅ΡΠ΅Π½Π½Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ²
flattened = []
for row in matrix:
for n in row:
flattened.append(n)
print(flattened)
UPD:ΠΠ·ΡΡΠ½ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²
import itertools
flattened = list(itertools.chain.from_iterable(matrix)) # ΠΎΡ @iMrDron
# ΠΠ°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ²
# ΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ
Π·Π°Π΄Π°Ρ.
flattened = sum(a, []) # ΠΎΡ @YuriM1983
# sum(a, []) ΠΈΠΌΠ΅Π΅Ρ ΠΊΠ²Π°Π΄ΡΠ°ΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ(O(n^2))
# ΠΈ ΠΏΠΎΡΠΎΠΌΡ ΡΠΎΠ²ΡΠ΅ΠΌ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ΅Π»Π΅ΠΉ
7.2 ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΊΠ»Ρ for Π²Π½ΡΡΡΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ-Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°, Π½ΠΎ ΠΈ ΡΠ°ΠΌΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ.
Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΡΡΠΎΠΈΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠ°ΠΆΠ½ΠΎ!: Π ΠΎΡΠ»ΠΈΡΠΈΠΈ ΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΡΡΠ΅ Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ, Π΄Π»Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ², Π²Π½Π°ΡΠ°Π»Π΅ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π²Π½Π΅ΡΠ½ΠΈΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΏΠΎΡΠΎΠΌ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΉ, ΡΠΎ Π΅ΡΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΈΠ΄Π΅Ρ ΡΠΏΡΠ°Π²Π°-Π½Π°Π»Π΅Π²ΠΎ.
ΠΠΈΠΆΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
7.2.1 β ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π²Π½ΡΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° β Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ ΠΈΠ· Π΄Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: [[expression for y in iter2] for x in iter1]
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π΄Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΌΠ΅ΡΠ½ΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
ΠΠ»Ρ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠ°ΡΡΠΈΡΡ ΠΈΠ· 5 ΡΡΠΎΠ»Π±ΡΠΎΠ² ΠΈ 3 ΡΡΡΠΎΠΊ ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π΅ Π½ΡΠ»ΡΠΌΠΈ:
w, h = 5, 3 # Π·Π°Π΄Π°Π΄ΠΈΠΌ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΠΊΡ ΠΌΠ°ΡΡΠΈΡΡ
matrix = [[0 for x in range(w)] for y in range(h)]
print(matrix) # [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ°ΡΡΠΈΡΡ Π΄Π²ΡΠΌΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΠΈΠΊΠ»Π°ΠΌΠΈ — ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΡ
matrix = []
for y in range(h):
new_row = []
for x in range(w):
new_row.append(0)
matrix.append(new_row)
print(matrix) # [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠ°ΡΡΠΈΡΠ΅ΠΉ ΠΊΠ°ΠΊ Ρ ΠΎΠ±ΡΡΠ½ΡΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΠΌ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠΌ
# ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ (ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ - ΠΈΠ½Π΄Π΅ΠΊΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΏΠΈΡΠΊΠΎΠ²)
matrix[0][0] = 1
matrix[1][3] = 3
print(matrix) # [[1, 0, 0, 0, 0], [0, 0, 0, 3, 0], [0, 0, 0, 0, 0]]
# ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌ
x, y = 1, 3
print(matrix[x][y]) # 3
7.2.2 β ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π²Π½ΡΡΡΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° β Π΄Π²ΡΠΌΠ΅ΡΠ½Π°Ρ ΠΈΠ· Π΄Π²ΡΠΌΠ΅ΡΠ½ΠΎΠΉ
ΠΠ±ΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ: [[expression for y in x] for x in iterator]
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅: ΠΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎΡ ΡΠ°Π½ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² Π΄ΡΡΠ³ΡΡ Π΄Π²ΡΠΌΠ΅ΡΠ½ΡΡ ΡΡΡΡΠΊΡΡΡΡ.
ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ:
matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
ΠΠΎΠ·Π²Π΅Π΄Π΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΊΠ²Π°Π΄ΡΠ°Ρ:
squared = [[cell**2 for cell in row] for row in matrix]
print(squared) # [[1, 4, 9, 16], [25, 36, 49, 64], [81, 100, 121, 144]]
ΠΡΠ° ΠΆΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π² Π²ΠΈΠ΄Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ ΡΠΈΠΊΠ»ΠΎΠ²
squared = []
for row in matrix:
new_row = []
for cell in row:
new_row.append(cell**2)
squared.append(new_row)
print(squared) # [[1, 4, 9, 16], [25, 36, 49, 64], [81, 100, 121, 144]]
ΠΠ±ΠΎΠ±ΡΠΈΠΌ Π²ΡΠ΅ Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ (ΠΏΠΎΠ»Π½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡ):
7.3 β ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈΡΠ΅ΡΠΈΡΡΡΡΠΈΠΉΡΡ ΠΏΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π»ΡΠ±ΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Π² ΡΠΈΠΊΠ»Π΅ for, ΡΡΠΎ ΡΠ°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΠΏΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ.
ΠΡΠΈ ΡΡΠΎΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΡΡ Π² Π΄Π²Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡΡΡ Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΡΠΎΠΈΠ»Π»ΡΡΡΡΠΈΡΡΡ ΠΈ ΡΠ°ΠΊΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ.
ΠΠΎΠΏΡΡΡΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΡΠ°ΠΊΠΈΡ
Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΏΠΈΡΠΊΠΎΠ²:
list_a = [x for x in range(-2, 4)] # Π’Π°ΠΊ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°,
# ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π² ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ Π΄ΠΎΡΡΠΎΡΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ range(-2, 4)
list_b = [x**2 for x in list_a]
Π’ΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΈ Π² ΠΎΠ΄Π½ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ΄ΡΡΠ°Π²ΠΈΠ² Π²ΠΌΠ΅ΡΡΠΎ list_a Π΅Π³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΏΠΈΡΠΊΠ°:
list_c = [x**2 for x in [x for x in range(-2, 4)]]
print(list_c) # [4, 1, 0, 1, 4, 9]
UPD ΠΎΡ longclaps: ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²ΠΎ ΠΎΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ f(x) = u(v(x))
list_c = [t + t ** 2 for t in (x ** 3 + x ** 4 for x in range(-2, 4))]
8. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ range()
ΠΠΎΠ²ΠΎΡΡ ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ, Π½Π΅Π»ΡΠ·Ρ ΠΎΠ±ΠΎΠΉΡΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΡΡΡΡ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ range(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ range():
- ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ range() ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΈΠΊΠ»Π° for Π½ΡΠΆΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠΎΡΡΠΈΡΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅.
- Π Python 3 range() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊ Π½Π΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
- ΠΡΠΏΠΎΠ»Π»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Ρ ΡΠ°ΠΊΠΎΠ²ΡΠΌ Π² ΡΡΠ΅Π·Π°Ρ
(ΠΊΡΠΎΠΌΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ):
- range(stop) β Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ 0 Π΄ΠΎ stop-1;
- range(start, stop) β ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΡ Π²ΡΡΠ΅, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°ΡΡ Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΡ Π½ΡΠ»Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅;
- range(start, stop, step) β ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΡΠ°Π³Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΡΠΎΠ³Π΄Π° ΠΏΠ΅ΡΠ΅Π±ΠΎΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
- Π Python 2 Π±ΡΠ»ΠΈ 2 ΡΡΠ½ΠΊΡΠΈΠΈ:
- range(…) ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½Π° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ list(range(…)) Π² Python 3 β ΡΠΎ Π΅ΡΡΡ ΠΎΠ½Π° Π²ΡΠ΄Π°Π²Π°Π»Π° Π½Π΅ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, Π° ΡΡΠ°Π·Ρ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ. Π’ΠΎ Π΅ΡΡΡ Π²ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ Π½Π΅Ρ Π²Π°ΡΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 4 Π°ΠΊΡΡΠ°Π»ΡΠ½Ρ, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π΅ Π² Python 2 Π½Π°Π΄ΠΎ ΠΎΡΠ΅Π½Ρ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ!
- xrange(…) β ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Π»Π° Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ range(…) Π² Python 3 ΠΈ ΠΈΠ· 3 Π²Π΅ΡΡΠΈΠΈ Π±ΡΠ»Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π°.
ΠΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
print(list(range(5))) # [0, 1, 2, 3, 4]
print(list(range(-2, 5))) # [-2, -1, 0, 1, 2, 3, 4]
print(list(range(5, -2, -2))) # [5, 3, 1, -1]
9. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 1. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ
9.1 ΠΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΡΠΏΠΈΡΠΊΠ°ΠΌ
import itertools
l1 = [1,2,3]
l2 = [10,20,30]
result = [l*2 for l in itertools.chain(l1, l2)]
print(result) # [2, 4, 6, 20, 40, 60]
9.2 Π’ΡΠ°Π½ΡΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ
(ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΡΠΎΠΊΠΈ ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΎ ΡΡΠΎΠ»Π±ΡΠ°ΠΌΠΈ).ΠΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΌΠ°ΡΡΠΈΡΡ.
matrix = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
Π‘Π΄Π΅Π»Π°Π΅ΠΌ Π΅Π΅ ΡΡΠ°Π½ΡΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ:
transposed = [[row[i] for row in matrix] for i in range(len(matrix[0]))]
print(transposed) # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
ΠΡΠ° ΠΆΠ΅ ΡΡΠ°Π½ΡΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΌΠ°ΡΡΠΈΡΡ Π² Π²ΠΈΠ΄Π΅ ΡΠΈΠΊΠ»Π°
transposed = []
for i in range(len(matrix[0])):
new_row = []
for row in matrix:
new_row.append(row[i])
transposed.append(new_row)
print(transposed) # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
Π Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΌΠ°Π³ΠΈΠΈ ΠΎΡ @longclaps
transposed = list(map(list, zip(*matrix)))
print(transposed) # [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]
9.3 ΠΠ°Π΄Π°ΡΠ° Π²ΡΠ±ΠΎΡΠ° ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π±ΠΎΡΠΈΡ Π΄Π½Π΅ΠΉ
# Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π΄Π½Π΅ΠΉ ΠΎΡ 1 Π΄ΠΎ 31 Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ
days = [d for d in range(1, 32)]
# ΠΠ΅Π»ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ Π΄Π½Π΅ΠΉ Π½Π° Π½Π΅Π΄Π΅Π»ΠΈ
weeks = [days[i:i+7] for i in range(0, len(days), 7)]
print(weeks) # [[1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11, 12, 13, 14], [15, 16, 17, 18, 19, 20, 21], [22, 23, 24, 25, 26, 27, 28], [29, 30, 31]]
# ΠΡΠ±ΠΈΡΠ°Π΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 5 ΡΠ°Π±ΠΎΡΠΈΡ
Π΄Π½Π΅ΠΉ, ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅
work_weeks = [week[0:5] for week in weeks]
print(work_weeks) # [[1, 2, 3, 4, 5], [8, 9, 10, 11, 12], [15, 16, 17, 18, 19], [22, 23, 24, 25, 26], [29, 30, 31]]
# ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄Π½Π΅ΠΉ - ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ
wdays = [item for sublist in work_weeks for item in sublist]
print(wdays) # [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31]
ΠΠΎΠΆΠ½ΠΎ ΡΠ±ΡΠ°ΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΅ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΈΠ·ΡΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ
# Π€ΠΎΡΠΌΠΈΡΡΠ΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π΄Π½Π΅ΠΉ ΠΎΡ 1 Π΄ΠΎ 31 Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ
days = [d for d in range(1, 32)]
wdays6 = [wd for (i, wd) in enumerate(days, 1) if i % 7 != 0] # Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ 7-ΠΉ Π΄Π΅Π½Ρ
# Π£Π΄Π°Π»ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ 6 Π΄Π΅Π½Ρ Π² ΠΎΡΡΠ°Π²ΡΠΈΡ
ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ:
wdays5 = [wd for (i, wd) in enumerate(wdays6, 1) if i % 6 != 0]
print(wdays5)
# [1, 2, 3, 4, 5, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 22, 23, 24, 25, 26, 29, 30, 31]
# ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ Π² ΠΎΠ΄Π½ΠΎΠΌ if Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ,
# ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΏΠΎΡΠΎΠΌΡ, ΡΡΠΎ 12-ΠΉ Π΄Π΅Π½Ρ Π΄Π΅Π»ΠΈΡΡΡ Π½Π° 6, Π½ΠΎ Π½Π΅ Π²ΡΠΏΠ°Π΄Π°Π΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ 2 Π΄Π½Ρ Π½Π΅Π΄Π΅Π»ΠΈ!
# Π¨ΠΈΠΊΠ°ΡΠ½ΠΎΠ΅ ΠΊΠΎΡΠΎΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡ @sophist:
days = [d + 1 for d in range(31) if d % 7 < 5]
10. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ 2. Π‘ΡΡΠ»ΠΊΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅
- Π₯ΠΎΡΠΎΡΠ°Ρ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½Π°Ρ ΡΡΠ°ΡΡΡ Ρ Π΄Π΅ΡΠ°Π»ΡΠ½ΡΠΌ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ ΠΈ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡΠΠ»Π»ΡΡΡΡΠ°ΡΠΈΡ ΠΈΠ· ΡΡΠ°ΡΡΠΈ:
- ΠΡΠ»ΠΈ Ρ ΠΠ°Ρ Π΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ΠΌ Π»ΠΎΠ³ΠΈΠΊΠΈ ΡΠ°Π±ΠΎΡΡ Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π°Π½Π³Π»ΠΎΡΠ·ΡΡΠ½ΡΡ ΡΡΠ°ΡΡΡ, Π³Π΄Π΅ ΠΏΡΠΎΠ²ΠΎΠ΄ΡΡΡΡ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ SQL ΠΈ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ Excel.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊ:
squared_evens = [n ** 2 # SELECT for n in numbers # FROM if n % 2 == 0] # WHERE
- UPD ΠΎΡ fireSparrow: Π‘ΡΡΠ΅ΡΡΠ²ΡΡΠ΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Python β PythonQL, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΈΠ»Π΅ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ.
- ΠΠ»Π»ΡΡΡΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ, Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ.
- ΠΡΠ»ΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ (ΡΡΠ°ΡΡΡ Π½Π° Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠΌ).
ΠΡΠΈΠ³Π»Π°ΡΠ°Ρ ΠΊ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ:
- ΠΡΠ»ΠΈ Ρ Π³Π΄Π΅-ΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠ» Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ ΡΡΡΠ» ΡΡΠΎ-ΡΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ β ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , Π²Π°ΠΆΠ½ΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΡΡΠ°ΡΡΡ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ Π°Π²ΡΠΎΡΡΡΠ²Π°.
- ΠΡΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅-ΡΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΏΠΎΠ½ΡΡΠ½Ρ ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ β ΠΏΠΈΡΠΈΡΠ΅ Π²Π°ΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ β ΠΈΠ»ΠΈ Ρ ΠΈΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΡΠ°ΡΠ΅Π»ΠΈ Π΄Π°Π΄ΡΡ ΠΎΡΠ²Π΅Ρ, Π° Π΄Π΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ Ρ ΠΎΡΠ²Π΅ΡΠ°ΠΌΠΈ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ·ΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΡΡΠ°ΡΡΡ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ°. Π€ΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ°
Π’80 Ρ ΠΈ HS801 ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΒ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΡ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠ².
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
Π§Π°ΡΡΠΎΡΠ½ΡΠΉ Π²Ρ ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΊΠ°Π»ΠΈΠ±ΡΠΎΠ²ΠΊΠΈ ΠΈΡΡΠ»Π΅Π΄ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π°
Π§Π°ΡΡΠΎΡΠ½ΡΠΉ Π²ΡΡ ΠΎΠ΄ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΡΠΈΠ³Π½Π°Π» ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΡΠ»ΡΡΠ°, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΠΉΡΡ ΠΎΡ -2.5 Π΄ΠΎ + 2.5 Π²ΠΎΠ»ΡΡ, ΠΈ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ 100 ΠΡ ΠΈ 100 ΠΊΠΡ.
ΠΡΠ±ΠΈΡΠ°ΡΡ ΡΠ°ΡΡΠΎΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π½Π°ΠΆΠΈΠΌΠ°Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΡ ΡΠ°ΡΡΠΎΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π²ΠΈΠΆΠΊΠ°. Π’Π΅ΠΊΡΡΠ°Ρ ΡΠ°ΡΡΠΎΡΠ° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π° Π²ΡΡΠ΅ Π΄Π²ΠΈΠΆΠΊΠ°.
ΠΠΎΠ³Π΄Π° ΡΠ°ΡΡΠΎΡΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ»Π°Π²ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠΏΡΠ°Π²Π°. ΠΠΎ ΡΠ΅Π»ΡΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Π²ΠΊΠ»ΡΡΠ΅Π½.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°ΠΊΡΡΡΠ°, ΡΠΎ Π²ΡΠ±ΡΠ°Π½Π½Π°Ρ ΡΠ°ΡΡΠΎΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ, Π΄ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°.
-119-
Π€ΡΠ½ΠΊΡΠΈΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
TiePieSCOPE HS80 Ρ AWG, Handyscope 3 ΠΈ Π’Π 80 Ρ AWG ΠΈΠΌΠ΅ΡΡ Π² Π½Π°Π»ΠΈΡΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠΈΠ³Π½Π°Π» ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ²ΠΎΡ ΡΠΎΡΠΌΡ, ΡΠ°ΡΡΠΎΡΡ, ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΌΠ΅ΡΠ΅Π½.
ΠΠ°ΡΡΠ΄Ρ Ρ ΡΡΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ°Π·Π²Π΅ΡΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Ρ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡΠΎΠΌ ΡΠΏΠ΅ΠΊΡΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΡΡΠΎΡΠ½ΡΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ ΡΠ·Π»ΠΎΠ² ΠΈΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΠΉ.
Π’Π°ΠΊ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΈ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ.
ΠΡΠΈΠ½ΡΠΈΠΏ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΠΠ¦Π‘. ΠΠ¦Π‘ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΡΡΠΌΠΎΠΉ Π¦ΠΈΡΡΠΎΠ²ΠΎΠΉ Π‘ΠΈΠ½ΡΠ΅Π·, Π° ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ ΠΎΡΠ½ΠΎΠ²Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΈΡΡΠΎΠ²ΡΡ Π±Π»ΠΎΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ , Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ°ΡΡΠΎΡΠ½ΠΎ-Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΡΠ°ΡΠ°ΠΌΠΈ ΡΠΎΡΠ½ΠΎΡΡΠΈ ΡΠΈΠ³Π½Π°Π»Π°. ΠΠ¦Π‘ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΠ³Π½Π°Π»ΡΒ ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌΒ Ρ Π½ΠΈΠ·ΠΊΠΈΠΌ ΡΡΠΎΠ²Π½Π΅ΠΌ ΠΈΡΠΊΠ°ΠΆΠ΅Π½ΠΈΡΒ ΠΈ ΠΎΡΠ΅Π½Ρ ΡΠΎΡΠ½ΡΠΌ ΡΠ°ΡΡΠΎΡΠ½ΡΠΌ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ.
-121-
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°
Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΡ Π±Π»ΠΎΠΊΠΎΠ².
ΠΠ°Π²Π΅ΡΡ Ρ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Β ΡΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. Π‘Π»Π΅Π²Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΠΈΠ³Π½Π°Π». ΠΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°ΡΡΠΎΡΠΎΠΉ, ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠ΅ΠΉ, Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ΠΎΠΉ ΠΈ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»Π°. Π‘ΠΏΡΠ°Π²Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΊΠ»Π°Π²ΠΈΡΠΈ Π΄Π»Ρ ΡΠΈΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ° Π΄Π»Ρ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΎΠΊ.
ΠΡΠ° ΡΠ°ΡΡΡ ΡΠΊΡΠ°Π½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠ°, Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π²Π΅ΡΡ Π½Π΅ΠΌ ΡΠ³Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. Π’Π°ΠΊ ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΒΠΌΠΎΠΆΠ΅Ρ ΡΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ ΠΈ Π·Π°Π½ΠΈΠΌΠ°ΡΡ Β ΠΌΠ΅Π½ΡΡΠ΅ ΠΌΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅. ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΠΊΠ½ΠΎ ΡΡΠ°Π½Π΅Ρ ΠΏΡΠ΅ΠΆΠ½ΠΈΠΌ. Π’ΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΎ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ <Shift — < > ΠΈ <Shift -> >.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠΌ
Π€ΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π°
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
Π€ΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΡΠΎΡΠΌΡ ΡΠΈΠ³Π½Π°Π»Ρ:
Π‘ΠΈΠ½ΡΡ Β — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠ½ΡΡΠΎΠΈΠ΄Π°
Π’ΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ
ΠΠ²Π°Π΄ΡΠ°Ρ — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠΉ ΠΈΠΌΠΏΡΠ»ΡΡ
Π¦ΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΠ½ΡΠ΅Π· — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΠ¦Π‘
ΠΠ΅Π»ΡΠΉ ΡΡΠΌ — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π±Π΅Π»ΡΠΉ ΡΡΠΌ
Π€Π°ΠΉΠ» — Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ ΡΠΈΠ³Π½Π°Π» ΠΎΡ ΡΠ°ΠΉΠ»Π°
Π ΡΠΈΠ³Π½Π°Π»ΡΠ½ΠΎΠΌ ΡΠΈΠΏΠ΅ Π€Π°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ·ΠΆΠ΅.
-122-
Π§Π°ΡΡΠΎΡΠ°
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
Π Π§Π°ΡΡΠΎΡΠ½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ Π΅ΡΡΡ Π²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎΡΠΎΠΉ ΡΠΈΠ³Π½Π°Π»Π°. Π‘Π΅ΠΌΡ Π΄Π΅ΠΊΠ°Π΄Π½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΎΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΒΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° ΡΠ°ΡΡΠΎΡΠ°. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π²ΠΈΠΆΠΊΠ°. ΠΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½ ΠΎΡ 0,2 Π΄ΠΎ 2
ΠΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² ΠΠ¦Π‘, ΡΠ°ΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ — ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ.
Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡ
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΠ΅ΡΠΈΠΎΠ΄Π° ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°. Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΡ 50 % ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠ°ΡΡΡ — ΡΠΎΡΠ½ΠΎ ΡΠΎΠ²Π½Π° ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄Π°.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Β Π΄Π²ΠΈΠΆΠΊΠ° Β Π² Π±Π»ΠΎΠΊΠ΅ Π‘ΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ, ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°Π΄Π°Π½Π° ΠΎΡ 1 Π΄ΠΎ 99%. ΠΠ½ΠΎΠΏΠΊΠ° ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π° (mid) ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ Π² 50 %, ΠΎΡ ΡΠ΅Π½ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠΎΠ³Π΄Π° ΡΠΈΠ³Π½Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² ΠΠ¦Π‘ ΠΈΠ»ΠΈ ΠΠ΅Π»ΡΠΉ ΡΡΠΌ, ΡΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ.
ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π°
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
ΠΠΌΠΏΠ»ΠΈΡΡΠ΄Π° ΠΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΈΠ³Π½Π°Π»Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° ΠΏΡΠΈ ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ: Π½Π΅ ΠΎΡΠ»Π°Π±Π»Π΅Π½Π½ΡΠΉ,Β -20 Π΄Π΅ΡΠΈΠ±Π΅Π» ΠΎΡΠ»Π°Π±Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ -40 Π΄Π΅ΡΠΈΠ±Π΅Π» ΠΎΡΠ»Π°Π±Π»Π΅Π½ΠΈΡ. ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π΄Π²ΠΈΠΆΠΊΠ° Π½Π°ΠΏΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρ 0 ΠΠΎΠ»ΡΡ ΠΈ 12 Π²ΠΎΠ»ΡΡΠ°ΠΌΠΈ (ΠΈΠ»ΠΈ 0 ΠΠΎΠ»ΡΡ ΠΈ 10 Π²ΠΎΠ»ΡΡ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°).
-123-
Β ΠΠ¦Π‘ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅
ΠΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ±Π°Π²ΠΈΡΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π¦Π‘ ΠΊ ΡΠΈΠ³Π½Π°Π»Ρ Π²ΡΡ ΠΎΠ΄Π°. Π Π±Π»ΠΎΠΊΠ΅ Π‘ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π¦Π‘ Π΅ΡΡΡ Π΄Π²ΠΈΠΆΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΎΠΏΠΊΠ° 0 ΠΎΠ±Π½ΡΠ»ΠΈΡ ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π¦Π‘
ΠΠΎΠ³Π΄Π° ΡΠΎΡΠΌΠ° ΡΠΈΠ³Π½Π°Π»Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π² Π¦Π‘, Π΄Π²ΠΈΠΆΠΎΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ½ΠΎΡΡΡ Β Π¦Π‘ ΡΠΈΠ³Π½Π°Π»Π°.
Π§ΠΈΡΠ»Π΅Π½Π½ΡΠΉ Π²Ρ ΠΎΠ΄.
ΠΡΠ΅ΠΌΠΈ Π²ΡΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΠΌΠΈ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ, ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ. ΠΠΎΠ³Π΄Π° ΠΎΠΊΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
ΠΡΠΎΠΉ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ°ΠΊ ΠΌΡΡΡΡ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΈ Β ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΎΠΊΠ½ΠΎ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΎ.
Π§Π΅ΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΎ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΈ Π½Π°ΡΠ½Π΅Ρ ΠΌΠΈΠ³Π°ΡΡ. Π’Π°ΠΊΠΆΠ΅ Π½ΠΎΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±ΡΠ΄ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Ρ, ΠΈ Π½ΡΠΆΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π²Π΅Π΄Π΅Π½Π°. ΠΡ ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ <Enter> Β Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ.
ΠΠΎΡΡΡΠΏΠ½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ:
-124-
SΒ Β Β Β Β Β Β Β Β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΡ ΡΠΈΠ³Π½Π°Π»Π° Β Β Β Β Β Β Β Β Β Β Β
DΒ Β Β Β Β Β Β Β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠ²Π΅ΡΠ²Π»Π΅Π½ΠΈΠ΅ Π¦Π‘ ΡΠΈΠ³Π½Π°Π»Π°
AΒ Β Β Β Β Β Β Β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄Ρ ΡΠΈΠ³Π½Π°Π»Π°
FΒ Β Β Β Β Β Β Β Β ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ°ΡΡΠΎΡΡ ΡΠΈΠ³Π½Π°Π»Π°
0..9Β Β Β Β Β ΠΡΠΈΠ±Π°Π²ΡΡΠ΅ ΡΠΈΡΡΡ ΠΊ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΎΠΌΠ΅ΡΡ
.Β Β Β Β Β Β Β Β Β Β ΠΡΠΈΠ±Π°Π²ΡΡΠ΅ ΡΠΎΡΠΊΡ Β ΠΊ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡ Π½ΠΎΠΌΠ΅ΡΡ
—Β Β Β Β Β Β Β Β Β ΠΠΎΠ»Π½ΠΎΡΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΠΏΠΎΠ»ΡΡΠ½ΠΎΡΡΡ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ°
CΒ Β Β Β Β Β Β Β ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ Π²Ρ ΠΎΠ΄
<—Β Β Β Β Β Β Β ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΎΡΠ»ΠΈΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΠ·Π½Π°ΠΊ
<-/Β Β Β Β Β Β ΠΠ°ΠΊΠΎΠ½ΡΠΈΡΠ΅ Π²Ρ ΠΎΠ΄ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ
EscΒ Β Β Β Β ΠΠ³ΡΠ°Π½ΠΈΡΡΡΠ΅ Π²Ρ ΠΎΠ΄
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π΅ΡΡΡ 8 Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΈΠ³Π½Π°Π»Π°.
[ΠΠ΄Π΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΈΡΡΠ½ΠΎΠΊ]
ΠΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΠΈΠ³Π½Π°Π» Ρ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠΎΠΉ, Π°ΠΌΠΏΠ»ΠΈΡΡΠ΄ΠΎΠΉ, ΡΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΠ°ΡΡΠΎΡΠΎΠΉ ΠΈ ΡΠΈΠΌΠΌΠ΅ΡΡΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ
ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΠΌΠΈ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ.