ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку

НСпрактичный python β€” пишСм Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² ΠΎΠ΄Π½Ρƒ строку

Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.

ДисклСймСр

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π½Π΅ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΌΠΎΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, ΠΈ всС Ρ‡Ρ‚ΠΎ описано Π½ΠΈΠΆΠ΅ Π±Ρ‹Π»ΠΎ написано Π² Ρ€Π°ΠΌΠΊΠ°Ρ… акадСмичСского изыскания. Π― понимаю Ρ‡Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ прСимущСство python Π² Π΅Π³ΠΎ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Автором, ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… сознания вСщСства, ΠΏΡ€ΠΈ написании Π΄Π°Π½Π½ΠΎΠ³ΠΎ поста, Π±Ρ‹Π»ΠΎ использовано Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ„Π΅.

ΠŸΡ€ΠΎΠ»ΠΎΠ³

ИдСя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки мСня ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°Π»Π°. Π‘Ρ‹Π»ΠΎ просто интСрСсно Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€. Но Π² процСссС спортивный интСрСс взял Π²Π΅Ρ€Ρ…. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ всС Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΎΡΡŒ с простого ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°.

БСйчас Π·Π°Π΄Π°Ρ‡Π° ΠΈΠ· 18 строк ΠΊΠΎΠ΄Π°, 11 Ссли ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ 4 строки. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π° ΡƒΠΌ, Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ if…else Π² ΠΎΠ΄Π½Ρƒ строчку.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас 15 строк ΠΊΠΎΠ΄Π° ΠΏΡ€ΠΎΡ‚ΠΈΠ² 18, ΠΈ появился Π΅Ρ‰Ρ‘ ΠΎΠ΄ΠΈΠ½ if, Ρ‡Ρ‚ΠΎ создаСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, Π½ΠΎ сСгодня ΠΌΡ‹ ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ Π½Π΅ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡŽ performance. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π² этот ΠΌΠΈΡ€ энтропии ΠΈ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ copy-paste ΠΈ упростим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ key.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ 12 строк, Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² 8 строк. Нам ΠΏΠΎΠΊΠ° этого Π½Π΅ достаточно, Ρ†Π΅Π»ΡŒ 4 строчки, ΠΈ Π½Π°Π΄ΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π΅Ρ‰Ρ‘. ΠœΡ‹ ΠΏΠΎΠΌΠ½ΠΈΠΌ Ρ‡Ρ‚ΠΎ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ β€” это функция которая Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ callable ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ). Π€ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ lambda! Π—Π½Π°Ρ‡ΠΈΡ‚ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ wrapper ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ Π½Π° lambda β€” Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. И Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ «Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°», Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

ЦСль достигнута! Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки, чистого ΠΊΠΎΠ΄Π° β€” получился. Как ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎΠΉ lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π½Π΅ обошлось, ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄Π²Π΅ lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π²Π°Ρ lambda Π΄Π΅Π»Π°Π΅Ρ‚ Π΄Π²Π΅ Π²Π΅Ρ‰ΠΈ: Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ Π±Ρ‹Π» Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π² Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Ρ€Π°Π½Π΅Π΅ Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π½Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΡΡˆΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ссли ΠΎΠ½ Π½Π΅ Π±Ρ‹Π» Ρ€Π°Π½Π΅Π΅ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ Π½ΠΎ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΌΡ‹ Π½Π΅Ρ‡Π΅Π³ΠΎ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ.

ΠŸΠ΅Ρ€Π²Π°Ρ lambda функция Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ нас Π½Π΅ анонимная Π΅Ρ‘ ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊ Π½Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Вторая lambda Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚ΠΎΠΆΠ΅ самоС Ρ‡Ρ‚ΠΎ ΠΈ пСрвая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Π»Π°ΡΡŒ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ lambda ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния ΠΈΠ· кСша, Π² случаС Ссли пСрвая lambda Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ»Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΈ ΠΎΠ½ Π±Ρ‹Π» Π·Π°ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ вторая lambda Π²Π΅Ρ€Π½Π΅Ρ‚ входящиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»Π°ΡΡŒ Π³Ρ€ΠΎΠΌΠΎΠ·Π΄ΠΊΠΎΠΉ, Π½ΠΎ всС Ρ€Π°Π²Π½ΠΎ читаСмая, Π±ΠΎΠ»Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΅ β€” ΠΏΡ€ΠΈ условии Ссли Π²Ρ‹ Π»Π΅Π³ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ lambda выраТСния. Много условностСй, Π½ΠΎ это Π΅Ρ‰Ρ‘ Π½Π΅ Π°Π΄ Π½ΠΎ ΠΌΡ‹ ΠΊ Π½Π΅ΠΌΡƒ приблиТаСмся. ПослС всСго ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ всС Π΅Ρ‰Ρ‘ каТСтся Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΅Ρ‰Ρ‘ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство строк ΠΊΠΎΠ΄Π°. ΠœΡ‹ ΡƒΠΆΠ΅ вошли Π²ΠΎ вкус. НапримСр Ρ‚Π΅-ΠΆΠ΅ Π΄Π²Π΅ lambda выраТСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ объСдиним Π΄Π²Π΅ lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΎΠ΄Π½Ρƒ.

Для этого Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΡƒΡ…ΠΈΡ‰Ρ€Π΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ or. Π’Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° значСния, справа ΠΈ слСва ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сСбя, ΠΈ пытаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ логичСский ΠΎΡ‚Π²Π΅Ρ‚ True ΠΈΠ»ΠΈ False. Как ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ сравнСния. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ слСва ΠΈ справа ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ python Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΊΠΎΠ΄ справа ΠΈ слСва. Π‘Π»Π΅Π²Π° Ρƒ нас конструкция memory.update(name>_«: func(args[0])>) Π΄Π°Π½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½Π΅Ρ‚ Π½Π°ΠΌ None ΠΌΠ΅Ρ‚ΠΎΠ΄ update всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½Π°ΠΌ None Ρ‚Π΅Ρ€Π½Π°Ρ€Π½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ воспримит этого ΠΊΠ°ΠΊ False ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ это Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ, Π½ΠΎ Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ этот ΠΊΠΎΠ΄ ΠΈ ΠΌΡ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ memory. Π‘ΠΏΡ€Π°Π²Π° Ρƒ нас конструкция получСния элСмСнта ΠΏΠΎ индСксу ΠΈΠ· tupla, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ простоС ΠΈ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ссли Π² tuple Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ индСкс.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΌΡ‹ ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚Π΅Π»ΠΈ, мСньшС строчСк ΠΊΠΎΠ΄Π° Π΄Π²Π΅ lambda Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. ΠŸΠΎΡΠ²Π»ΡΠ΅Ρ‚ΡΡ вопрос, Π·Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ здСсь Ρ‚ΠΎΠ³Π΄Π° функция decorator_cache, Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π΅Ρ‘ Ρ‚ΠΎΠΆΠ΅ сдСлаСм lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½ΠΎ сохраним Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

ΠΠ°Ρ€ΡƒΡˆΠ°Ρ всС ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹, Π½Π°ΠΌ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€, ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΎΠ΄Π½Ρƒ строку. ΠŸΠΎΡ‡Ρ‚ΠΈ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Ρƒ нас Π΅ΡΡ‚ΡŒ строка объявлСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ data. Π­Ρ‚ΠΎ ΠΌΠ½Π΅ Π½Π΅ Π΄Π°Π²Π°Π»ΠΎ покоя. ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 10 ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΠΎΠΊΠ° Π½Π΅ вспомнил Ρ‡Ρ‚ΠΎ Π² python Π΅ΡΡ‚ΡŒ функция globals().

Ѐункция globals() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ с глобальной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ символов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅. По сути Π²Ρ‹Π΄Π°Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… (ΠΊΠ»ΡŽΡ‡ β€” имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚). Π’Π°ΠΊ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΎΠ΄Π½ΠΎΠΉ строкой. Π”Π°Π²Π°ΠΉΡ‚Π΅ Ρ‚ΠΎΠ³Π΄Π° для создания ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с пустым словарСм, Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ:

И для получСния значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ с get:

ПослС Ρ‡Π΅Π³ΠΎ ΠΌΡ‹ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ это Π½Π° наш Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€, ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ всС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ строку.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ, казалось ΠΌΡ‹ сдСлали Π½Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ Π³ΠΎΠ²Π½ΠΎΠΊΠΎΠ΄ описали Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² ΠΎΠ΄Π½Ρƒ строку. НСмного слоТно, ΠΈ ΠΏΠ»ΠΎΡ…ΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ, Π½ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Ρ€Π°Ρ‡ΠΈΡ‚ΠΎ ΡΠΏΠ΅Ρ†Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π» Π΄ΠΎΠ²Π΅Π΄Π΅Π½ Π΄ΠΎ ΠΏΡ€Π΅Π΄Π΅Π»Π°, для дСмонстрации Ρ‡Ρ‚ΠΎ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ это Π½Π΅ слоТный инструмСнт, ΠΈ Π² качСствС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ любой ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΎΠ΄Π½Ρƒ строку.

Π˜Ρ‚ΠΎΠ³ΠΈ

ВсС Π²Ρ‹ΡˆΠ΅ описанноС слуТит акадСмичСским цСлям. ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π±Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ вСсСлым, Π² сравнСнии со скучным Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ ООП ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ. НС Π½Π°Π΄ΠΎ Π±ΠΎΡΡ‚ΡŒΡΡ ΠΈΠ»ΠΈ Π½Π΅Π΄ΠΎΠΎΡ†Π΅Π½ΠΈΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π°Ρ‰Π΅, ΠΏΡ€ΠΈ повсСднСвных Π·Π°Π΄Π°Ρ‡Π°Ρ….

НадСюсь Π΄Π°Π½Π½Ρ‹ΠΉ пост, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΠΈΠ»ΠΈ вашим ΠΊΠΎΠ»Π»Π΅Π³Π°ΠΌ ΠΏΠΎΠ»ΡŽΠ±ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ lambda выраТСния.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π¦ΠΈΠΊΠ» for Π² ΠΎΠ΄Π½Ρƒ строку

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. for in one line. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку-for in one line. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° for in one line. Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.

Как ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ программистов, Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ послС создания массива, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» для Π΅Π³ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π‘ этим Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСсколько строк для написания ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° for для ΠΎΠ΄Π½ΠΎΠΉ простой Π·Π°Π΄Π°Ρ‡ΠΈ. К Ρ‡Π°ΡΡ‚ΡŒΡŽ, Python это ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ прСдоставляСт Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт для использования Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях. Π­Ρ‚ΠΎΡ‚ инструмСнт называСтся Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка (list comprehensions, списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅).

Π•ΡΡ‚ΡŒ вопросы ΠΏΠΎ Python?

На нашСм Ρ„ΠΎΡ€ΡƒΠΌΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Ρ‚ΡŒ любой вопрос ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ всСго нашСго сообщСства!

Telegram Π§Π°Ρ‚ & Канал

ВступитС Π² наш Π΄Ρ€ΡƒΠΆΠ½Ρ‹ΠΉ Ρ‡Π°Ρ‚ ΠΏΠΎ Python ΠΈ Π½Π°Ρ‡Π½ΠΈΡ‚Π΅ ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠ°ΠΌΠΈ! Π‘Ρ‚Π°Π½ΡŒΡ‚Π΅ Ρ‡Π°ΡΡ‚ΡŒΡŽ большого сообщСства!

Паблик VK

Одно ΠΈΠ· самых Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСств ΠΏΠΎ Python Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти Π’Πš. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ ΠΈ ΠΊΠ½ΠΈΠ³ΠΈ для вас!

Π§Ρ‚ΠΎ это Π·Π° Π·Π²Π΅Ρ€ΡŒ?

БписковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ (List comprehensions) – это списки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ с Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Π²Π½ΡƒΡ‚Ρ€ΠΈ. Они ΠΎΡ‡Π΅Π½ΡŒ распространСны Π² Python ΠΈ выглядят ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π΅Ρ‰Π΅ сильнСС Π·Π°ΠΏΡƒΡ‚Π°Π»ΠΈΡΡŒ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ сдСлаСм шаг Π½Π°Π·Π°Π΄. Бписок содСрТит Π² сСбС мноТСство Π²Π΅Ρ‰Π΅ΠΉ, Π½ΠΎ опрСдСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ скобками. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΡƒΠ΄Π²Π°ΠΈΠ²Π°Π΅Ρ‚ значСния всСх чисСл Π² спискС. Для Π½Π°Ρ‡Π°Π»Π°, ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ список чисСл.

Π’Ρ‹Π·ΠΎΠ² этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ даст Π½Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ список с ΡƒΠ΄Π²ΠΎΠ΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.

ЕдинствСнная Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, которая ΠΏΠΎ-настоящСму Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ – это Ρ†ΠΈΠΊΠ» for. Π¦ΠΈΠΊΠ» for Ρ‚ΠΎΠΆΠ΅ ΠΌΠ°Π»ΠΎ Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚, просто ΡƒΠΌΠ½ΠΎΠΆΠ°Π΅Ρ‚ число Π½Π° 2. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ для прСвращСния Π² списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ спискового Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ

Π”Π°Π²Π°ΠΉΡ‚Π΅ сохраним Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ. Нам Π½ΡƒΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π’Π°ΠΊ ΠΊΠ°ΠΊ списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ создаСт списки, Π° списки ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΏΡ€ΠΈΠΌΠ΅ΠΌ это Π²ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ располоТим списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ справа ΠΎΡ‚ doubled ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠΌ.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΡƒΡŽ сторону. Как ΠΈ с Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ†ΠΈΠΊΠ»ΠΎΠΌ for, Π° правая Ρ‡Π°ΡΡ‚ΡŒ списка выглядит ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ элСмСнты Π² нашСм Ρ†ΠΈΠΊΠ»Π΅. Π‘Π½Π°Ρ‡Π°Π»Π°, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΈ ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ списка, которая Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π°.

ВсС Ρ‡Ρ‚ΠΎ находится ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ for Ρ‚ΠΎΡ‡Π½ΠΎ внСсСно Π² список. НаконСц, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ наш Π½ΠΎΠ²Ρ‹ΠΉ список.

ЗапускаСм Π½Π°ΡˆΡƒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Π½ΠΎ Π·Π°Ρ‡Π΅ΠΌ ΠΌΠ½Π΅ это Π½ΡƒΠΆΠ½ΠΎ?

БписковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ (Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ списка, list comprehensions) ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ подходят для случаСв, ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ мСста Π² ΠΊΠΎΠ΄Π΅. Они Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ Π² случаях, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ просто Π½ΡƒΠΆΠ½ΠΎ быстро ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ списки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π½Π°Π΄ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ с этим списком.

Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ большС ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π½ΠΎ эту Ρ‚Π΅ΠΌΡƒ ΠΌΡ‹ обсудим Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ условиС if Π² список

Π”Π°Π²Π°ΠΉΡ‚Π΅ сдСлаСм Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ слова ΠΈΠ· списка. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ слово, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ состоит Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ ΠΈΠ· 5 Π±ΡƒΠΊΠ², Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π΄Π»ΠΈΠ½Π½Ρ‹ΠΌ. Для Π½Π°Ρ‡Π°Π»Π° ΠΏΡ€ΠΎΠΏΠΈΡˆΠ΅ΠΌ ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π₯ΠΎΡ€ΠΎΡˆΠΎ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡˆΠ΅ΠΌ это Π² списковоС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅. Для Π½Π°Ρ‡Π°Π»Π°, построим Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΈ Ρ‚Π°ΠΊ Π·Π½Π°Π΅ΠΌ.

Π­Ρ‚ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°ΠΌ всС слова, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π»ΠΈΠ½Π½Π΅Π΅ 5 Π±ΡƒΠΊΠ². ΠœΡ‹ вносим условный ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ†ΠΈΠΊΠ»Π° for.

Π˜Ρ‚Π°ΠΊ, ΠΌΡ‹ использовали всё Ρ‚ΠΎ ΠΆΠ΅ условиС if, Π½ΠΎ помСстили Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Π΅Ρ† спискового Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Оно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ‚ΠΎ ΠΆΠ΅ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ для элСмСнтов Π² спискС.

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

1. Π’ΠΎΠ·Π²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ всС числа ΠΎΡ‚ 1 Π΄ΠΎ 9. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ range.

2. ВсС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСлятся Π½Π° 5 Π±Π΅Π· остатка, Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 100.

3. ВсС Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дСлятся Π½Π° 3 ΠΈ 6 Π±Π΅Π· остатка, Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΎΡ‚ 0 Π΄ΠΎ 50.

4. ΠŸΠ΅Ρ€Π²Π°Ρ Π±ΡƒΠΊΠ²Π° ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ слова прСдлоТСния.

Π˜Ρ‚ΠΎΠ³ΠΈ

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ваши списковыС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ, Π° условия if – простыми. НСслоТно Ρ€Π°Π·Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² списковых Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡ… ΠΈ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ бСспорядок.

Если это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ распалило ваш Π°ΠΏΠΏΠ΅Ρ‚ΠΈΡ‚, посмотрим, смоТСтС Π»ΠΈ Π²Ρ‹ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ со словарными Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. Они ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ конструкторы dict, <:>, Π½ΠΎ ΠΎΠ½ΠΈ довольно ΠΏΠΎΡ…ΠΎΠΆΠΈ. Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ установочныС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Python, Ссли считаСтС сСбя Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ.

Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. site admin. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку-site admin. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° site admin. Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.

Являюсь администратором Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΡ€Ρ‚Π°Π»ΠΎΠ² ΠΏΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΡŽ языков программирования Python, Golang ΠΈ Kotlin. Π’ составС нСбольшой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π΅Π΄ΠΈΠ½ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ², ΠΌΡ‹ занимаСмся популяризациСй языков программирования Π½Π° Ρ€ΡƒΡΡΠΊΠΎΡΠ·Ρ‹Ρ‡Π½ΡƒΡŽ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€ΠΈΡŽ. Π‘ΠΎΠ»ΡŒΡˆΠ°Ρ Ρ‡Π°ΡΡ‚ΡŒ статСй Π±Ρ‹Π»Π° Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π°ΠΌΠΈ Π½Π° русский язык ΠΈ распространяСтся бСсплатно.

E-mail: vasile.buldumac@ati.utm.md

ΠžΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅
Universitatea Tehnică a Moldovei (utm.md)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ строк ΠΊΠΎΠ΄Π° Python

PEP-8 Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ строки ΠΊΠΎΠ΄Π° Π΄Π»ΠΈΠ½Π½Π΅Π΅, Ρ‡Π΅ΠΌ 79 символов. Π‘ этим ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡΠΎΠ³Π»Π°ΡΠΈΡ‚ΡŒΡΡ, ΠΎΠ΄Π½Π°ΠΊΠΎ, Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²Π»Π΅Π·Π°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ Π½Π° наши ΡˆΠΈΡ€ΠΎΠΊΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚Π½Ρ‹Π΅ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Ρ‹.

👨‍🎓 Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ строки, разбивая слоТныС условия ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ части, вынося ΠΈΡ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ с осмыслСнными названиями.

Если Π΅ΡΡ‚ΡŒ острая Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Ρ‚ΡŒ Π΄Π»ΠΈΠ½Π½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, Ρ‚ΠΎΠ³Π΄Π° приходится ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки. МоТно Π΄Π΅Π»Π°Ρ‚ΡŒ двумя способами: скобками ΠΈ слэшСм.

Если, ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° скобка (круглая, квадратная ΠΈΠ»ΠΈ фигурная Π² зависимости ΠΎΡ‚ контСкста), Π½ΠΎ ΠΎΠ½Π° Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π° Π² этой строкС, Ρ‚ΠΎ Python Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки, ΠΏΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ скобку (Π°Π½Π³Π». implicit line joining). ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ скобки ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹. Π‘Π΅Π· скобок ΠΊΠΎΠ΄ Π½Π΅ скомпилируСтся ΠΈΠ·-Π·Π° отступов, Π° Ссли ΠΈΡ… ΡƒΠ±Ρ€Π°Ρ‚ΡŒ, Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅Π²Π΅Ρ€Π΅Π½: income станСт gross_wages, Π° ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строки Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ эффСкта!

ΠœΠ΅Ρ‚ΠΎΠ΄ пСрСноса ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌ слэшСм. Π‘Ρ‚Π°Π²ΠΈΠΌ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слэш ΠΊΠΎΠ½Ρ†Π΅ строки ΠΈ сразу энтСр (пСрСнос строки): Ρ‚ΠΎΠ³Π΄Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ (Π°Π½Π³Π». explicit line joining), Π½Π΅ взирая Π½Π° отступы, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΈ написаны Π² ΠΎΠ΄Π½Ρƒ строку:

Π•Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ со слэшСм:

ΠŸΠΎΡ‡Π΅ΠΌΡƒ скобки Π»ΡƒΡ‡ΡˆΠ΅ для пСрСноса:

🐉 Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ для ΠΊΠ°Π½Π°Π»Π° @pyway. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° ΠΌΠΎΠΉ ΠΊΠ°Π½Π°Π» Π² Π’Π΅Π»Π΅Π³Ρ€Π°ΠΌ @pyway 👈

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ строку Π² Ρ†ΠΈΠΊΠ»Π΅

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ строку Π² Ρ†ΠΈΠΊΠ»Π΅
ЗдравствуйтС, господа. НуТна ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, которая Π±Ρ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠ»Π° тСкст ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π² строку Π².

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. tick. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² Ρ†ΠΈΠΊΠ»Π΅ Π² ΠΎΠ΄Π½Ρƒ строку?
Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ строку Π² Ρ†ΠΈΠΊΠ»Π΅ Π² ΠΎΠ΄Π½Ρƒ строку? Π—Π°Π΄Π°Ρ‡Π°: (Π»ΡƒΡ‡ΡˆΠ΅ Π±Π΅Π· списков,ΠΌΡ‹ ΠΏΠΎΠΊΠ° ΠΈΡ… Π½Π΅ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»ΠΈ, я.

Π’Ρ‹Π²ΠΎΠ΄ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку Π² Ρ†ΠΈΠΊΠ»Π΅
var n: integer; begin for n:=5 downto 1 do writeln(n); readln; end. Если просто.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. tick. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.Как Π² Ρ†ΠΈΠΊΠ»Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ строку Ρ„Π°ΠΉΠ»Π°?
Π•ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Input.txt ΠΈ Π² Π½Π΅ΠΌ Π΅ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ int,string,int,int : 1,Иванов Иван.

РСшСниС

Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ пустой список ΠΈ заполняйтС Π΅Π³ΠΎ Π² Ρ…ΠΎΠ΄Π΅ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· 2 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹
Ну ΠΈΠ»ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ списка ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ:

Π•ΡΡ‚ΡŒ способ ΠΏΡ€ΠΎΡ‰Π΅ всСх Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹Ρ….
ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ end=’ ‘
Ρ‚.Π΅.

ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ…, курсовых ΠΈ Π΄ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚ здСсь.

Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ строку
Π”ΠΎΠ±Ρ€Ρ‹ΠΉ дСнь! Господа, ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ Π½ΠΎΠ²ΠΈΡ‡ΠΊΡƒ! Π•ΡΡ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄: #include #include.

ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. tick. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку-tick. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² ΠΎΠ΄Π½Ρƒ строку. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° tick. Π”Π°Π²Π΅Ρ‡Π° с ΠΊΠΎΠ»Π»Π΅Π³ΠΎΠΉ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅ поспорили, Ρ‡Ρ‚ΠΎ нСльзя Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ Π² 4 строки. Π― ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π», Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ. ВсС Π½Π°Ρ‡Π°Π»ΠΎΡΡŒ с 4-Ρ… строк, Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»ΠΎΡΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡƒΡ‡Π΅ΠΉ lambda Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½Ρƒ строку ΠΈ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΎΠ΄Π½Ρƒ строку.Π’Ρ‹Π²ΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ строку
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π² ряд сообщСниС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π² скринС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΡ…ΠΎΠ΄ΠΈΠ» Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку, Π°.

Π’Ρ‹Π²ΠΎΠ΄ ΠΊΠ°ΠΏΡ‡ΠΈ Π² ΠΎΠ΄Π½Ρƒ строку
ЗдравствуйтС! Написал ΠΊΠΎΠ΄ ΠΊΠ°ΠΏΡ‡ΠΈ с ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. Однако, Π΄Π°ΠΆΠ΅ сама линия Π½Π΅ выводится. Π₯ΠΎΡ‚Π΅Π»ΠΎΡΡŒ Π±Ρ‹.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΡ€Π°Π²ΠΈΠ»Π° оформлСния Python-ΠΊΠΎΠ΄Π°

1. ΠžΡ‚ΡΡ‚ΡƒΠΏΡ‹

РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ 4 ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ отступа. Python 3 Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ смСшиваниС табуляции ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² отступах. Код, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈ Ρ‚Π΅, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ отступов, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ исправлСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ отступы Π² Π½Π΅ΠΌ Π±Ρ‹Π»ΠΈ расставлСны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².

2. Π’ΠΎΡ‡ΠΊΠΈ с запятой

НС раздСляйтС ваши строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚ΠΎΡ‡Π΅ΠΊ с запятой ΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой для раздСлСния ΠΊΠΎΠΌΠ°Π½Π΄, находящихся Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС.

3. Π‘ΠΊΠΎΠ±ΠΊΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ скобки экономно. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈΡ… с Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ return ΠΈΠ»ΠΈ с условной конструкциСй, Ссли Π½Π΅ трСбуСтся ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ пСрСнос строки. Однако скобки Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ.

4. ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² выраТСниях ΠΈ инструкциях

4.1 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ скобки

4.1.1 НС ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ скобок (ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ…, Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… ΠΈ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ…).

4.1.2 Никаких ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой, которая Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², индСкс ΠΈΠ»ΠΈ срСз.

Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠŸΠ»ΠΎΡ…ΠΎ Π₯ΠΎΡ€ΠΎΡˆΠΎ ΠŸΠ»ΠΎΡ…ΠΎ

4.2 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ рядом с запятой, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

4.2.1 ΠŸΠ΅Ρ€Π΅Π΄ запятой, Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ с запятой Π»ΠΈΠ±ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ±Π΅Π» послС запятой, Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой ΠΈΠ»ΠΈ Ρ‚ΠΎΡ‡ΠΊΠΈ (ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ случая, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ находятся Π² ΠΊΠΎΠ½Ρ†Π΅ строки).

4.3 ΠŸΡ€ΠΎΠ±Π΅Π»Ρ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²

4.3.2 НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° присваивания (ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°) для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Ρ€ΠΎΠ²Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ.

5. Π”Π»ΠΈΠ½Π° строк

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΠ½Ρƒ строк 79 символами (Π° Π΄Π»ΠΈΠ½Ρƒ строк Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² β€” 72 символами). Π’ ΠΎΠ±Ρ‰Π΅ΠΌ случаС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш Π² качСствС ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ доступноС Π² Python явноС объСдинСниС строк посрСдством ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… ΠΈ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобок. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°Ρ€Ρƒ скобок Π²ΠΎΠΊΡ€ΡƒΠ³ выраТСния.

Если ваш тСкст Π½Π΅ помСщаСтся Π² ΠΎΠ΄Π½Ρƒ строку, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ скобки для явного объСдинСния строк.

Π§Ρ‚ΠΎ касаСтся Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… URL Π² коммСнтариях, Ρ‚ΠΎ располагайтС ΠΈΡ…, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС.

ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. НапримСр, с Π΄Π»ΠΈΠ½Π½ΠΎΠΉ конструкциСй with для пСрСноса Π±Π»ΠΎΠΊΠ° инструкций.

6. ΠŸΡƒΡΡ‚Ρ‹Π΅ строки

ΠžΡ‚Π΄Π΅Π»ΡΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ) ΠΈ опрСдСлСния классов двумя пустыми строками. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ класса отдСляйтС ΠΎΠ΄Π½ΠΎΠΉ пустой строкой. Π”Π²Π΅ пустыС строки Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ объявлСниями Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ уровня, Π±ΡƒΠ΄ΡŒ это класс ΠΈΠ»ΠΈ функция. Одна пустая строка Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ опрСдСлСниями ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ объявлСниСм класса ΠΈ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ (Π±Π΅Π· энтузиазма) пустыС строки Π² ΠΊΠΎΠ΄Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° логичСскиС части.

Python расцСниваСт символ control+L ΠΊΠ°ΠΊ Π½Π΅Π·Π½Π°Ρ‡Π°Ρ‰ΠΈΠΉ (whitespace), ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Ρ‹Π² страницы β€” Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, логичСскиС части Π² Ρ„Π°ΠΉΠ»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… страницах. Однако Π½Π΅ всС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°ΡŽΡ‚ control+L ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π° Π΅Π³ΠΎ мСстС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ символ.

7. ИмСна

ИмСна, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ:

7.1 ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ

ИмСна Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ², Π° слова Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒΡΡ символами подчСркивания β€” это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π‘Ρ‚ΠΈΠ»ΡŒ mixedCase допускаСтся Π² Ρ‚Π΅Ρ… мСстах, Π³Π΄Π΅ ΡƒΠΆΠ΅ ΠΏΡ€Π΅ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ ΡΡ‚ΠΈΠ»ΡŒ β€” для сохранСния ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости.

7.2 ИмСна ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

ΠœΠΎΠ΄ΡƒΠ»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°, состоящиС ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π±ΡƒΠΊΠ². МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символы подчёркивания, Ссли это ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π’ΠΎ ΠΆΠ΅ самоС относится ΠΈ ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π½Π΅ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ подчёркивания.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΈΠΌΠ΅Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΊ рСгистру символов ΠΈ ΠΎΠ±Ρ€Π΅Π·Π°ΡŽΡ‚ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π°, ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ достаточно ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ β€” это Π½Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² Unix, Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΊΠΎΠ΄ окаТСтся нСпСрСносимым Π² старыС вСрсии Windows, Mac, ΠΈΠ»ΠΈ DOS.

7.3 ИмСна классов

ВсС ΠΈΠΌΠ΅Π½Π° классов Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ соглашСнию CapWords ΠΏΠΎΡ‡Ρ‚ΠΈ Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

Иногда вмСсто этого ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ соглашСния для имСнования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, Ссли интСрфСйс Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² основном ΠΊΠ°ΠΊ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… соглашСния ΠΎ встроСнных ΠΈΠΌΠ΅Π½Π°Ρ…: Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ встроСнных ΠΈΠΌΠ΅Π½ β€” ΠΎΠ΄Π½ΠΎ слово (Π»ΠΈΠ±ΠΎ Π΄Π²Π° слитно написанных слова), Π° соглашСниС CapWords ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для имСнования ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ ΠΈ встроСнных констант.

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡŽΡ‚ΡΡ классами, ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ примСняСтся ΡΡ‚ΠΈΠ»ΡŒ имСнования классов. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Error Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΈΠΌΠ΅Π½ΠΈ (Ссли, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ являСтся ошибкой).

7.4 ИмСна констант

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ модуля ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ Π±ΡƒΠΊΠ²Π°ΠΌΠΈ, Π° слова Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ символами подчСркивания.

8. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡Π°Ρ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρƒ, Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ отсутствиС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ВсСгда исправляйтС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ссли мСняСтС ΠΊΠΎΠ΄!

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π½Ρ‹ΠΌΠΈ прСдлоТСниями. Если ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ β€” Ρ„Ρ€Π°Π·Π° ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠ΅Ρ€Π²ΠΎΠ΅ слово Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ написано с большой Π±ΡƒΠΊΠ²Ρ‹, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ это Π½Π΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, которая начинаСтся с малСнькой Π±ΡƒΠΊΠ²Ρ‹ (Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ отступайтС ΠΎΡ‚ этого ΠΏΡ€Π°Π²ΠΈΠ»Π° для ΠΈΠΌΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…).

Π‘Ρ‚Π°Π²ΡŒΡ‚Π΅ Π΄Π²Π° ΠΏΡ€ΠΎΠ±Π΅Π»Π° послС Ρ‚ΠΎΡ‡ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ прСдлоТСния.

Если Π²Ρ‹ β€” программист, Π½Π΅ говорящий ΠΏΠΎ-английски, Ρ‚ΠΎ всё Ρ€Π°Π²Π½ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ английский язык для написания ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π². ОсобСнно, Ссли Π½Π΅Ρ‚ увСрСнности Π½Π° 120% Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ этот ΠΊΠΎΠ΄ Π±ΡƒΠ΄ΡƒΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ люди, говорящиС Π½Π° вашСм Ρ€ΠΎΠ΄Π½ΠΎΠΌ языкС.

8.1 Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²

Π‘Π»ΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ ΠΊΠΎΠ΄ (вСсь ΠΈΠ»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ), ΠΈΠ΄ΡƒΡ‰ΠΈΠΉ послС Π±Π»ΠΎΠΊΠ°, ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ отступ, Ρ‡Ρ‚ΠΎ ΠΈ сам ΠΊΠΎΠ΄. КаТдая строчка Ρ‚Π°ΠΊΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа # ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π° послС Π½Π΅Π³ΠΎ (Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сам тСкст коммСнтария Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ отступа).

8.2 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² строкС с ΠΊΠΎΠ΄ΠΎΠΌ

Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π΅ΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π’Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ находится Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС, Ρ‡Ρ‚ΠΎ ΠΈ инструкция. «ВстрочныС» ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΡΡ‚ΡŒΡΡ хотя Π±Ρ‹ двумя ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΎΡ‚ инструкции. Они Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с символа # ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Π°.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² строкС с ΠΊΠΎΠ΄ΠΎΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ ΠΎΡ‚ чтСния, Ссли ΠΎΠ½ΠΈ ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎΠ΅.

8.3 Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ

БоглашСния ΠΎ написании Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (docstrings) зафиксированы Π² PEP 257.

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ стояли Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС. А Π΅Ρ‰Π΅ Π»ΡƒΡ‡ΡˆΠ΅, Ссли ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π΅Ρ‰Ρ‘ ΠΈ пустая строка.

Для однострочной Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ «»» Π½Π° Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС.

9. Π¦ΠΈΠΊΠ»Ρ‹

9.1 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ спискам

Если Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ всСм элСмСнтам списка, Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ (Π΄Π° ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ) Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠΉ способ:

И хотя Π±Ρ‹Π²Π°Π»Ρ‹Π΅ программисты ΠΈΠ»ΠΈ просто Π»ΡŽΠ±ΠΈΡ‚Π΅Π»ΠΈ C ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄, это ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½.

А Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ списку Π·Π°Π΄ΠΎΠΌ Π½Π°ΠΏΠ΅Ρ€Π΅Π΄, Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ reversed:

ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈ читаСтся-Ρ‚ΠΎ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ внятно.

9.2 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ списку чисСл

Если Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ ряду чисСл, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ range Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠ΅Π΅, ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ потрСбляСт Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС памяти, Ρ‡Π΅ΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π² Π±Π»ΠΎΠΊΠ΅ «ΠŸΠ»ΠΎΡ…ΠΎ». А ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас ряд ΠΈΠ· Ρ‚Ρ€Ρ‘Ρ… ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄ΠΎΠ² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… чисСл!

9.3 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ спискам с индСксами

ΠœΠ΅Ρ‚ΠΎΠ΄ enumerate позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сразу индСкс ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· списка, Ρ‡Ρ‚ΠΎ, Π²ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, прСдоставляСт мноТСство возмоТностСй для дальшнСйшСго проСктирования, Π° Π²ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ Π»Π΅Π³Ρ‡Π΅ читаСтся ΠΈ воспринимаСтся.

9.4 Π¦ΠΈΠΊΠ»Ρ‹ ΠΏΠΎ Π΄Π²ΡƒΠΌ спискам

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ zip, ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ· Π΄Π²ΡƒΡ… списков ΠΎΠ΄ΠΈΠ½ список ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ΅ΠΉ, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для дальнСйшСго использования ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ мСньшС памяти. Π”Π° ΠΈ просто этот Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π±ΠΎΠ»Π΅Π΅ элСгантный.

10. Π˜ΠΌΠΏΠΎΡ€Ρ‚Ρ‹

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС.

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π˜ΠΌΠΏΠΎΡ€Ρ‚Ρ‹ всСгда Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ Ρ„Π°ΠΉΠ»Π°, сразу послС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² уровня модуля, строк Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, ΠΏΠ΅Ρ€Π΅Π΄ объявлСниСм констант ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² уровня модуля. Π˜ΠΌΠΏΠΎΡ€Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ сгруппированы Π² порядкС ΠΎΡ‚ самых простых Π΄ΠΎ самых слоТных:

Наряду с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ отсортированы лСксикографичСски, нСрСгистрозависимо, согласно ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ Π΄ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ модуля.

РСкомСндуСтся Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎ ΠΈ Π²Π΅Π΄Π΅Ρ‚ сСбя Π»ΡƒΡ‡ΡˆΠ΅ (ΠΈΠ»ΠΈ, ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π΄Π°Ρ‘Ρ‚ понятныС сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…), Ссли импортируСмая систСма настроСна Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° заканчиваСтся Π½Π° sys.path ).

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, явный ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠΌΠΏΠΎΡ€Ρ‚ являСтся ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠΉ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²ΠΎΠΉ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠΌΡƒ ΠΈΠΌΠΏΠΎΡ€Ρ‚Ρƒ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Π³Π΄Π΅ использованиС Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Π±Ρ‹Π»ΠΎ Π±Ρ‹ излишнС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹ΠΌ.

Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ шаблонов ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΎΠ² ( from import * ), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ нСясным Ρ‚ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² глобальном пространствС ΠΈΠΌΡ‘Π½, Ρ‡Ρ‚ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ срСдства.

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с ΠΏΠΎΠ»Π½ΠΎΠΉ вСрсиСй соглашСния ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Python (PEP 8)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *