Π Π°Π·Π½ΠΎΠ΅

Python3 print: Print() Π² Python ~ синтаксис, Π°Ρ€Π³ΡƒΠΌΠ΅Ρ‚Ρ‹ end ΠΈ sep, ошибки ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

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

Ѐункция print() Π² Python, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

Ѐункция print() ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ строку.

Бинтаксис:
print( *objects , sep='' , end='\n' , file=sys.stdout , flush=False )
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
  • *objects — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Python
  • sep='' — строка, Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ None
  • end='\n' — строка, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ заканчиваСтся ΠΏΠΎΡ‚ΠΎΠΊ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ None
  • file=sys.stdout — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ wrtite(string). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ None
  • flush=False — Ссли True ΠΏΠΎΡ‚ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ±Ρ€ΠΎΡˆΠ΅Π½ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» file ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ False
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:
  • тСкстовый ΠΏΠΎΡ‚ΠΎΠΊ
ОписаниС:

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ print() Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² тСкстовый ΠΏΠΎΡ‚ΠΎΠΊ, отдСляя ΠΈΡ… Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π° sep ΠΈ заканчивая ΠΏΠΎΡ‚ΠΎΠΊ end. sep, end, file ΠΈ flush, Ссли ΠΎΠ½ΠΈ Π·Π°Π΄Π°Π½Ρ‹, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ sep ΠΈ end Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ строками, ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ None, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ использованиС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ, print() просто Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΊΠΎΠ½Π΅Ρ† строки '\n'.

ΠŸΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ print() Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π² строку ΠΏΠΎ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ str().

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅:
Π’ связи с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² строки, функция Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована с Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ. Π§Ρ‚ΠΎΠ±Ρ‹ вСсти запись Π² Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ file.write().

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования:
print('Hello')
# Hello

print('Hello', 'how are you?')
# Hello how are you?

print('Hello', 'how are you?', sep='---')
# Hello---how are you?

print('Π Π°Π·', end='=>')
print('Π”Π²Π°')
# Π Π°Π·=>Π Π°Π·

print(11, 12, 13, 14, sep=';')
# 11;12;13;14

Ѐункция input() Π² Python, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π°.

Ѐункция input() позволяСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² консоли.

Бинтаксис:
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
  • prompt — строка подсказки.
Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅:
  • строка str, Π΄Π°ΠΆΠ΅ Ссли вводятся Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π΅ значСния.
ОписаниС:

Ѐункция input() позволяСт ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· консоли. Если ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ подсказки prompt, Ρ‚ΠΎ ΠΎΠ½ записываСтся Π² стандартный Π²Ρ‹Π²ΠΎΠ΄ Π±Π΅Π· Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰Π΅ΠΉ строки. Π—Π°Ρ‚Π΅ΠΌ функция Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ строку ΠΈΠ· Π²Π²ΠΎΠ΄Π° ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΅Π΅ Π² БВРОКУ, убирая Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΉ символ строки '\n' ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΅Π΅ Π² качСствС значСния.

Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, всС Ρ‡Ρ‚ΠΎ вводится Π² консоль ΠΏΡ€ΠΈ использовании встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ input() прСобразуСтся Π² Ρ‚ΠΈΠΏ str. Π­Ρ‚ΠΎ происходит Π² Ρ‚ΠΎΠΌ числС ΠΈ с числами. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, числовыС Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΡ… использованиСм Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ.

Если Π±Ρ‹Π» ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ readline, Ρ‚ΠΎ функция input() Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для обСспСчСния слоТных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ рСдактирования строк ΠΈ истории.

  • Π’ случаС считывания EOF (ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π°), поднимаСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ EOFError.
  • ΠŸΠ΅Ρ€Π΅Π΄ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ Π²Π²ΠΎΠ΄Π°, функция input() Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС Π°ΡƒΠ΄ΠΈΡ‚Π° input с Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ prompt.
  • ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ чтСния Π²Π²ΠΎΠ΄Π°, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ событиС Π°ΡƒΠ΄ΠΈΡ‚Π° input c Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ resultс.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ input():

ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ input().

>>> x = input('Enter your name:')
# Enter your name:Anton
>>> print('Hello, ', x)
# Hello,  Anton

# МоТно ΠΈ Π±Π΅Π· строки подсказки
>>> print('Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число:')
# Π’Π²Π΅Π΄ΠΈΡ‚Π΅ число:
>>> x = input()
# 10

# НС Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌ Ρ‡Ρ‚ΠΎ функция 
# Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку
>>> x
# '10'

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ использовании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ input().

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прСдставляСт собой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ подсчСта суммы ΠΈΠ»ΠΈ произвСдСния Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π² консоль чисСл. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ числовыС Ρ‚ΠΈΠΏΡ‹ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Ρ‚ΠΈΠΏΠΎΠ² int ΠΈ float, Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ input() ΠΈΠ· консоли ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Python.

# test.py 

def str_to_num(line):
    """функция ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ строку Π² число"""
    line = line.strip()
    # Ссли Π² строкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹
    if line.isdigit():
        return int(line) 
    # Ссли строка содСрТит Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡ‚ΡƒΡŽ
    elif '.' in line or ',' in line:
        # Ссли ΠΈΠ· строки ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡ‚ΡƒΡŽ
        # ΠΈ ΠΏΡ€ΠΈ этом Π² строкС останутся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ†ΠΈΡ„Ρ€Ρ‹
        if any(line.replace(x, '').isdigit() for x in ['.', ',']):
            return float(line.replace(',', '.'))
    else:
        # ошибка
        print('Π­Ρ‚ΠΎ Π½Π΅ число!\n')
        return None

print('\nДля Π²Ρ‹Ρ…ΠΎΠ΄Π° ΠΈΠ· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ Ctrl+C')
print('Для окончания Π²Π²ΠΎΠ΄Π° Ρ†ΠΈΡ„Ρ€ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter\n')

nums = []
while True:
    inpt = input('ΠžΠΆΠΈΠ΄Π°Π΅Ρ‚ΡΡ Π²Π²ΠΎΠ΄ числа ΠΈΠ»ΠΈ Enter:')
    if inpt == '':
        # Π—Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ чисСл
        break
    n = str_to_num(inpt)
    if n is not None:
        nums. append(n)

if nums:
    if len(nums) == 1:
        print('Π’Ρ‹ Π²Π²Π΅Π»ΠΈ ΠΎΠ΄Π½Ρƒ Ρ†ΠΈΡ„Ρ€Ρƒ: '

Как ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ «print» Π² Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python?

Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΠΎΠ½Ρ€Π°Π²ΠΈΡ‚ΡŒΡΡ этот ΠΎΡ‚Π²Π΅Ρ‚, Π½ΠΎ я Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ. НС мСняйтС мСсто назначСния stdout, Ссли это Π½Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ (Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ stdout??? здСсь явно Π½Π΅ Ρ‚Π°ΠΊ).

Π― Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡ΠΊΠ° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ свои Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ Π² Π²ΠΈΠ΄Π΅ строки, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ всС сразу. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π° / Π²Ρ‹Π²ΠΎΠ΄Π° Ρ‡Π΅ΠΌ дольшС Ρƒ вас ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ дСскриптор Ρ„Π°ΠΉΠ»Π°, Ρ‚Π΅ΠΌ большС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки происходят с этим Ρ„Π°ΠΉΠ»ΠΎΠΌ (ошибка Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„Π°ΠΉΠ»Π°, ошибка Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Ρ‚. Π΄.). ΠŸΡ€ΠΎΡΡ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ всС это Π·Π° ΠΎΠ΄Π½Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π΅ оставляСт сомнСний Π² Ρ‚ΠΎΠΌ, ΠΊΠΎΠ³Π΄Π° это ΠΌΠΎΠ³Π»ΠΎ ΠΏΠΎΠΉΡ‚ΠΈ Π½Π΅ Ρ‚Π°ΠΊ.

Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

out_lines = []
for bamfile in bamfiles:
    filename = bamfile.split('/')[-1]
    out_lines.append('Filename: %s' % filename)
    samtoolsin = subprocess. Popen(["/share/bin/samtools/samtools","view",bamfile],
                                  stdout=subprocess.PIPE,bufsize=1)
    linelist= samtoolsin.stdout.readlines()
    print 'Readlines finished!'
    out_lines.extend(linelist)
    out_lines.append('\n')

Π° Π·Π°Ρ‚Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ всС Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚Π΅ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ свои «ΡΡ‚Ρ€ΠΎΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…» ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ строкС Π½Π° элСмСнт списка, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ '\n' символы, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС это outputtable; ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ вашС заявлСниС Π²Ρ‹Ρ…ΠΎΠ΄ Π² with Π±Π»ΠΎΠΊ, для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ бСзопасности (автоматичСски Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ ваш Π²Ρ‹Ρ…ΠΎΠ΄ справится Π΄Π°ΠΆΠ΅ Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ):

out_string = '\n'.join(out_lines)
out_filename = 'myfile.txt'
with open(out_filename, 'w') as outf:
    outf.write(out_string)
print "YAY MY STDOUT IS UNTAINTED!!!"

ΠΎΠ΄Π½Π°ΠΊΠΎ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… для записи, Π²Ρ‹ ΠΌΠΎΠ³ Π±Ρ‹ Π½Π°ΠΏΠΈΡˆΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ части Π·Π° Ρ€Π°Π·. Π― Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ это ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ, Π½ΠΎ Π²ΠΎΡ‚ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°:

out_filename = 'myfile. txt'
outf = open(out_filename, 'w')
for bamfile in bamfiles:
    filename = bamfile.split('/')[-1]
    outf.write('Filename: %s' % filename)
    samtoolsin = subprocess.Popen(["/share/bin/samtools/samtools","view",bamfile],
                                  stdout=subprocess.PIPE,bufsize=1)
    mydata = samtoolsin.stdout.read()
    outf.write(mydata)
outf.close()

4

Π°Π²Ρ‚ΠΎΡ€: machine yearning

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python 3 для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…:def ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ β€” ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ (return)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ β€” Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ любого языка, ΠΈ Python Π½Π΅ являСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€ΠΈ написании любого ΠΊΡ€ΡƒΠΏΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, поэтому ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ программист Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ функция

Ѐункция β€” это Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Она являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ любого языка программирования.

Ѐункция позволяСт Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π½Π° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅, Π½ΠΎ связанныС части. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ повторСния ΠΊΠΎΠ΄Π°.

Ѐункция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ значСния, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Π°ΠΊΠΆΠ΅ ΠΎΠ½Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° экран ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ».

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ языка, Ссли ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ. НапримСр, Π»ΡƒΡ‡ΡˆΠ΅ самому Π½Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для опрСдСлСния максимального числа, Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ стандартной max().

ОбъявлСниС

Объявляя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΡƒΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ:

  • ОбъявлСниС происходит с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова def, Π·Π° Π½ΠΈΠΌ ΠΈΠ΄Ρ‘Ρ‚ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки ().
  • АргумСнты, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ находится Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках. Π’Π°ΠΌ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΈΡ… значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π² ΠΈΡ… послС Π·Π½Π°ΠΊΠ° Ρ€Π°Π²Π½ΠΎ.
  • ΠŸΠ΅Ρ€Π΅Π΄ основным содСрТимым ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ строку Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ (docstring), которая ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ описываСт Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β  ΠΈ основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.
  • Π’Π΅Π»ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ начинаСтся послС Π·Π½Π°ΠΊΠ° двоСточия. Π’Π°ΠΆΠ½ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΎΠ± отступах.
  • Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ return [Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅]. Если ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΎΠΏΡƒΡ‰Π΅Π½, Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ None.

Π€ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ Π³Π΄Π΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ: Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля, класса ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Если ΠΎΠ½Π° ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Ρ‚ΠΎ называСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ класса ΠΈ вызываСтся Ρ‚Π°ΠΊ: class_name.function().

Бинтаксис объявлСния

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ (Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹) Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Ρ… скобках.

def Имя(Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹):
    "ДокумСнтация"
    Π’Π΅Π»ΠΎ (инструкции)
    return [Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅]

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

Ѐункция складываСт Π΄Π²Π° числа, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Π΅ Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Если ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΎΠ±Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

def print_sum(a = 2, b = 2):
    sum = a + b
    print(sum)
    return # Π²Π΅Ρ€Π½Ρ‘Ρ‚ None

Π’Ρ‹Π·ΠΎΠ²

ПослС опрСдСлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любой Ρ‚ΠΎΡ‡ΠΊΠ΅ скрипта, ΠΊΠ°ΠΊ Π² Ρ‚Π΅Π»Π΅ самого скрипта, Ρ‚Π°ΠΊ ΠΈ Π² Ρ‚Π΅Π»Π΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

# опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ
def print_sum(a = 2, b = 2):
    sum = a + b
    print(sum)
#Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Π΅Ρ‘
print_sum(5, 1)

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ сразу ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΈΠ»ΠΈ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ:

def sum(a = 2, b = 2):
    sum = a + b
    return sum # Π²Π΅Ρ€Π½Ρ‘Ρ‚ сумму
c = sum(4, 3) # пСрСмСнная c Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ
print(sum(5, 5)) # ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ значСния Π² Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, ΠΏΠΎΠΊΠ° Π΅Ρ‘ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ Π² Ρ†ΠΈΠΊΠ»Π΅. Если ΠΎΡ‚ Ρ†ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ максимального быстродСйствия, Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ просто Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚ΡŒ Ρ‚Π΅Π»Π° Ρ†ΠΈΠΊΠ»Π° Π΅Ρ‘ ΠΊΠΎΠ΄.

ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΡ€ΠΈ описании Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python 3 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π·Π°Π΄Π°ΡŽΡ‚ΡΡ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ. Π’Π½Π°Ρ‡Π°Π»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π½ΠΈΡ… Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅.

ΠŸΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ значСния Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Если ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π΅ мСняя Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ значСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

def example(first, second=3, third=5):
    print(first)
    print(second)
    print(third)
example('my string', third=4)

Π’Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

my string
3
4

Ѐункция с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ числом Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ΅ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ списка ΠΈΠ»ΠΈ массива, ΠΎΠ΄Π½Π°ΠΊΠΎ Python позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ (Ρ‚Π°ΠΊΠΆΠ΅ с использованиСм списка).

Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ функция ΠΌΠΎΠ³Π»Π° ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° ставится символ ” * β€œ. Когда программист ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΎΠ½ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, имя ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ соотвСтствуСт ΠΈΠΌΠ΅Π½ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

def variable_len(*args):
    for x in args:
        print(x)
variable_len(1,2,3) # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 1,2,3

ВмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ символа Π·Π²Ρ‘Π·Π΄ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π°, Ρ‚ΠΎΠ³Π΄Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ Π½Π΅ Π² список, Π° Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ:

def variable_len(**args):
    print(type(args))
    for x, value in args.items():
        print(x, value)
variable_len(apple = "яблоко", bread = "Ρ…Π»Π΅Π±") 
# Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ apple яблоко bread Ρ…Π»Π΅Π±

АнонимныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Π­Ρ‚ΠΎ особый Π²ΠΈΠ΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова lambda вмСсто def:

Лямбда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ любоС количСство Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ нСсколько Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΈ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

Бинтаксис

Бинтаксис лямбда Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python 3 прСдусматриваСт использованиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ выраТСния: lambda arg1, arg2, … argn: Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.
На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚Π°ΠΊ:

x = lambda arg1, arg2: arg1 * arg2
print(x(5,5)) # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 25
print(x(3,5)) # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ 15

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° return ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ: число, строка, None.

Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ. Python позволяСт Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ список ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:Β  достаточно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ послС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова return имя ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ³Π΄Π° возвращаСтся список:

def x(n):
    a = [1,3]
    a = a * n
    return a
print(x(2)) # Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ [1,3,1,3]

А это ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ функция Π² Python 3 Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ пСрСчислСны Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ список. Π­Ρ‚ΠΈ значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ сразу нСскольким ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, ΠΊΠ°ΠΊ это ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

def example():
    language = "python"
    version = 3
    flag = True
    return language, version, flag
language, version, flag = example()
print(language, version, flag) # Π²Ρ‹Π²Π΅Π΄Π΅Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ python 3 True

РСкурсия

РСкурсиСй называСтся процСсс, ΠΊΠΎΠ³Π΄Π° функция Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ саму сСбя. Π•Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСсто Ρ†ΠΈΠΊΠ»ΠΎΠ², Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Π½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΡŽ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π°.

def f(num):
    if num == 0:
        return 1
    return f(num-1) * num
print(f(5)) # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ число 120

Π Π΅ΠΊΡƒΡ€ΡΠΈΡŽ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python автоматичСски выдСляСт ΠΏΠ°ΠΌΡΡ‚ΡŒ для Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π΅ΠΉΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Ссли Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² самой сСбя Π±ΡƒΠ΄Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ, это ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ стСка ΠΈ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ β€œRecursionError”, которая ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΠΌΠΈΡ‚ рСкурсии.

def x(num):
    a = num - 1
    print(a)
    x(a)
x(5)

Π£Π·Π½Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π»ΠΈΠΌΠΈΡ‚ ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ getrecursionlimit() ΠΈ setrecursionlimit(ΠΏΡ€Π΅Π΄Π΅Π») ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ sys.

Один ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² примСнСния рСкурсии – это расчёт чисСл Π€ΠΈΠ±ΠΎΠ½Π°Ρ‡Ρ‡ΠΈ.

ΠŸΡƒΡΡ‚Π°Ρ функция

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π½ΡƒΠΆΠ½ΠΎ Π² Π΅Ρ‘ Ρ‚Π΅Π»Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ pass. Π’ΠΎΠ³Π΄Π° ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий.

Π’Π°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… спСцифичных Π·Π°Π΄Π°Ρ‡, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с классами, асинхронной ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌ.

ΠžΠ±Ρ‹Ρ‡Π½ΠΎ программисты Π΄Π΅Π»Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ пустой, ΠΊΠΎΠ³Π΄Π° хотят ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ Π΅Ρ‘ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° ΠΏΠΎΡ‚ΠΎΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π΅Ρ‘ ΡƒΠΆΠ΅ спланирован, Π½ΠΎ Π΅Ρ‰Ρ‘ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½, Π° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ Π½Π°Π΄ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚ΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°).

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

def example():
    pass

ΠžΠ±Π»Π°ΡΡ‚ΠΈ видимости

ΠžΠ±Π»Π°ΡΡ‚ΡŒ видимости β€” ваТная ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ любого языка программирования. Π‘ Π΅Ρ‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ нСсколько Ρ€Π°Π·.

ΠžΠ±Π»Π°ΡΡ‚ΠΈ видимости Ρ‚Π°ΠΊΠΆΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±ΠΎΠ»Π΅Π΅ бСзопасной, Π½Π΅ позволяя ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ.

Π’ Python сущСствуСт Π΄Π²Π΅ области видимости:

  • Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля ΠΈ доступны ΠΈΠ· любой Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
  • Π›ΠΎΠΊΠ°Π»ΡŒΠ½Π°Ρ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² Ρ‚Π΅Π»Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Ρ‘.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΈΠ· локальной области видимости ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ, находящимся Π² глобальной, Π½ΠΎ Π½Π΅ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.

ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ глобальной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½

f-строки Π² Python 3 — ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Начиная с вСрсии 3.6 Π² Python появился Π½ΠΎΠ²Ρ‹ΠΉ Ρ‚ΠΈΠΏ строк β€” f-строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠΊΠ²Π°Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ Β«formatted stringΒ». Π­Ρ‚ΠΈ строки ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ быстрСС Ρ‡Π΅ΠΌ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ способы форматирования. F-строки Π·Π°Π΄Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° Β«fΒ» ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ.

>>> "обычная строка"
>>> f"f-строка"

f-строки — это пятый способ (sic!) форматирования строк Π² Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° использованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format().

Вспомним всС 5 способов форматирования.

5 способов форматирования строк

1. ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ. Π“Ρ€ΡƒΠ±Ρ‹ΠΉ способ форматирования, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ просто склСиваСм нСсколько строк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ слоТСния:

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> print("МСня Π·ΠΎΠ²ΡƒΡ‚ " + name + ". МнС " + str(age) + " Π»Π΅Ρ‚.")
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.

2. %-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π‘Π°ΠΌΡ‹ΠΉ популярный способ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΡˆΠ΅Π» Π² Python ΠΈΠ· языка Π‘. ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ значСния Π² строку ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· списки ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ , Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ словаря. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ случаС значСния ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π½Π΅ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, Π° Π² соотвСтствии с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> print("МСня Π·ΠΎΠ²ΡƒΡ‚ %s.  МнС %d Π»Π΅Ρ‚." % (name, age))
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.
>>> print("МСня Π·ΠΎΠ²ΡƒΡ‚ %(name)s. МнС %(age)d Π»Π΅Ρ‚." % {"name": name, "age": age})
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.

3. Template-строки. Π­Ρ‚ΠΎΡ‚ способ появился Π² Python 2.4, ΠΊΠ°ΠΊ Π·Π°ΠΌΠ΅Π½Π° %-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ (PEP 292), Π½ΠΎ популярным Ρ‚Π°ΠΊ ΠΈ Π½Π΅ стал. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ $-синтаксис ΠΊΠ°ΠΊ Π² PHP.

>>> from string import Template
>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> s = Template('МСня Π·ΠΎΠ²ΡƒΡ‚ $name. МнС $age Π»Π΅Ρ‚.')
>>> print(s.substitute(name=name, age=age))
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.

4. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format(). Π­Ρ‚ΠΎΡ‚ способ появился Π² Python 3 Π² качСствС Π·Π°ΠΌΠ΅Π½Ρ‹ %-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> print("МСня Π·ΠΎΠ²ΡƒΡ‚ {}.  МнС {} Π»Π΅Ρ‚.".format(name, age)
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.
>>> print("МСня Π·ΠΎΠ²ΡƒΡ‚ {name} МнС {age} Π»Π΅Ρ‚.".format(age=age, name=name)
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.

5. f-строки. Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ появилось Π² Python 3.6 (PEP 498). Π­Ρ‚ΠΎΡ‚ способ ΠΏΠΎΡ…ΠΎΠΆ Π½Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format(), Π½ΠΎ Π³ΠΈΠ±Ρ‡Π΅, Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π΅ΠΉ ΠΈ быстрСй.

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> print(f"МСня Π·ΠΎΠ²ΡƒΡ‚ {name} МнС {age} Π»Π΅Ρ‚.")
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 25 Π»Π΅Ρ‚.

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½Π΅ Π² f-строки

f-строки Π΄Π΅Π»Π°ΡŽΡ‚ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²Π΅Ρ‰ΡŒ β€” ΠΎΠ½ΠΈ Π±Π΅Ρ€ΡƒΡ‚ значСния ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ области видимости, ΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΈΡ… Π² строку. Π’ самой строкС Π²Π°ΠΌ лишь Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ имя этой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках.

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> age = 25
>>> print(f"МСня Π·ΠΎΠ²ΡƒΡ‚ {name} МнС {age} Π»Π΅Ρ‚.")
>>> МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ.  МнС 25 Π»Π΅Ρ‚.

f-строки Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ чисСл:

>>> from math import pi
>>> print(f"Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа pi: {pi:.2f}")
>>> Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ числа pi: 3.14

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ f-строк ΠΌΠΎΠΆΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ Π±Π΅Π· Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° strftime():

>>> from datetime import datetime as dt
>>> now = dt.now()
>>> print(f"Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя {now:%d.%m.%Y %H:%M}")
>>> Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя 24.02.2017 15:51

Они ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ арифмСтичСскиС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Π”Π°, прямо Π² строках:

>>> x = 10
>>> y = 5
>>> print(f"{x} x {y} / 2 = {x * y / 2}")
>>> 10 x 5 / 2 = 25.0

ΠŸΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ значСниям списков ΠΏΠΎ индСксу:

>>> planets = ["ΠœΠ΅Ρ€ΠΊΡƒΡ€ΠΈΠΉ", "Π’Π΅Π½Π΅Ρ€Π°", "ЗСмля", "ΠœΠ°Ρ€Ρ"]
>>> print(f"ΠœΡ‹ ΠΆΠΈΠ²ΠΈΠΌ Π½Π΅ ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ {planets[2]}")
>>> ΠœΡ‹ ΠΆΠΈΠ²ΠΈΠΌ Π½Π΅ ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ ЗСмля

А Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ элСмСнтам словаря ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ:

>>> planet = {"name": "ЗСмля", "radius": 6378000}
>>> print(f"ΠŸΠ»Π°Π½Π΅Ρ‚Π° {planet['name']}.  Радиус {planet['radius']/1000} ΠΊΠΌ.")
>>> ΠŸΠ»Π°Π½Π΅Ρ‚Π° ЗСмля. Радиус 6378.0 ΠΊΠΌ. 

ΠŸΡ€ΠΈΡ‡Π΅ΠΌ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ строковыС, Ρ‚Π°ΠΊ ΠΈ числовыС ΠΊΠ»ΡŽΡ‡ΠΈ. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Python ΠΊΠΎΠ΄Π΅:

>>> digits = {0: 'ноль', 'one': 'один'}
>>> print(f"0 - {digits[0]}, 1 - {digits['one']}")
>>> 0 - ноль, 1 - один

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π² f-строках ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

>>> name = "Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ"
>>> print(f"Имя: {name.upper()}")
>>> Имя: Π”ΠœΠ˜Π’Π˜Π Π˜Π™

А Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

>>> print(f"13 / 3 = {round(13/3)}")
>>> 13 / 3 = 4

f-строки ΠΎΡ‡Π΅Π½ΡŒ Π³ΠΈΠ±ΠΊΠΈΠΉ ΠΈ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт для создания самых Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·Π½Ρ‹Ρ… шаблонов.

Π‘ΠΎ всСми возмоТностя f-строк Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ознакомится Π² PEP498.

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

F-строки Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΈΠ±ΠΊΠΈΠ΅, Π½ΠΎ ΠΈ быстрыС. И для сравнСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ² ΠΊ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ я ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ» Π΄Π²Π° шаблона:

  • простой, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ всСго Π΄Π²Π° значСния: строку ΠΈ число;
  • слоТный, Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ происходит ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Ρ‚Ρ‹, вСщСствСнного числа, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΊΡ€ΡƒΠ³Π»Π΅Π½ΠΈΠ΅.

Ѐинальная простая строка получаСтся Ρ‚Π°ΠΊΠΎΠΉ:

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, мСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ. МнС 27 Π»Π΅Ρ‚.

БлоТная строка Π½Π° Π²Ρ‹Ρ…ΠΎΠ΄Π΅ такая:

БСгодня 24.02.2017.

ΠœΡ‹ ΠΆΠΈΠ²Ρ‘ΠΌ Π½Π° ΠΏΠ»Π°Π½Π΅Ρ‚Π΅ ЗСмля. Π•Ρ‘ радиус 6378 ΠΊΠΌ., Π° масса 5.973e+24

ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ обращСния ΠΏΠ»Π°Π½Π΅Ρ‚Ρ‹ Π²ΠΎΠΊΡ€ΡƒΠ³ Π‘ΠΎΠ»Π½Ρ†Π° 365 Π΄Π½Π΅ΠΉ.

Π”Π°Π»Π΅Π΅ я написал 5 Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, каТдая ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку ΠΎΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· способом, Π° послС запустил ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ всСх Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ тСстового скрипта ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚.

ПослС Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ тСстирования я ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

На простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… f-строки ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ самыС Π»ΡƒΡ‡ΡˆΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.
На 25% быстрСС %-форматирования ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format().

На слоТных ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… f-строки Π²Π΅Π΄ΡƒΡ‚ сСбя Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ %-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅
(Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ %-форматирования Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ ΠΏΠΎΠ³Ρ€Π΅ΡˆΠ½ΠΎΡΡ‚ΠΈ).
А Π²ΠΎΡ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° format() f-строки быстрСС Π½Π° 27%.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Python 3. 6 ΠΈ ΡΡ‚Π°Ρ€ΡˆΠ΅, Ρ‚ΠΎ самоС врСмя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ f-строки β€” ΠΎΠ½ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ быстрыС.

ПодСлись с Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ:

Shultais Education β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° для обучСния ITΒ ΠΈΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.
ΠΠ°Β Π½Π°ΡˆΠΈΡ… курсах Π²Ρ‹Β Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ основам программирования Π½Π°Β Python, Π°Β Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сайты Π½Π°Β Django.

Наши курсы

Python 3 — Π£Ρ€ΠΎΠΊ 003. Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ синтаксис

Π―Π·Ρ‹ΠΊ Python ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с Perl, C ΠΈ Java. Однако ΠΌΠ΅ΠΆΠ΄Ρƒ языками ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ различия.

ΠŸΠ΅Ρ€Π²Π°Ρ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Python

Π”Π°Π²Π°ΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… программирования.

Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ программирования

Π’Ρ‹Π·ΠΎΠ² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»Π° сцСнария Π² качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ подсказку —


$ python

Python 3.5.2 (default, Dec 10 2013, 11:35:01)
[GCC 5.4.0] on Linux
Type "help", "copyright", "credits", or "license" for more information.
>>>

On Windows:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v. 1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>>

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ тСкст Π² ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠΈ Python ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter —


>>> print ("Hello, Python!")

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΡ‚Π°Ρ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Python (Python 2.x), использованиС скобок Π² качСствС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

inprint

Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


Hello, Python!

Π Π΅ΠΆΠΈΠΌ программирования со скриптами

Π’Ρ‹Π·ΠΎΠ² ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ script Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скрипта ΠΈ продолТаСтся Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ скрипта. Когда скрипт Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ пСрСстаСт Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Python Π² скриптС. Π€Π°ΠΉΠ»Ρ‹ Python ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅

.py

. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ исходный ΠΊΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»

test.py


print ("Hello, Python!")

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python, установлСнный Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

PATH

. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Linux

$ python test.py 

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


Hello, Python!
Windows

C:\Python35>Python test.py

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


Hello, Python!

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ скрипт Python Π² Linux. Π’ΠΎΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» test.py —


#!/usr/bin/python3
print ("Hello, Python!")

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python, доступный Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅

/usr/bin

. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:


$ chmod +x test.py     # Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» исполяСмым
$./test.py

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


Hello, Python!

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Python

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Python — это имя, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, класса, модуля ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ начинаСтся с Π±ΡƒΠΊΠ²Ρ‹ ΠΎΡ‚ A Π΄ΠΎ Z ΠΈΠ»ΠΈ ΠΎΡ‚ a Π΄ΠΎ z ΠΈΠ»ΠΈ символа подчСркивания (_), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт ноль ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ Π±ΡƒΠΊΠ², Π·Π½Π°ΠΊΠΎΠ² подчСркивания ΠΈ Ρ†ΠΈΡ„Ρ€ (ΠΎΡ‚ 0 Π΄ΠΎ 9).

Python Π½Π΅ допускаСт Π·Π½Π°ΠΊΠΎΠ² прСпинания, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ @, $ ΠΈ% Π² ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°Ρ…. Python — это язык программирования, Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΊ рСгистру. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Manpower ΠΈ manpower ΡΠ²Π»ΡΡŽΡ‚ΡΡ двумя Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² Python.

Π—Π΄Π΅ΡΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ соглашСния ΠΎΠ± ΠΈΠΌΠ΅Π½Π°Ρ… для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Python —

  • ИмСна классов Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π±ΡƒΠΊΠ²Ρ‹ Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистра. ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΠΌΠ°Π»ΠΎΠΉΒ Π±ΡƒΠΊΠ²Ρ‹.
  • Начало ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с ΠΎΠ΄Π½ΠΈΠΌΒ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ являСтся ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΌ.
  • Начало ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° с двумя Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΌΠΈ символами подчСркивания ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΡΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.
  • Если ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ заканчиваСтся двумя Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΠΈΠΌΠΈ символами подчСркивания, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ являСтся ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π° языкС.

Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ спискС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Python. Π­Ρ‚ΠΎ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова, ΠΈ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² качСствС констант ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠΌΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². ВсС ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Python содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строчныС Π±ΡƒΠΊΠ²Ρ‹.

and exec not
as finally or
assert for pass
break from print
class global raise
continue if return
def import try
del in while
elif is with
else lambda yield
except

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ ΠΈ отступы

Python Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки ({}) для обозначСния Π±Π»ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄Π° для опрСдСлСния классов ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ управлСния ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ. Π‘Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ строкой влоТСния, которая примСняСтся всСгда Π±Π΅Π· ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ.

ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² Π² отступС являСтся ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, Π½ΠΎ всС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ отступы ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. НапримСр,


if True:
    print ("True")

else:
    print ("False")

Однако ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π±Π»ΠΎΠΊ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ —


if True:
    print ("Answer")
print ("True")

else:
    print ("Answer")
print ("False")

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² Python всС Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹Π΅ Π»ΠΈΠ½ΠΈΠΈ с отступом с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ количСством ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ Π±Π»ΠΎΠΊ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² —

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠ΄Π°. ΠŸΡ€ΠΎΡΡ‚ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ поняли, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠΈ Π² Python.


#!/usr/bin/python3

import sys

try:
   # open file stream
   file = open(file_name, "w")

except IOError:
   print ("There was an error writing to", file_name)
   sys.exit()
print ("Enter '", file_finish,)
print "' When finished"
while file_text != file_finish:
   file_text = raw_input("Enter text: ")
   if file_text == file_finish:
      # close the file
	  file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = input("Enter filename: ")
if len(file_name) == 0:
   print ("Next time please enter something")
   sys.exit()

try:
   file = open(file_name, "r")

except IOError:
   print ("There was an error reading file")
   sys.exit()
file_text = file.read()
file.close()
print (file_text)

ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ объялСния

ОбъялСния в Python ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²ΠΎΠΉ строкой. Однако Python позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ продолТСния строки (\), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ строка Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒΡΡ. НапримСр,


total = item_one + \
        item_two + \
        item_three

ОбъявлСния, содСрТащиСся Π² скобках [], {} ΠΈΠ»ΠΈ (), Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ символ продолТСния строки. НапримСр,


days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']

ΠšΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² Python

Python ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ (‘), Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ («) ΠΈ Ρ‚Ρ€ΠΎΠΉΠ½Ρ‹Π΅ (»’ ΠΈΠ»ΠΈ «»») ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ строковыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ начинаСтся ΠΈ заканчиваСтся ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ Ρ†ΠΈΡ‚Π°Ρ‚Π°.

Π’Ρ€ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΡ…Π²Π°Ρ‚Π° строки Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строках. НапримСр, всС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Β —


word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Python

Π—Π½Π°ΠΊ Ρ…ΡΡˆΠ° (#), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ строкового Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°, являСтся Π½Π°Ρ‡Π°Π»ΠΎΠΌ коммСнтария. ВсС символы послС #, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° физичСской Π»ΠΈΠ½ΠΈΠΈ, ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‡Π°ΡΡ‚ΡŒΡŽ коммСнтария, Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Python ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΈΡ….


#!/usr/bin/python3

# First comment
print ("Hello, Python!") # second comment

Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:


Hello, Python!

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ввСсти ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ строкС послС объявлСния или выраТСния —


name = "Madisetti" # This is again comment

Python Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ многострочного коммСнтирования. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΡ€ΠΎΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ:


# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

ИспользованиС пустых строк

Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ с ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅ΠΌ, называСтся пустой строкой, ΠΈ Python ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π΅.

Π’ сСансС ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ввСсти ΠΏΡƒΡΡ‚ΡƒΡŽ Ρ„ΠΈΠ·ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ строку для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ многострочного ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°.

ОТиданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ строка ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ ΠΈ сообщСниС «НаТмитС ΠΊΠ»Π°Π²ΠΈΡˆΡƒ enter для Π²Ρ‹Ρ…ΠΎΠ΄Π°Β», Π° Π·Π°Ρ‚Π΅ΠΌ ΠΆΠ΄Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ дСйствиС —


#!/usr/bin/python3

input("\n\nPress the enter key to exit.")

Π—Π΄Π΅ΡΡŒ Β«\n\nΒ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания Π΄Π²ΡƒΡ… Π½ΠΎΠ²Ρ‹Ρ… строк ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ фактичСской строки. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π°ΠΆΠΈΠΌΠ°Π΅Ρ‚ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° заканчиваСтся. Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΉ Ρ‚Ρ€ΡŽΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ консольноС ΠΎΠΊΠ½ΠΎ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

НСсколько объявлСний Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС

Π’ΠΎΡ‡ΠΊΠ° с запятой (;) допускаСт нСсколько ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, Ссли ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ no Π½Π΅ запускаСт Π½ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°. Π’ΠΎΡ‚ примСр с использованиСм Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой —


import sys; x = 'foo'; sys.stdout.write(x + '\n')

НСсколько Π³Ρ€ΡƒΠΏΠΏ выраТСния ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€

Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄ΠΎΠ²Ρ‹ΠΉ Π±Π»ΠΎΠΊ, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π² Python. Для слоТных ΠΈΠ»ΠΈ слоТных ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ if, while, def ΠΈ class, трСбуСтся строка Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΈ Π½Π°Π±ΠΎΡ€.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° (с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом) ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ (:), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ нСсколько строк, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π°Π±ΠΎΡ€. НапримСр,


if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

АргумСнты ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки

МногиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΡƒΡ‰Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±Π°Π·ΠΎΠ²ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈΡ… слСдуСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ. Python позволяСт Π²Π°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ -h —


$ python -h
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d     : debug output from parser (also PYTHONDEBUG=x)
-E     : ignore environment variables (such as PYTHONPATH)
-h     : print this help message and exit

[ etc. ]

7 ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² со строками, Ρ†Π΅Π»Ρ‹ΠΌ числом, списком, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠΌ ΠΈ Ρ‚. Π”.

Ѐункция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Python

Ѐункция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для отобраТСния Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…: строки, списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ ΠΈ Ρ‚. Π”.

Π”ΠΎ вСрсии Python 3.x ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ использовалась ΠΊΠ°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅. Однако Π² Python 3.x ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ дСйствуСт ΠΊΠ°ΠΊ функция.

Π­Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки:

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Β«Π‘Ρ‚Ρ€ΠΎΠΊΠ°Β»)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (a_variable)

ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (список)

Бинтаксис использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Python

НиТС приводится синтаксис использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ:

print (* objects, sep = β€™β€˜, end = ’\ n’, file = sys.stdout, flush = False)

Π“Π΄Π΅:

  • ΠžΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ строки, списки, ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΈ Ρ‚. Π”.
  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ sep = β€˜β€™ опрСдСляСт расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ нСсколькими ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΡ€ΠΎΠ±Π΅Π»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.
  • end = ’\ n \’ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Ρ‹Π·ΠΎΠ²Π΅ функция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²ΠΎΠΉ строкой. ПозТС Π² этом руководствС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° дСмонстрация Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.
  • file = sys.stdout ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΡƒΠ΄Π° функция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — stdout , ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π° внСшний Ρ„Π°ΠΉΠ».
  • Π’ Python 3.3 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова flush, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, слСдуСт Π»ΠΈ ΡΠ±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡ‚ΠΎΠΊ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ — , лоТь .

Π‘ΠΌ. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ° string ΠΈ int вмСстС с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ , списки ΠΈ Ρ‚. Π”. Π― Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΡƒ Π²Π°ΠΌ использованиС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ отобраТСния простой строки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Python print, Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ отобраТаСтся простая строка:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠ΄

Код для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°:

print («ДСмонстрация Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈΒ»)

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python print

Бтроковая пСрСмСнная создаСтся ΠΈ отобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠ΄

Код:

str_a = («ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ»)

print (str_a)

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ

Π’ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любоС количСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ / ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми.КаТдоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΎ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ, см. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠ΄

Код:

str_1 = («ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ строковой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.»)

str_2 = («Π‘ нСсколькими значСниями.»)

str_3 = («ΠšΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ раздСляСтся ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.»)

print (str_1 , стр_2, стр_3)

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Ρ‚Ρ€ΠΈ строковыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.КаТдая пСрСмСнная раздСляСтся запятой. Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ пространство добавляСтся автоматичСски. Π­Ρ‚ΠΎ связано с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ sep = β€˜β€™, , ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² синтаксисС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ отобраТСния числовой ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ числовыС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ для отобраТСния Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°ΠΏΡΡ‚ΡƒΡŽ с ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ для отобраТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ количСства Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π‘ΠΌ. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½-Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΈ ΠΊΠΎΠ΄

Код:

a = 10

b = 20

c = a + b

print (c)

print (Β«Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ c =Β», c)

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, пСрСмСнная Ρ‚ΠΈΠΏΠ° int отобраТаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Π° Ρ‚Π°ΠΊΠΆΠ΅ со строкой с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ.Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π²ΠΎΠ΄Π΅ Ρ‚Π°ΠΊΠΆΠ΅ добавляСтся ΠΏΡ€ΠΎΠ±Π΅Π» для отобраТСния ΠΊΠ°ΠΊ строкового, Ρ‚Π°ΠΊ ΠΈ цСлочислСнного значСния.

Π’Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Python заканчиваСтся Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΎΠ²ΠΎΠΉ строки

Как ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² синтаксисС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€˜end = \ n’ , Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ новая строка. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ заканчиваСтся Π½ΠΎΠ²ΠΎΠΉ строкой Π² ​​каТдом Π²Ρ‹Π·ΠΎΠ²Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это, я создал Π² этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ список ΠΈΠ· пяти чисСл.

Π¦ΠΈΠΊΠ» for ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ элСмСнтам списка.На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² спискС отобраТаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ. Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄:

Π£Ρ‡Π΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Π½Π° Python

Ѐункция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ ΠΈ строки

Ѐункция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Π² Python — это функция, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π² ΠΎΠΊΠ½ΠΎ консоли всС, Ρ‡Ρ‚ΠΎ Π²Ρ‹ скаТСтС, Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ. На ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ функция ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ бСсполСзна для программирования, Π½ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ это ΠΎΠ΄Π½Π° ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π²ΠΎ всСм Python.ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ это ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ .

Β«ΠžΡ‚Π»Π°Π΄ΠΊΠ°Β» — это Ρ‚Π΅Ρ€ΠΌΠΈΠ½, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для поиска, удалСния ΠΈ исправлСния ошибок ΠΈ ошибок Π² ΠΊΠΎΠ΄Π΅.

Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ происходит Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅. Часто Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ опрСдСлСнная пСрСмСнная Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ ΠΎΠ΄Π½ΠΈΠΌ, Π½ΠΎ Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. Если Π²Ρ‹ распСчатаСтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π»ΠΈ, Π±Ρ‹Π»ΠΎ Π½Π΅ Ρ‚Π°ΠΊ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ этому руководству с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ встроСнной консоли, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСкста ΠΈ консолСй ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ собствСнной установки Python.

Π”Π°Π»Π΅Π΅, строки, Ρ‡Ρ‚ΠΎ это Ρ‚Π°ΠΊΠΎΠ΅? Π‘Ρ‚Ρ€ΠΎΠΊΠΈ — это просто «строки» тСкста, ΠΎΡ‚ΡΡŽΠ΄Π° ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅. Π‘Ρ‚Ρ€ΠΎΠΊΠΈ — это Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… — Ρ†Π΅Π»Ρ‹Π΅ числа.

Для развития Π²ΠΈΠ΄Π΅ΠΎ, Π²ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

 print (Β«ΠžΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ‚Π°Ρ‚Ρ‹Β»)
print ("Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ")

ΠœΡ‹ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅ΠΌ строку.ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ — это ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Π½ΠΎ ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ вмСстС.

Пока ΠΌΡ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ строках ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, Π±Ρ‹Π»ΠΎ Π±Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΎΠ±ΡΡƒΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ. ΠšΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ просто ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ Π²Π΅Ρ‰Π΅ΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «+» ΠΈΠ»ΠΈ «,» для соСдинСния строк. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Β«,Β», Ρ‚ΠΎ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΌΠ΅ΠΆΠ΄Ρƒ строками, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ соСдинили. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Β«+Β», Ρ‚ΠΎ строки Π±ΡƒΠ΄ΡƒΡ‚ соСдинСны Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅.

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Β«+Β» для соСдинСния Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ запятой, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ «,», ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ распСчатаны ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, с ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.

 print ('ΠΌΠΎΠ³Ρƒ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ', 5)
 print ('Π½Π΅ ΠΌΠΎΠ³Ρƒ этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:' + 5)

Π’Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «+» для соСдинСния строк с Ρ†Π΅Π»Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ числами, Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ «,».

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² строки.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ «\». Π‘ΠΈΠΌΠ²ΠΎΠ» \ извСстСн ΠΊΠ°ΠΊ escape-символ , ΠΈ ΠΎΠ½ Β«ΡƒΡΠΊΠΎΠ»ΡŒΠ·Π°Π΅Ρ‚Β» ΠΎΡ‚ характСристики ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ символа ΠΈ просто ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΅Π³ΠΎ Β«Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΒ» аспСкт.

НазначСниС Β«escape-символа» — ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ характСристики пСрсонаТСй. НапримСр, Ρ†ΠΈΡ‚Π°Ρ‚Π° «Π² строкС ΠΌΠΎΠΆΠ΅Ρ‚ нанСсти ΡƒΡ‰Π΅Ρ€Π±. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ: x =» Он сказал: «ΠŸΡ€ΠΈΠ²Π΅Ρ‚!» Β«

Π”Π°, это Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ.ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ способов ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этой ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, Π½ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… — ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ escape-символ:

x = «ΠžΠ½ сказал: \» ΠŸΡ€ΠΈΠ²Π΅Ρ‚! \ «»

Если Π²Ρ‹ Π²Π²Π΅Π΄Π΅Ρ‚Π΅ print (x), Π²Ρ‹ Π½Π΅ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ escape-символов, Π° ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ. Иногда Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ escape-символ:

x = «Π­ΡΠΊΠ΅ΠΉΠΏ-символ — \»

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ это Ρ€Π΅ΡˆΠΈΡ‚ΡŒ?

Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ:

 print ('НС ΠΌΠΎΠ³Ρƒ этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ')
 print (Β«Π—Π΄Π΅ΡΡŒ Ρƒ вас всС получится»)
 print (Β«ΠΈ здСсь Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ успСх»)

Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π² строки.Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡Π΅ΠΊ, ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ «\». Π‘ΠΈΠΌΠ²ΠΎΠ» \ извСстСн ΠΊΠ°ΠΊ Β«escape-символ», ΠΈ ΠΎΠ½ Β«ΡƒΡΠΊΠΎΠ»ΡŒΠ·Π°Π΅Ρ‚Β» ΠΎΡ‚ характСристики ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ символа ΠΈ просто ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΅Π³ΠΎ Β«Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉΒ» аспСкт. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΏΡ€Π°Π²ΠΈΠ» ΠΊΠΎΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ:

На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ это касаСтся основ струнных.

Для этого ΡƒΡ‡Π΅Π±Π½ΠΈΠΊΠ° сущСствуСт 2 Π²ΠΈΠΊΡ‚ΠΎΡ€ΠΈΠ½Ρ‹ / вопроса (ΠΎΠ²) . Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π΄ΠΎ + = 1 , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π½ΠΈΠΌ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π²ΠΈΠ΄Π΅ΠΎ ΠΈ Π±Π΅Π· Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΡƒΡ‡Π΅Π±Π½ΠΈΠΊ: ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° с Python

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ списков Π½Π° Python (4 Ρ€Π°Π·Π½Ρ‹Ρ… способа)

Π Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ список Π½Π° Python ΠΌΠΎΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ способами:

  1. ИспользованиС Ρ†ΠΈΠΊΠ»Π° for: ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΎΡ‚ 0 ΠΊ len (список) ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ всСх элСмСнтов списка ΠΎΠ΄ΠΈΠ½ Π·Π° Π΄Ρ€ΡƒΠ³ΠΈΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for. Π­Ρ‚ΠΎ стандартная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

    a = [ 1 , 2 , 3 , 4 , 5 ]

    для x в диапазонС ( л. (a)):

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ a [x],

    Π’Ρ‹Ρ…ΠΎΠ΄:

    1 2 3 4 5
     
  2. Π‘Π΅Π· использования Ρ†ΠΈΠΊΠ»ΠΎΠ²: символ * ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π²Ρ‹Π²ΠΎΠ΄Π° элСмСнтов списка Π² ΠΎΠ΄Π½Ρƒ строку с ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ всС элСмСнты Π² Π½ΠΎΠ²ΠΎΠΉ строкС ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ sep = ”\ n” ΠΈΠ»ΠΈ sep = ”,” соотвСтствСнно.

    a = [ 1 , 2 , 3 , 4 , 5 ]

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( * a)

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( "ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ списков, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… запятыми" )

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( * a, сСн = "," )

    Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ ( "ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ списков Π² Π½ΠΎΠ²ΠΎΠΉ строкС" )

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( * a, sep = "\ n" )

    Π’Ρ‹Ρ…ΠΎΠ΄:

    1 2 3 4 5
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ списков Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ
    1, 2, 3, 4, 5
    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ списков Π² Π½ΠΎΠ²ΠΎΠΉ строкС
    1
    2
    3
    4
    5
     
  3. ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ списка Π² строку для отобраТСния: Если это список строк, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ просто ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ join (), Π½ΠΎ Ссли список содСрТит Ρ†Π΅Π»Ρ‹Π΅ числа, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² строку ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ join () Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΊ строкС ΠΈ Ρ€Π°ΡΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ строку.

    a = [ "ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ", , "для" , "ΠšΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊΠΈ" ]

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( '' . Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (a))

    a = [ 1 , 2 , 3 , 4 , 5 ]

    print str (a) [ 1 : - 1 ]

    Π’Ρ‹Ρ…ΠΎΠ΄:

    Π“ΠΈΠΊΠΈ для Π³ΠΈΠΊΠΎΠ²
    1, 2, 3, 4, 5
     
  4. ИспользованиС map: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ map () для прСобразования ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта Π² спискС Π² строку, Ссли список Π½Π΅ являСтся строкой, Π° Π·Π°Ρ‚Π΅ΠΌ присоСдинитС ΠΈΡ…:

    a = [ 1 , 2 , 3 , 4 , 5 ]

    ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ ( '' .ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡΡ ( ΠΊΠ°Ρ€Ρ‚Π° ( str , Π°)))

    Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ "Π² Π½ΠΎΠ²ΠΎΠΉ строкС"

    print ( '\ n' .join ( ΠΊΠ°Ρ€Ρ‚Π° ( str , a)))

    Π’Ρ‹Ρ…ΠΎΠ΄:

    1 2 3 4 5
    Π² Π½ΠΎΠ²ΠΎΠΉ строкС
    1
    2
    3
    4
    5
     

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρ‰ΠΈΠΊ! Π£ΠΊΡ€Π΅ΠΏΠΈΡ‚Π΅ свои основы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курса Python Programming Foundation ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ основы.

Для Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΊ собСсСдованию. Π Π°ΡΡˆΠΈΡ€ΡŒΡ‚Π΅ свои ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ курса Python DS .


Striver (ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅) 79 Π² Codechef ΠΈ codeforces D


Если Π²Π°ΠΌ нравится GeeksforGeeks ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ внСсти свой Π²ΠΊΠ»Π°Π΄, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ Π½Π° сайтС deposit.geeksforgeeks.org ΠΈΠ»ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΡŒΡ‚Π΅ свою ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΏΠΎ адрСсу deposit@geeksforgeeks.

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

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