Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Простой Python просто с нуля
.pdf
ɨɞɢɧ ɤɚɤ ɛɵ ɫɢɦɜɨɥ – ɤɨɞ ɜɨɡɜɪɚɬɚ ɤɚɪɟɬɤɢ. Ɉɧ ɜɨɡɜɪɚɳɚɟɬ ɧɚɫ ɤ ɧɚɱɚɥɭ
ɫɬɪɨɤɢ, ɜ ɤɨɬɨɪɨɣ ɦɵ ɧɚɯɨɞɢɦɫɹ. Ȼɟɡ ɧɟɝɨ ɦɵ ɛɵ ɬɚɤ ɢ ɡɚɜɢɫɥɢ ɜ ɤɨɧɰɟ
ɫɬɪɨɤɢ, ɤɭɞɚ ɩɟɪɟɲɥɢ. ɗɬɢ ɞɜɚ ɫɢɦɜɨɥɚ – ɩɟɪɟɜɨɞ ɫɬɪɨɤɢ ɢ ɜɨɡɜɪɚɬ ɤɚɪɟɬɤɢ
– ɜɫɟɝɞɚ ɯɨɞɹɬ ɩɚɪɨɣ, ɜ Windows, ɩɨ ɤɪɚɣɧɟɣ ɦɟɪɟ.
ɂ ɨɩɹɬɶ, ɹ ɨɛ ɷɬɨɦ ɭɠɟ ɝɨɜɨɪɢɥ, ɮɚɣɥ Microsoft Word ɜɵɝɥɹɞɢɬ ɤɚɤ
ɬɟɤɫɬɨɜɵɣ, ɧɢɤɚɤɢɯ ɫɨɦɧɟɧɢɣ, ɧɨ ɧɚ ɫɚɦɨɦ ɞɟɥɟ ɬɟɤɫɬɨɜɵɦ ɧɟ ɹɜɥɹɟɬɫɹ.
ɉɪɢɧɰɢɩɢɚɥɶɧɚɹ ɨɫɨɛɟɧɧɨɫɬɶ ɬɟɤɫɬɨɜɨɝɨ ɮɚɣɥɚ – ɨɞɢɧ ɫɢɦɜɨɥ ɧɚ ɷɤɪɚɧɟ
ɨɡɧɚɱɚɟɬ ɨɞɢɧ ɫɢɦɜɨɥ ɢɥɢ, ɱɬɨ ɬɨ ɠɟ ɫɚɦɨɟ, ɨɞɢɧ ɛɚɣɬ ɜ ɮɚɣɥɟ. ȿɫɥɢ ɫɪɚɡɭ
ɷɬɨ ɧɟ ɨɱɟɧɶ ɩɨɧɹɬɧɨ, ɨɛɞɭɦɚɣɬɟ, ɩɨɣɦɺɬɟ ɩɨɬɨɦ.
Ʉɚɤ ɭɛɟɞɢɬɶɫɹ, ɱɬɨ ɮɚɣɥ ɬɟɤɫɬɨɜɵɣ? Ɉɱɟɧɶ ɩɪɨɫɬɨ, ɩɨɩɵɬɚɬɶɫɹ ɩɪɨɱɢɬɚɬɶ
ɟɝɨ ɤɚɤ ɬɟɤɫɬɨɜɵɣ. ɇɚɩɪɢɦɟɪ, ɨɬɤɪɵɬɶ Ȼɥɨɤɧɨɬɨɦ ɢɡ Windows. ȿɫɥɢ ɜɵ
ɥɸɛɨɡɧɚɬɟɥɶɧɵɣ ɢ ɜɚɦ ɯɨɱɟɬɫɹ ɩɨɞɪɨɛɧɨɫɬɟɣ, ɬɨ ɤɨɟ-ɱɬɨ ɨ ɮɚɣɥɚɯ ɢ
ɛɚɣɬɚɯ ɜɵ ɩɪɨɱɬɺɬɟ ɜ ɩɪɢɥɨɠɟɧɢɹɯ.
ȼɵ ɩɟɫɟɧ ɯɨɬɢɬɟ? ɂɯ ɟɫɬɶ ɭ ɦɟɧɹ!
© ɨɞɟɫɫɤɨɟ ɧɚɪɨɞɧɨɟ, ɡɚɬɟɦ ɤ/ɮ ɂɧɬɟɪɜɟɧɰɢɹ
ɒɚɝ ɜɬɨɪɨɣ. Ɍɟɤɫɬɨɜɵɟ ɮɚɣɥɵ. Ɂɚɩɢɫɶ
ȼ ɉɢɬɨɧɟ, ɟɫɥɢ ɜɵ ɫɨɡɞɚɺɬɟ ɮɚɣɥ ɢ ɧɟ ɭɤɚɡɚɥɢ ɹɜɧɨ, ɤɚɤɨɣ ɢɦɟɧɧɨ ɮɚɣɥ ɜɵ
ɯɨɬɢɬɟ, ɬɨ ɮɚɣɥ ɛɭɞɟɬ ɬɟɤɫɬɨɜɵɦ. Ȼɨɥɟɟ ɬɨɝɨ, ɜɵ ɭɠɟ ɤ ɷɬɨɦɭ ɜɪɟɦɟɧɢ
ɞɨɥɠɧɵ ɩɪɢɜɵɤɧɭɬɶ, ɱɬɨ ɟɫɥɢ ɜɚɦ ɯɨɱɟɬɫɹ ɫɞɟɥɚɬɶ ɱɬɨ-ɬɨ ɧɟ ɫɨɜɫɟɦ
ɬɪɢɜɢɚɥɶɧɨɟ, ɧɚɞɨ ɛɭɞɟɬ ɢɦɩɨɪɬɢɪɨɜɚɬɶ ɤɚɤɨɣ-ɬɨ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ
ɦɨɞɭɥɶ. Ⱦɥɹ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ ɧɢɱɟɝɨ ɢɦɩɨɪɬɢɪɨɜɚɬɶ ɧɟ ɧɚɞɨ.
ȼɨɬ ɫɚɦɵɣ ɩɪɨɫɬɨɣ ɩɪɢɦɟɪ, ɫ ɤɨɦɦɟɧɬɚɪɢɹɦɢ. Ƚɥɚɜɧɨɟ, ɱɬɨ ɧɚɞɨ ɩɨɧɹɬɶ ɫ
ɫɚɦɨɝɨ ɧɚɱɚɥɚ, – ɮɚɣɥ ɦɨɠɧɨ ɡɚɩɢɫɚɬɶ ɢ ɮɚɣɥ ɦɨɠɧɨ ɩɪɨɱɢɬɚɬɶ. ɋɩɨɫɨɛ
ɡɚɩɢɫɢ ɢ ɫɩɨɫɨɛ ɱɬɟɧɢɹ ɨɱɟɧɶ ɩɨɯɨɠɢ, ɧɨ ɜɫɺ-ɬɚɤɢ ɪɚɡɧɵɟ. ɂ ɟɫɥɢ ɜɵ
ɡɚɩɢɫɚɥɢ ɮɚɣɥ, ɬɨ ɡɚɪɚɧɟɟ ɞɭɦɚɣɬɟ ɨ ɬɨɦ, ɱɬɨ ɱɢɬɚɬɶ ɟɝɨ ɦɨɠɟɬ ɢ ɤɬɨ-ɬɨ
ɞɪɭɝɨɣ, ɧɟ ɨɛɹɡɚɬɟɥɶɧɨ ɜɵ. ɂ ɱɢɬɚɬɶ, ɨɱɟɧɶ ɜɨɡɦɨɠɧɨ, ɜɚɦ ɩɪɢɞɺɬɫɹ ɮɚɣɥ,
ɡɚɩɢɫɚɧɧɵɣ ɤɟɦ-ɬɨ ɞɪɭɝɢɦ. Ʉ ɫɱɚɫɬɶɸ, ɞɥɹ ɬɟɤɫɬɨɜɵɯ ɮɚɣɥɨɜ ɷɬɨ ɧɟ
ɜɵɡɵɜɚɟɬ ɩɨɱɬɢ ɧɢɤɚɤɢɯ ɩɪɨɛɥɟɦ. ȼɨɬ ɩɪɢɦɟɪ:
f = open( 'd:/justfile.txt', 'w')
f.write( 'ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢ');
f.write( 'Ʉɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣ');
f.write( 'ȼɵɛɟɝɚɟɬ...');
181

f.close()
ɋɚɦɚɹ ɩɟɪɜɚɹ ɫɬɪɨɤɚ ɫɜɟɪɯɭ – ɷɬɨ
ɨɬɤɪɵɬɢɟ ɮɚɣɥɚ. ȼ ɨɛɵɞɟɧɧɨɣ ɠɢɡɧɢ
ɨɬɤɪɵɬɶ ɦɨɠɧɨ ɬɨɥɶɤɨ ɬɨ, ɱɬɨ ɭɠɟ ɫɭɳɟɫɬɜɭɟɬ. ȿɫɥɢ ɦɵ ɨɬɤɪɵɜɚɟɦ ɛɚɧɤɭ
ɬɭɲɺɧɤɢ, ɬɨ ɨɧɚ ɭ ɧɚɫ ɟɫɬɶ. ȿɫɥɢ ɦɵ ɯɨɬɢɦ ɡɚɝɨɬɨɜɢɬɶ ɛɚɧɤɭ ɦɚɥɢɧɨɜɨɝɨ
ɜɚɪɟɧɶɹ, ɬɨ ɷɬɨ ɧɚɡɵɜɚɟɬɫɹ ɤɚɤ-ɬɨ ɩɨ ɞɪɭɝɨɦɭ. ȼ ɩɪɨɝɪɚɦɦɢɪɨɜɚɧɢɢ ɮɚɣɥ
ɜɫɟɝɞɚ ɨɬɤɪɵɜɚɸɬ – ɢ ɧɟ ɜɚɠɧɨ, ɟɫɬɶ ɨɧ ɢɥɢ ɧɟɬ. ɉɨɫɥɟɞɧɹɹ ɫɬɪɨɤɚ – ɷɬɨ,
ɧɚɨɛɨɪɨɬ
, ɡɚɤɪɵɬɢɟ ɮɚɣɥɚ. Ʌɸɛɨɣ ɨɬɤɪɵɬɵɣ ɮɚɣɥ ɞɨɥɠɟɧ ɛɵɬɶ ɡɚɤɪɵɬ. Ⱥ
ɱɬɨ, ɟɫɥɢ ɧɟɬ? ȿɫɥɢ ɜɵ ɫ ɷɬɢɦ ɮɚɣɥɨɦ ɧɟ ɫɨɛɢɪɚɟɬɟɫɶ ɜ ɷɬɨɣ ɠɟ ɩɪɨɝɪɚɦɦɟ
ɪɚɛɨɬɚɬɶ ɞɚɥɶɲɟ, ɬɨ ɧɢɱɟɝɨ ɨɫɨɛɟɧɧɨ ɩɥɨɯɨɝɨ. Ⱥ ɟɫɥɢ ɫɨɛɢɪɚɟɬɟɫɶ – ɬɨ
ɨɛɹɡɚɬɟɥɶɧɨ ɡɚɤɪɨɣɬɟ.
Ɍɟɩɟɪɶ, ɟɫɥɢ ɦɵ ɡɚɝɥɹɧɟɦ ɧɚ ɞɢɫɤ D:\, ɬɨ ɨɛɧɚɪɭɠɢɦ ɬɚɦ ɧɨɜɵɣ ɮɚɣɥ ɩɨ
ɢɦɟɧɢ justfile.txt. ɋ ɩɟɪɜɵɦ ɩɚɪɚɦɟɬɪɨɦ ɮɭɧɤɰɢɢ
open ɪɚɡɨɛɪɚɥɢɫɶ. ȼɬɨɪɨɣ
ɩɚɪɚɦɟɬɪ ɱɭɬɶ ɦɟɧɟɟ ɨɱɟɜɢɞɟɧ. ɋɧɚɱɚɥɚ ɨɛɪɚɬɢɬɟ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɨɧ ɬɨɠɟ ɜ
ɤɚɜɵɱɤɚɯ, ɬɨ ɟɫɬɶ ɫɬɪɨɤɚ. ɍ ɦɧɨɝɢɯ ɜɨɡɧɢɤɚɟɬ ɠɟɥɚɧɢɟ ɡɚɩɢɫɚɬɶ ɟɝɨ ɩɪɨɫɬɨ
ɤɚɤ ɟɫɬɶ, ɛɟɡ ɤɚɜɵɱɟɤ. Ɍɚɤ ɞɟɥɚɬɶ ɧɟ ɧɚɞɨ. ɂɦɟɧɧɨ ɷɬɨ
'w' ɨɡɧɚɱɚɟɬ, ɱɬɨ
ɮɚɣɥ ɫɨɡɞɚɺɬɫɹ ɡɚɧɨɜɨ. Ɍɨ ɟɫɬɶ ɟɫɥɢ ɮɚɣɥɚ ɟɳɺ ɧɟɬ, ɨɧ ɛɭɞɟɬ ɫɨɡɞɚɧ. ȿɫɥɢ
ɮɚɣɥ ɭɠɟ ɟɫɬɶ, ɨɧ ɛɭɞɭɬ ɭɧɢɱɬɨɠɟɧ ɢ ɫɨɡɞɚɧ ɡɚɧɨɜɨ. ȼ ɥɸɛɨɦ ɫɥɭɱɚɟ ɜɫɹ
ɢɧɮɨɪɦɚɰɢɹ ɜ ɮɚɣɥɟ, ɟɫɥɢ ɨɧɚ ɬɚɦ ɛɵɥɚ, ɢɫɱɟɡɧɟɬ.
Ɍɟɩɟɪɶ ɩɨɫɦɨɬɪɢɦ ɜɧɭɬɪɶ ɮɚɣɥɚ, ɧɚɩɪɢɦɟɪ Ȼɥɨɤɧɨɬɨɦ. ɍɜɢɞɢɦ ɦɵ ɬɚɦ ɧɟ
ɫɨɜɫɟɦ ɨɠɢɞɚɟɦɨɟ:
ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢɄɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣȼɵɛɟɝɚɟɬ...
ȼɫɺ ɫɦɟɲɚɥɨɫɶ ɜ ɞɨɦɟ Ɉɛɥɨɧɫɤɢɯ © Ʌɟɜ ɇɢɤɨɥɚɟɜɢɱ ɢ Ⱥɧɹ
ɗɬɨ ɧɟ ɛɚɝɚ, ɷɬɨ ɮɢɱɚ
It’s not bug, it’s feature
© ɩɪɨɝɪɚɦɦɢɫɬɫɤɨɟ, ɢɡ ɦɨɟɣ ɦɨɥɨɞɨɫɬɢ
ȼɫɺ ɫɥɢɩɥɨɫɶ, ɤɨɪɨɱɟ. ɗɬɨ ɧɟ ɨɲɢɛɤɚ, ɷɬɨ ɨɫɨɛɟɧɧɨɫɬɶ. Ɉɛ ɷɬɨɣ
ɨɫɨɛɟɧɧɨɫɬɢ ɭɠɟ ɝɨɜɨɪɢɥɨɫɶ ɬɚɦ, ɝɞɟ ɝɨɜɨɪɢɥɨɫɶ ɨ ɫɬɪɨɤɚɯ. ɏɨɬɹ ɦɵ ɬɪɢ
ɪɚɡɚ ɡɚɩɢɫɚɥɢ ɩɨ ɨɞɧɨɣ ɫɬɪɨɤɟ, ɦɵ ɧɢ ɪɚɡɭ ɧɟ ɭɤɚɡɚɥɢ, ɱɬɨ ɷɬɨ ɨɬɞɟɥɶɧɵɟ
ɫɬɪɨɤɢ. ɉɟɪɟɱɢɬɚɣɬɟ ɬɨ, ɱɬɨ ɛɵɥɨ ɫɤɚɡɚɧɨ ɪɚɧɶɲɟ, ɢɥɢ ɩɪɨɫɬɨ ɡɚɩɨɦɧɢɬɟ –
ɞɥɹ ɡɚɩɢɫɢ ɜ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɨɬɞɟɥɶɧɵɯ ɬɟɤɫɬɨɜɵɯ ɫɬɪɨɤ ɩɢɲɢɬɟ ɬɚɤ:
f = open( 'd:/justfile.txt', 'w')
f.write( 'ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢ\n');
f.write( 'Ʉɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣ\n');
182

f.write( 'ȼɵɛɟɝɚɟɬ...\n');
f.close()
ə ɩɪɢɜɺɥ ɜɟɫɶ ɤɨɞ, ɚ ɧɟ ɬɨɥɶɤɨ ɢɡɦɟɧɺɧɧɵɟ ɫɬɪɨɤɢ. ɗɬɨ ɬɨɥɶɤɨ ɞɥɹ ɧɚɱɚɥɚ,
ɩɨɤɚ ɜɵ ɧɟ ɡɚɭɱɢɥɢ ɧɚɢɡɭɫɬɶ, ɱɬɨ ɜɫɹɤɢɣ ɮɚɣɥ ɞɨɥɠɟɧ ɛɵɬɶ ɫɧɚɱɚɥɚ
ɨɬɤɪɵɬ, ɚ ɩɨɬɨɦ ɡɚɤɪɵɬ. Ɍɟɩɟɪɶ ɪɟɡɭɥɶɬɚɬ ɫɨɨɬɜɟɬɫɬɜɭɟɬ ɨɠɢɞɚɧɢɹɦ:
ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢ
Ʉɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣ
ȼɵɛɟɝɚɟɬ...
Ⱥ ɱɬɨ ɟɫɥɢ ɦɵ ɜɫɩɨɦɧɢɥɢ ɫɬɢɯ ɞɚɥɶɲɟ ɢ ɪɟɲɢɥɢ ɞɨɩɢɫɚɬɶ ɩɪɨɞɨɥɠɟɧɢɟ ɜ
ɮɚɣɥ? Ȼɭɤɜɚ ‘
w’, ɤɚɤ ɜɵ ɧɚɜɟɪɧɹɤɚ ɞɨɝɚɞɚɥɢɫɶ, – ɫɨɤɪɚɳɟɧɢɟ ɨɬ ɫɥɨɜɚ
write. ȿɫɥɢ ɜɡɹɬɶ ɫɥɨɜɨ append – ɤɨɬɨɪɨɟ, ɜ ɱɚɫɬɧɨɫɬɢ, ɨɡɧɚɱɚɟɬ
ɩɪɢɛɚɜɥɹɬɶ, ɢ ɫɨɤɪɚɬɢɬɶ ɷɬɨ ɫɥɨɜɨ, ɬɨ ɩɨɥɭɱɢɦ ɛɭɤɜɭ ‘a’. Ⱦɚɥɶɲɟ
ɨɬɤɪɵɜɚɟɦ ɮɚɣɥ ɬɚɤ:
f = open( 'd:/justfile.txt', 'a')
f.write( 'ɂ ɤɚɱɚɟɬ ɝɨɥɨɜɨɣ\n');
f.close()
ȿɫɥɢ ɜɵ ɬɟɩɟɪɶ ɩɪɨɱɢɬɚɟɬɟ ɮɚɣɥ, ɬɨ ɨɛɧɚɪɭɠɢɬɟ ɜ ɧɺɦ ɜɫɟ ɱɟɬɵɪɟ ɫɬɪɨɤɢ.
Ɉɞɧɚɤɨ ɞɨ ɫɢɯ ɩɨɪ ɦɵ ɱɢɬɚɥɢ ɧɚɲ ɮɚɣɥ ɬɨɥɶɤɨ ɫɪɟɞɫɬɜɚɦɢ Windows. Ⱥ
ɟɫɥɢ ɭ ɧɚɫ ɜɨɡɧɢɤɧɟɬ ɠɟɥɚɧɢɟ ɩɪɨɱɟɫɬɶ ɟɝɨ ɫɚɦɢɦ, ɩɪɨɝɪɚɦɦɧɨ? ɂɥɢ,
ɫɬɪɚɲɧɨ ɫɤɚɡɚɬɶ, ɟɫɥɢ ɭ ɧɚɫ ɜɨɡɧɢɤɧɟɬ ɠɟɥɚɧɢɟ ɩɪɨɱɢɬɚɬɶ ɮɚɣɥ,
ɡɚɩɢɫɚɧɧɵɣ ɜ ɬɨɦ ɠɟ Ȼɥɨɤɧɨɬɟ?
ɒɚɝ ɬɪɟɬɢɣ. Ɍɟɤɫɬɨɜɵɟ ɮɚɣɥɵ. ɑɬɟɧɢɟ
ɑɬɨ ɢɧɬɟɪɟɫɧɨ, ɟɫɥɢ ɡɚɩɢɫɚɬɶ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɦɨɠɧɨ, ɩɨ ɫɭɬɢ, ɬɨɥɶɤɨ
ɨɞɧɢɦ ɫɩɨɫɨɛɨɦ, ɬɨ ɞɥɹ ɱɬɟɧɢɹ ɟɫɬɶ ɜɵɛɨɪ. ɉɪɢɫɬɭɩɚɟɦ.
ɋɧɚɱɚɥɚ ɨ ɩɥɨɯɨɦ. Ʉɨɝɞɚ ɦɵ ɩɢɲɟɦ ɫɬɪɨɤɢ ɜ ɮɚɣɥ, ɦɵ ɡɚɪɚɧɟɟ ɡɧɚɟɦ,
ɫɤɨɥɶɤɨ ɫɬɪɨɤ ɦɵ ɬɭɞɚ ɡɚɩɢɲɟɦ. Ɂɜɭɱɢɬ ɛɚɧɚɥɶɧɨ. ɇɨ ɤɨɝɞɚ ɦɵ ɱɢɬɚɟɦ
ɫɬɪɨɤɢ ɢɡ ɮɚɣɥɚ, ɦɵ ɧɟ ɡɧɚɟɦ, ɫɤɨɥɶɤɨ ɢɯ ɬɚɦ – ɨɫɨɛɟɧɧɨ, ɟɫɥɢ ɮɚɣɥ
ɩɢɫɚɥɢ ɧɟ ɦɵ. ɉɟɪɜɵɣ ɫɩɨɫɨɛ ɱɬɟɧɢɹ ɜɵɝɥɹɞɢɬ
ɝɞɟ-ɬɨ ɬɚɤ:
f = open( 'd:/justfile.txt', 'r')
# ɡɞɟɫɶ ɱɢɬɚɟɦ
f.close()
183

ɑɬɨ ɢɡɦɟɧɢɥɨɫɶ? ȼɦɟɫɬɨ
'w' ɢɦɟɟɦ ɬɟɩɟɪɶ 'r'. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɮɚɣɥ ɧɟ
ɫɨɡɞɚɺɬɫɹ ɫ ɧɭɥɹ, ɚ ɱɢɬɚɟɬɫɹ. ɂɥɢ, ɫɩɟɰɢɚɥɶɧɨ ɞɥɹ ɚɥɶɬɟɪɧɚɬɢɜɧɨ
ɨɞɚɪɺɧɧɵɯ, ɮɚɣɥ ɭɠɟ ɫɭɳɟɫɬɜɭɟɬ ɢ, ɨɱɟɧɶ ɦɨɠɟɬ ɛɵɬɶ, ɫɨɡɞɚɥɢ ɟɝɨ ɧɟ ɦɵ.
Ɏɚɣɥ – ɟɳɺ ɪɚɡ ɧɚɩɨɦɢɧɚɸ, ɪɟɱɶ ɫɟɣɱɚɫ ɬɨɥɶɤɨ ɨ ɬɟɤɫɬɨɜɨɦ ɮɚɣɥɟ – ɦɨɠɧɨ
ɩɪɨɱɢɬɚɬɶ ɪɚɡɧɵɦɢ ɫɩɨɫɨɛɚɦɢ.
ɋɧɚɱɚɥɚ ɦɵ ɩɪɨɱɢɬɚɟɦ ɮɚɣɥ ɩɪɨɫɬɨ ɢ ɛɟɡ ɡɚɬɟɣ.
f = open( 'd:/justfile.txt', 'r')
s = f.read()
print s
f.close()
ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢ
Ʉɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣ
ȼɵɛɟɝɚɟɬ...
ɑɬɨ ɦɵ ɫɞɟɥɚɥɢ? Ɇɵ ɩɪɨɱɢɬɚɥɢ ɜɟɫɶ ɮɚɣɥ ɜ
ɨɞɧɭ ɫɬɪɨɤɭ ɫɪɚɡɭ. Ʉɨɝɞɚ ɦɵ
ɷɬɭ ɫɬɪɨɤɭ ɜɵɜɟɥɢ ɧɚ ɷɤɪɚɧ, ɦɵ ɩɨɥɭɱɢɥɢ ɬɪɢ ɫɬɪɨɤɢ. ɉɨɱɟɦɭ? ɉɨɬɨɦɭ,
ɱɬɨ ɫɢɦɜɨɥ ɩɟɪɟɜɨɞɚ ɫɬɪɨɤɢ ɷɬɨ ɬɚɤɨɣ ɠɟ ɨɛɵɱɧɵɣ ɫɢɦɜɨɥ, ɤɚɤ ɛɭɤɜɚ ɢɥɢ
ɰɢɮɪɚ ɢ ɛɵɥ ɫɧɚɱɚɥɚ ɩɪɨɱɢɬɚɧ ɜ ɫɬɪɨɤɭ, ɚ ɩɨɬɨɦ ɜɵɜɟɞɟɧ ɧɚ ɷɤɪɚɧ. ɉɪɢ ɟɝɨ
ɜɵɜɨɞɟ ɧɚ ɷɤɪɚɧ ɨɧ ɫɞɟɥɚɥ ɬɨ ɟɞɢɧɫɬɜɟɧɧɨɟ, ɧɚ ɱɬɨ ɫɩɨɫɨɛɟɧ, – ɩɟɪɟɜɟɥ
ɫɬɪɨɤɭ. ȿɫɥɢ ɞɥɹ ɜɚɫ ɷɬɨ ɩɨɤɚ ɧɟ ɨɱɟɧɶ ɩɨɧɹɬɧɨ – ɡɚɛɭɞɶɬɟ ɢ ɩɪɢɦɢɬɟ ɤɚɤ
ɟɫɬɶ.
ɏɨɪɨɲɨ ɥɢ ɷɬɨ – ɬɚɤɨɟ ɱɬɟɧɢɟ ɮɚɣɥɚ? Ⱦɚ, ɷɬɨ ɯɨɪɨɲɨ, ɧɨ ɟɫɥɢ ɧɚɫ ɬɨɥɶɤɨ
ɢɧɬɟɪɟɫɭɟɬ ɫɨɞɟɪɠɚɧɢɟ ɮɚɣɥɚ. ɑɚɳɟ ɛɵɜɚɟɬ, ɤɨɝɞɚ ɧɚɦ ɢɧɬɟɪɟɫɧɟɟ ɤɚɠɞɚɹ
ɫɬɪɨɤɚ ɮɚɣɥɚ ɜ ɨɬɞɟɥɶɧɨɫɬɢ. Ɇɵ ɯɨɬɢɦ ɟɺ ɢɡɭɱɢɬɶ, ɩɪɨɚɧɚɥɢɡɢɪɨɜɚɬɶ ɢ
ɪɚɡɨɛɪɚɬɶ ɧɚ ɫɢɦɜɨɥɵ. Ʉɪɨɦɟ ɬɨɝɨ, ɜɩɨɥɧɟ ɜɨɡɦɨɠɟɧ ɫɥɭɱɚɣ, ɤɨɝɞɚ
ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɫɥɢɲɤɨɦ ɛɨɥɶɲɨɣ. ȼɨɬ ɩɪɹɦɨ ɫɟɣɱɚɫ ɩɟɪɟɞɨ ɦɧɨɣ ɥɟɠɢɬ
ɪɟɚɥɶɧɵɣ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɨɛɴɺɦɨɦ 27 ɦɟɝɚɛɚɣɬ, ɜ ɤɨɬɨɪɨɦ 576957 ɫɬɪɨɤ.
ɗɬɨ ɩɪɨɬɨɤɨɥ ɧɟɤɨɬɨɪɨɝɨ ɩɪɨɰɟɫɫɚ, ɡɚɜɟɪɲɢɜɲɟɝɨɫɹ ɚɜɚɪɢɣɧɨ. Ɏɚɣɥ ɧɚɞɨ
ɪɚɡɨɛɪɚɬɶ, ɢɡɭɱɢɬɶ ɢ ɩɪɨɚɧɚɥɢɡɢɪɨɜɚɬɶ. ɑɬɟɧɢɟ ɬɚɤɨɝɨ ɮɚɣɥɚ ɜ ɨɞɢɧ ɩɪɢɺɦ
ɦɨɠɟɬ ɩɨɬɪɟɛɨɜɚɬɶ ɫɥɢɲɤɨɦ ɦɧɨɝɨ ɩɚɦɹɬɢ ɢɥɢ ɜɪɟɦɟɧɢ. ɂ, ɝɥɚɜɧɨɟ, ɟɫɥɢ
ɦɵ ɩɪɨɱɢɬɚɥɢ ɮɚɣɥ ɫɪɚɡɭ, ɚ ɧɚɫ ɢɧɬɟɪɟɫɭɸɬ ɨɬɞɟɥɶɧɵɟ ɟɝɨ ɫɬɪɨɤɢ, ɬɨ
ɪɚɡɛɨɪɤɚ ɟɝɨ ɧɚ ɷɬɢ ɫɬɪɨɤɢ ɥɨɠɢɬɫɹ ɧɚ ɧɚɫ.
ɋɟɣɱɚɫ ɦɵ ɛɭɞɟɦ ɱɢɬɚɬɶ ɮɚɣɥ ɩɨɫɬɪɨɱɧɨ. ɗɬɨ ɡɧɚɱɢɬ, ɱɬɨ ɡɚ ɨɞɢɧ ɪɚɡ ɦɵ
ɱɢɬɚɟɦ ɬɨɥɶɤɨ ɨɞɧɭ ɫɬɪɨɤɭ. ȿɫɥɢ ɞɥɹ ɜɚɫ ɷɬɨ ɨɱɟɜɢɞɧɨ ɢ ɜɚɦ ɨɛɢɞɧɨ ɡɚ
ɬɚɤɢɟ ɦɨɢ ɪɚɡɴɹɫɧɟɧɢɹ, ɬɨ ɹ ɡɚ ɜɚɫ ɪɚɞ. Ⱦɥɹ ɬɨɝɨ ɱɬɨɛɵ ɩɨɫɬɪɨɱɧɨɟ ɱɬɟɧɢɟ
184

ɢɦɟɥɨ ɯɨɬɶ ɤɚɤɭɸ-ɬɨ ɰɟɥɶ, ɫɞɟɥɚɟɦ ɫɚɦɨɟ ɩɪɨɫɬɨɟ, ɱɬɨ ɬɨɥɶɤɨ ɦɨɠɟɬ ɛɵɬɶ
– ɜɵɜɟɞɟɦ ɞɥɹ ɤɚɠɞɨɣ ɫɬɪɨɤɢ ɟɺ ɞɥɢɧɭ.
ȼɨɬ ɩɟɪɜɵɣ, ɧɟɦɧɨɝɨ ɤɨɪɹɜɵɣ, ɜɚɪɢɚɧɬ:
f = open( 'd:/justfile.txt', 'r')
s = ' '
while s <> '':
s = f.read()
print s
f.close()
ɉɨɱɟɦɭ ɨɧ ɦɧɟ ɤɚɠɟɬɫɹ ɤɨɪɹɜɵɦ? ɋɟɣɱɚɫ ɨɛɴɹɫɧɸ. ɇɨ ɫɧɚɱɚɥɚ ɡɚɭɧɵɜɧɨɟ
ɭɬɨɱɧɟɧɢɟ. ȼɵ ɜɟɞɶ ɧɚɜɟɪɧɹɤɚ ɨɛɪɚɬɢɥɢ ɜɧɢɦɚɧɢɟ, ɱɬɨ ɜ ɨɩɟɪɚɬɨɪɟ
ɭ ɧɚɫ ɫɬɪɨɤɚ ɢɡ ɨɞɧɨɝɨ ɩɪɨɛɟɥɚ, ɚ ɜ ɨɩɟɪɚɬɨɪɟ
while s <> '': ɭ ɧɚɫ ɩɭɫɬɚɹ
s = ' '
ɫɬɪɨɤɚ? ɉɭɫɬɚɹ ɫɬɪɨɤɚ – ɫɬɪɨɤɚ, ɧɟ ɫɨɞɟɪɠɚɳɚɹ ɫɢɦɜɨɥɨɜ, ɜ ɤɨɬɨɪɨɣ
ɜɨɨɛɳɟ ɧɢɱɟɝɨ ɧɟɬ. ɗɬɨ ɧɟ ɫɥɭɱɚɣɧɨ. ɇɚɲ ɰɢɤɥ
while ɪɚɛɨɬɚɟɬ ɞɨ ɬɟɯ ɩɨɪ,
ɩɨɤɚ – ɩɨɤɚ ɩɨ-ɚɧɝɥɢɣɫɤɢ ɢ ɟɫɬɶ while – ɩɨɤɚ ɜɵɩɨɥɧɹɟɬɫɹ ɭɫɥɨɜɢɟ, ɱɬɨ
ɩɪɨɱɢɬɚɧɧɚɹ ɢɡ ɮɚɣɥɚ ɫɬɪɨɤɚ ɧɟ ɹɜɥɹɟɬɫɹ ɩɭɫɬɨɣ. ɉɪɨɱɢɬɚɧɧɚɹ ɫɬɪɨɤɚ
ɛɭɞɟɬ ɩɭɫɬɨɣ ɜ ɬɨɦ ɢ ɬɨɥɶɤɨ ɜ ɬɨɦ ɫɥɭɱɚɟ, ɤɨɝɞɚ ɮɚɣɥ ɛɚɧɚɥɶɧɨ ɤɨɧɱɢɥɫɹ.
Ⱦɚ, ɷɬɨ ɧɟ ɨɱɟɧɶ ɤɪɚɫɢɜɨ, ɧɨ ɷɬɨ ɪɚɛɨɬɚɟɬ. Ⱥ ɱɬɨ ɦɧɟ ɡɞɟɫɶ ɫɨɜɫɟɦ ɧɟ
ɧɪɚɜɢɬɫɹ, ɬɚɤ ɷɬɨ ɬɨ, ɱɬɨ ɩɪɢɡɧɚɤ ɤɨɧɰɚ ɮɚɣɥɚ – ɩɭɫɬɚɹ ɫɬɪɨɤɚ – ɬɨɠɟ
ɜɵɜɨɞɢɬɫɹ ɧɚ ɷɤɪɚɧ.
Ɋɟɡɭɥɶɬɚɬ ɬɨɠɟ ɧɟ ɜɩɨɥɧɟ ɠɟɥɚɬɟɥɟɧ:
ȼɞɪɭɝ ɢɡ ɦɚɦɢɧɨɣ ɢɡ ɫɩɚɥɶɧɢ
Ʉɪɢɜɨɧɨɝɢɣ ɢ ɯɪɨɦɨɣ
ȼɵɛɟɝɚɟɬ...
Ɍɨ ɟɫɬɶ ɦɟɠɞɭ ɧɚɲɢɦɢ ɫɬɪɨɤɚɦɢ ɩɨɹɜɢɥɢɫɶ ɢ ɟɳɺ ɤɚɤɢɟ-ɬɨ ɩɭɫɬɵɟ ɫɬɪɨɤɢ,
ɤɨɬɨɪɵɟ ɦɵ ɬɭɞɚ ɧɟ ɩɢɫɚɥɢ. ɉɪɢɱɢɧɚ ɷɬɨɝɨ ɫɬɪɚɧɧɨɝɨ ɹɜɥɟɧɢɹ ɜ ɬɨɦ, ɱɬɨ
ɤɚɠɞɚɹ ɩɪɨɱɢɬɚɧɧɚɹ ɧɚɦɢ ɫɬɪɨɤɚ ɭɠɟ ɫɨɞɟɪɠɢɬ ɤɨɞ ɩɟɪɟɜɨɞɚ ɫɬɪɨɤɢ.
Ɉɩɟɪɚɬɨɪ
print ɬɨɠɟ ɬɪɭɞɨɥɸɛɢɜɨ ɩɟɪɟɯɨɞɢɬ ɧɚ ɧɨɜɭɸ ɫɬɪɨɤɭ. Ɋɟɡɭɥɶɬɚɬ
ɧɚɥɢɰɨ. Ɍɟɩɟɪɶ ɜɵɜɟɞɟɦ ɱɢɫɥɨ ɫɢɦɜɨɥɨɜ ɜ ɫɬɪɨɤɟ ɞɥɹ ɩɟɪɜɨɝɨ ɢ ɜɬɨɪɨɝɨ
ɜɚɪɢɚɧɬɚ ɱɬɟɧɢɹ.
s = f.read()
print 'length(s) = ', len(s)
length(s) = 60
185

while s <> '':
s = f.readline()
print 'length(s) = ', len(s)
length(s) = 28
length(s) = 20
length(s) = 12
length(s) = 0
ɑɬɨ ɦɵ ɜɢɞɢɦ? ɉɟɪɜɨɟ, ɦɵ ɭɛɟɞɢɥɢɫɶ, ɱɬɨ ɫɧɚɱɚɥɚ ɜɟɫɶ ɮɚɣɥ
ɞɟɣɫɬɜɢɬɟɥɶɧɨ ɱɢɬɚɥɫɹ ɫɪɚɡɭ, ɚ ɬɟɩɟɪɶ ɨɬɞɟɥɶɧɨ ɩɨ ɫɬɪɨɤɚɦ. ȼɬɨɪɨɟ, ɦɵ
ɨɩɹɬɶ-ɬɚɤɢ ɭɛɟɞɢɥɢɫɶ, ɱɬɨ ɜ ɤɨɧɰɟ ɦɵ ɩɪɨɱɢɬɚɥɢ ɫɬɪɨɤɭ ɧɭɥɟɜɨɣ ɞɥɢɧɵ.
Ɍɪɟɬɶɟ – ɫɢɦɜɨɥɨɜ ɜ ɩɨɫɥɟɞɧɟɣ ɫɬɪɨɤɟ ɩɪɨɱɢɬɚɧɨ 12, ɚ ɟɫɥɢ ɫɱɢɬɚɬɶ
ɝɥɚɡɚɦɢ, ɬɨ ɭɜɢɞɢɦ ɬɨɥɶɤɨ 11 ɫɢɦɜɨɥɨɜ. ɗɬɨ ɢ ɟɫɬɶ ɬɨɬ ɫɚɦɵɣ ɧɟɜɢɞɢɦɵɣ
ɤɨɞ ɩɟɪɟɜɨɞɚ ɫɬɪɨɤɢ.
Ɍɟɩɟɪɶ ɢɡɛɚɜɢɦɫɹ ɨɬ ɩɨɫɥɟɞɧɟɣ ɩɭɫɬɨɣ ɫɬɪɨɤɢ. Ɇɨɠɧɨ ɬɚɤ:
s = f.readline()
while s <> '':
print s, ' length(s) =', len(s)
s = f.readline()
ɉɪɨɜɟɪɶɬɟ ɢ ɭɛɟɞɢɬɟɫɶ, ɱɬɨ ɩɭɫɬɚɹ ɫɬɪɨɤɚ ɫ ɷɤɪɚɧɚ ɩɪɨɩɚɥɚ. Ʉɨɧɟɱɧɨ, ɦɵ
ɩɨ-ɩɪɟɠɧɟɦɭ ɟɺ ɱɢɬɚɟɦ, ɧɨ ɭɠɟ ɧɟ ɨɛɪɚɛɚɬɵɜɚɟɦ. Ⱥ ɜɨɬ ɷɬɨ ɨɮɢɰɢɚɥɶɧɵɣ
ɜɚɪɢɚɧɬ, ɤɨɬɨɪɵɣ ɧɚɫɬɨɹɬɟɥɶɧɨ ɪɟɤɨɦɟɧɞɭɟɬɫɹ ɜɨ ɜɫɟɯ ɪɭɤɨɜɨɞɫɬɜɚɯ ɩɨ
ɉɢɬɨɧɭ:
while True:
s = f.readline()
if s == '':
break
print s
Ɉɩɟɪɚɬɨɪ
break, ɧɚɩɨɦɢɧɚɸ, ɩɪɨɢɡɜɨɞɢɬ ɧɟɦɟɞɥɟɧɧɵɣ ɜɵɯɨɞ ɢɡ ɰɢɤɥɚ.
ȼɵɛɟɪɢɬɟ ɬɨɬ ɜɚɪɢɚɧɬ, ɤɨɬɨɪɵɣ ɜɚɦ ɩɪɢɹɬɧɟɟ. Ɍɟɩɟɪɶ ɨ ɬɨɦ, ɤɚɤ
ɢɡɛɚɜɢɬɶɫɹ ɨɬ ɧɚɡɨɣɥɢɜɨɝɨ ɩɟɪɟɜɨɞɚ ɫɬɪɨɤɢ. ɇɟɬ, ɜ ɮɚɣɥɟ ɨɧ ɧɟɨɛɯɨɞɢɦ, ɧɨ
ɟɫɥɢ ɦɵ ɩɪɨɱɢɬɚɥɢ ɮɚɣɥ ɩɨɫɬɪɨɱɧɨ, ɬɨ ɷɬɨɬ ɤɨɞ ɭɠɟ ɤɚɤ-ɬɨ ɢ ɧɢ ɤ ɱɟɦɭ. Ⱥ
ɜɨɬ ɬɚɤ:
s = f.readline()
s = s.rstrip()
186

ɂɬɚɤ, ɫ ɜɵɫɨɬɵ ɩɬɢɱɶɟɝɨ ɩɨɥɺɬɚ, ɟɫɬɶ ɞɜɚ ɫɩɨɫɨɛɚ ɱɬɟɧɢɹ ɬɟɤɫɬɨɜɨɝɨ ɮɚɣɥɚ.
ɂɥɢ ɦɵ ɱɢɬɚɟɦ ɟɝɨ ɨɞɧɢɦ ɨɩɟɪɚɬɨɪɨɦ, ɧɨ ɩɨɬɨɦ ɧɚɦ ɩɪɢɞɺɬɫɹ ɩɨɜɨɡɢɬɶɫɹ,
ɱɬɨɛɵ ɪɚɡɨɛɪɚɬɶ ɟɝɨ ɩɨ ɫɬɪɨɤɚɦ. ɂɥɢ ɦɵ ɩɨɜɨɡɢɦɫɹ ɜ ɧɚɱɚɥɟ, ɧɨ ɩɪɨɱɢɬɚɟɦ
ɮɚɣɥ ɩɨɫɬɪɨɱɧɨ. ȿɫɬɶ ɢ ɬɪɟɬɢɣ ɫɩɨɫɨɛ.
f = open( 'd:/justfile.txt', 'r')
L = f.readlines()
print L
ȼ ɪɟɡɭɥɶɬɚɬɟ ɦɵ ɩɨɥɭɱɢɦ ɫɩɢɫɨɤ, ɷɥɟɦɟɧɬɚɦɢ ɤɨɬɨɪɨɝɨ ɹɜɥɹɸɬɫɹ
ɨɬɞɟɥɶɧɵɟ ɫɬɪɨɤɢ ɮɚɣɥɚ. ɉɪɢɫɦɨɬɪɢɬɟɫɶ ɤ ɤɨɞɭ ɢ ɡɚɦɟɬɶɬɟ, ɱɬɨ ɜɦɟɫɬɨ
readline() ɩɨɹɜɢɥɨɫɶ readlines(). Ɋɚɡɧɢɰɚ ɜ ɨɞɧɨɣ ɛɭɤɜɟ, ɚ ɪɟɡɭɥɶɬɚɬ
ɫɨɜɫɟɦ ɞɪɭɝɨɣ. ɋɬɪɨɤɢ ɷɬɢ ɫɨɞɟɪɠɚɬ ɤɨɞ ɩɟɪɟɜɨɞɚ ɫɬɪɨɤɢ. ɏɨɪɨɲɨ ɷɬɨ ɢɥɢ
ɩɥɨɯɨ, ɡɚɜɢɫɢɬ ɨɬ ɡɚɞɚɱɢ, ɤɨɬɨɪɭɸ ɜɵ ɪɟɲɚɟɬɟ. Ɋɚɡɭɦɟɟɬɫɹ, ɟɫɥɢ ɮɚɣɥ
ɨɱɟɧɶ ɛɨɥɶɲɨɣ, ɬɚɤɨɣ ɦɟɬɨɞ ɦɨɠɟɬ ɩɨɬɪɟɛɨɜɚɬɶ ɦɧɨɝɨ ɩɚɦɹɬɢ – ɢ ɜɪɟɦɟɧɢ.
Ⱦɨ ɫɢɯ ɩɨɪ ɦɵ ɩɢɫɚɥɢ ɜ ɮɚɣɥ ɬɨɥɶɤɨ ɫɬɪɨɤɢ, ɩɪɢɱɺɦ ɧɟɩɨɫɪɟɞɫɬɜɟɧɧɨ. ɋ
ɬɟɦ ɠɟ ɭɫɩɟɯɨɦ ɦɨɠɧɨ ɩɢɫɚɬɶ ɢ ɫɬɪɨɤɨɜɵɟ ɩɟɪɟɦɟɧɧɵɟ.
s1 = 'Once upon a midnight dreary, '
s2 = 'while I pondered, weak and weary,'
f.write(s1)
f.write(s2)
Ɂɚɞɚɞɢɦ – ɫɟɛɟ – ɜɨɩɪɨɫ ɩɨɫɥɨɠɧɟɟ. Ɇɨɠɧɨ ɥɢ ɡɚɩɢɫɚɬɶ ɜ ɮɚɣɥ ɱɢɫɥɚ ɢɥɢ
ɱɬɨ-ɬɨ ɛɨɥɟɟ ɯɢɬɪɨɟ, ɧɚɩɪɢɦɟɪ ɫɩɢɫɤɢ? ɂ ɧɭɠɧɨ ɥɢ ɢɯ ɬɭɞɚ ɩɢɫɚɬɶ?
Ʌɸɛɢɬ ɥɢ ɫɥɨɧɨɩɨɬɚɦ ɩɨɪɨɫɹɬ? ɂ ɤɚɤ ɨɧ ɢɯ ɥɸɛɢɬ?
© ȼɢɧɧɢ-ɩɭɯ ɜ ɩɟɪɟɜɨɞɟ Ɂɚɯɨɞɟɪɚ
ȼ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɦɨɠɧɨ
ɜ ɩɪɢɧɰɢɩɟ ɡɚɩɢɫɚɬɶ ɜɫɺ. Ɍɨɥɶɤɨ ɷɬɨ ɜɫɺ ɦɵ
ɞɨɥɠɧɵ ɩɪɢ ɡɚɩɢɫɢ ɫɜɨɢɦɢ ɫɨɛɫɬɜɟɧɧɵɦɢ ɪɭɤɚɦɢ ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɜ ɫɬɪɨɤɢ.
Ⱥ ɩɪɢ ɱɬɟɧɢɢ ɨɩɹɬɶ-ɬɚɤɢ ɷɬɢɦɢ ɠɟ ɪɭɤɚɦɢ ɩɪɟɨɛɪɚɡɨɜɚɬɶ ɢɡ ɫɬɪɨɤ ɜ ɬɨ, ɱɟɦ
ɷɬɨ ɛɵɥɨ ɞɨ ɡɚɩɢɫɢ. Ɇɧɟ ɤɚɠɟɬɫɹ, ɷɬɨ ɧɚɦ ɧɟ ɧɭɠɧɨ. ȼ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ
ɧɭɠɧɨ ɩɢɫɚɬɶ ɬɟɤɫɬ. Ⱥ ɟɫɥɢ ɯɨɱɟɬɫɹ ɱɟɝɨ-ɬɨ ɞɪɭɝɨɝɨ, ɜɩɟɪɟɞɢ ɭ ɧɚɫ ɟɳɺ
ɦɧɨɝɨ ɢɧɬɟɪɟɫɧɨɝɨ ɨ ɮɚɣɥɚɯ.
187

ɒɚɝ ɱɟɬɜɺɪɬɵɣ. Ɂɚɩɢɫɶ ɨɛɴɟɤɬɨɜ ɜ ɮɚɣɥ.
Ɍɨɥɶɤɨ ɞɥɹ ɉɢɬɨɧɚ
ɗɬɨ ɨɱɟɧɶ ɭɞɨɛɧɵɣ ɢ ɩɪɨɫɬɨɣ ɫɩɨɫɨɛ ɡɚɩɢɫɢ ɞɚɧɧɵɯ ɜ ɮɚɣɥ. Ⱦɚɠɟ ɛɨɥɟɟ
ɱɟɦ ɭɞɨɛɧɵɣ ɢ ɩɪɨɫɬɨɣ – ɢɞɟɚɥɶɧɵɣ. ɇɨ ɟɫɬɶ ɨɞɢɧ ɧɸɚɧɫ. Ɍɟɩɟɪɶ ɰɢɬɚɬɚ,
ɦɧɟ ɤɚɠɟɬɫɹ, ɤ ɦɟɫɬɭ. Ⱦɥɹ ɬɟɯ, ɤɬɨ ɜ ɲɤɨɥɟ ɫ ɪɭɫɫɤɢɦ ɹɡɵɤɨɦ ɧɟ ɞɪɭɠɢɥ – ɚ
ɛɭɞɭɳɢɟ ɩɪɨɝɪɚɦɦɢɫɬɵ ɨɛɵɱɧɨ ɧɟ ɞɪɭɠɚɬ – ɩɨɹɫɧɹɸ. Ɇɭɠɢɤ ɩɨ ɮɚɦɢɥɢɢ
Ⱦɚɥɶ – ɚɜɬɨɪ
ɪɭɫɫɤɚɹ ɮɚɦɢɥɢɹ ɧɟ ɫɥɭɱɚɣɧɚ.
ɫɨɫɬɚɜɢɥ Ɇɚɤɫ Ɏɚɫɦɟɪ, ɚ
Ɍɨɥɤɨɜɨɝɨ ɫɥɨɜɚɪɹ ɠɢɜɨɝɨ ɜɟɥɢɤɨɪɭɫɫɤɨɝɨ ɫɥɨɜɚɪɹ. Ɍɢɩɢɱɧɨ
ɗɬɢɦɨɥɨɝɢɱɟɫɤɢɣ ɫɥɨɜɚɪɶ ɪɭɫɫɤɨɝɨ ɹɡɵɤɚ
ɉɪɚɜɢɥɚ ɪɭɫɫɤɨɝɨ ɩɪɚɜɨɩɢɫɚɧɢɹ ɫɨɱɢɧɢɥ
Ɋɨɡɟɧɬɚɥɶ. Ɍɟɧɞɟɧɰɢɹ, ɨɞɧɚɤɨ. ȼɨɬ, ɫɨɛɫɬɜɟɧɧɨ, ɰɢɬɚɬɚ.
ȼ 1837 ɝɨɞɭ, ɜɫɬɪɟɬɢɜɲɢɫɶ ɜ ɍɪɚɥɶɫɤɟ ɫ ɀɭɤɨɜɫɤɢɦ, Ⱦɚɥɶ ɩɪɟɞɫɬɚɜɢɥ ɟɦɭ
ɨɛɪɚɡɟɰ ɞɜɨɹɤɨɝɨ ɫɩɨɫɨɛɚ ɜɵɪɚɠɟɧɢɹ: ɨɛɳɟɩɪɢɧɹɬɨɝɨ ɤɧɢɠɧɨɝɨ ɢ
ɧɚɪɨɞɧɨɝɨ. Ɏɪɚɡɚ ɧɚ ɤɧɢɠɧɨɦ ɹɡɵɤɟ ɢɦɟɥɚ ɬɚɤɨɣ ɜɢɞ: «Ʉɚɡɚɤ ɫɟɞɥɚɥ
ɥɨɲɚɞɶ ɤɚɤ ɦɨɠɧɨ ɩɨɫɩɟɲɧɟɟ, ɜɡɹɥ ɬɨɜɚɪɢɳɚ ɫɜɨɟɝɨ, ɭ ɤɨɬɨɪɨɝɨ ɧɟ ɛɵɥɨ
ɜɟɪɯɨɜɨɣ ɥɨɲɚɞɢ, ɤ ɫɟɛɟ ɧɚ ɤɪɭɩ ɢ ɫɥɟɞɨɜɚɥ ɡɚ ɧɟɩɪɢɹɬɟɥɟɦ, ɢɦɟɹ ɟɝɨ ɜɫɟɝɞɚ
ɜ ɜɢɞɭ, ɱɬɨɛɵ ɩɪɢ ɛɥɚɝɨɩɪɢɹɬɧɵɯ ɨɛɫɬɨɹɬɟɥɶɫɬɜɚɯ ɧɚ ɧɟɝɨ ɧɚɩɚɫɬɶ». ɇɚ
ɧɚɪɨɞɧɨɦ ɠɟ — «Ʉɚɡɚɤ ɫɟɞɥɚɥ ɭɬɨɪɨɩɶ, ɩɨɫɚɞɢɥ ɛɟɫɤɨɧɧɨɝɨ ɬɨɜɚɪɢɳɚ ɧɚ
ɡɚɛɟɞɪɵ ɢ ɫɥɟɞɢɥ ɧɟɩɪɢɹɬɟɥɹ ɜ ɧɚɡɟɪɤɭ, ɱɬɨɛɵ ɩɪɢ ɫɩɨɩɭɬɧɨɫɬɢ ɧɚ ɧɟɝɨ
ɭɞɚɪɢɬɶ». ȼ ɨɬɜɟɬ ɧɚ ɯɚɪɚɤɬɟɪɢɫɬɢɤɭ ȼ. ɂ. Ⱦɚɥɟɦ ɧɚɪɨɞɧɨɝɨ ɫɩɨɫɨɛɚ
ɢɡɥɨɠɟɧɢɹ ɤɚɤ ɛɨɥɟɟ ɤɨɪɨɬɤɨɝɨ ɢ ɜɵɪɚɡɢɬɟɥɶɧɨɝɨ ȼ. Ⱥ. ɀɭɤɨɜɫɤɢɣ
ɡɚɦɟɬɢɥ, ɱɬɨ ɜɬɨɪɵɦ ɫɩɨɫɨɛɨɦ ɦɨɠɧɨ ɝɨɜɨɪɢɬɶ ɬɨɥɶɤɨ ɫ ɤɚɡɚɤɚɦɢ ɢ
ɩɪɢɬɨɦ ɨ ɛɥɢɡɤɢɯ ɢɦ ɩɪɟɞɦɟɬɚɯ
. © ɂɡ ɩɪɟɞɢɫɥɨɜɢɹ ɤ ɲɟɫɬɨɦɭ ɢɡɞɚɧɢɸ
ɫɥɨɜɚɪɹ Ⱦɚɥɹ
ɋɦɵɫɥ ɜ ɬɨɦ, ɱɬɨ ɟɫɥɢ ɜɵ ɩɢɲɟɬɟ ɮɚɣɥɵ ɷɬɢɦ ɫɩɨɫɨɛɨɦ, ɬɨ ɟɝɨ ɩɪɨɱɢɬɚɟɬ
ɬɨɥɶɤɨ ɬɚɤɨɣ ɠɟ ɤɚɡɚɤ, ɤɚɤ ɢ ɜɵ – ɜ ɫɦɵɫɥɟ ɬɚɤɨɣ ɠɟ ɩɢɬɨɧɢɫɬ. Ɍɟɤɫɬɨɜɵɣ
ɮɚɣɥ ɩɪɨɱɬɭɬ ɩɨɱɬɢ ɜɫɟ, ɛɢɧɚɪɧɵɣ, ɨ ɤɨɬɨɪɨɦ ɜ ɫɥɟɞɭɸɳɟɦ ɪɚɡɞɟɥɟ,
ɜɨɨɛɳɟ ɚɛɫɨɥɸɬɧɨ ɜɫɟ, ɚ ɜɨɬ ɷɬɨɬ – ɭɜɵ ɧɟɬ.
ɋɨɡɞɚɞɢɦ ɫɩɢɫɨɤ, ɞɚ ɩɨɡɚɤɨɜɵɪɢɫɬɟɟ:
L = [ 1,2, 3.141582, 'Blue oyster', True,
[99,77, [], 'Your mother dont like me']]
print L
[1, 2, 3.141582, 'Blue oyster', True, [99, 77, [], 'Your mother dont like
me']]
188

Ɍɟɩɟɪɶ ɧɚɲɚ ɡɚɞɚɱɚ – ɡɚɩɢɫɚɬɶ ɷɬɨ ɛɟɡɨɛɪɚɡɢɟ ɜ ɮɚɣɥ. ɇɭ ɢ ɩɪɨɱɢɬɚɬɶ
ɩɨɫɥɟ, ɫɚɦɨ ɫɨɛɨɣ. Ʉɚɤ ɧɢ ɫɬɪɚɧɧɨ, ɷɬɨ ɫɨɜɫɟɦ ɧɟ ɫɥɨɠɧɨ, ɯɨɬɹ ɢ ɩɪɢɞɺɬɫɹ
ɩɨɞɤɥɸɱɢɬɶ ɞɨɩɨɥɧɢɬɟɥɶɧɵɣ ɦɨɞɭɥɶ.
import pickle
f = open( 'd:/something.strange', 'w')
pickle.dump(L,f)
f.close()
Ɋɟɡɭɥɶɬɚɬɨɦ ɹɜɥɹɟɬɫɹ ɩɨɹɜɢɜɲɢɣɫɹ ɬɚɦ, ɝɞɟ ɢ ɧɚɞɨ, ɮɚɣɥ ɫɥɟɞɭɸɳɟɝɨ
ɫɨɞɟɪɠɚɧɢɹ
(lp0
I1
aI2
aF3.141582
aS'Blue oyster'
p1
aI01
a(lp2
I99
aI77
a(lp3
aS'Your mother dont like me'
p4
aa.
Ɋɚɡɭɦɟɟɬɫɹ, ɹ, ɟɫɥɢ ɩɨɫɬɚɪɚɸɫɶ, ɫɦɨɝɭ ɨɛɴɹɫɧɢɬɶ ɜɚɦ ɱɬɨ ɷɬɨ, ɢ ɩɨɱɟɦɭ ɨɧɨ
ɜɵɝɥɹɞɢɬ ɢ ɩɚɯɧɟɬ ɢɦɟɧɧɨ ɬɚɤ. ɇɨ ɦɧɟ ɤɚɠɟɬɫɹ, ɷɬɨ ɥɢɲɧɟɟ. Ƚɥɚɜɧɨɟ
ɩɨɧɹɬɶ, ɱɬɨ ɧɢɤɬɨ ɢ ɧɢɤɨɝɞɚ ɩɪɨɱɢɬɚɬɶ ɷɬɨ ɧɟ ɫɦɨɠɟɬ. Ʉɪɨɦɟ ɧɚɫ,
ɩɪɨɝɪɚɦɦɢɫɬɨɜ ɧɚ ɉɢɬɨɧɟ. Ⱥ ɦɵ ɛɭɞɟɦ ɱɢɬɚɬɶ ɷɬɨ ɫɥɟɞɭɸɳɢɦ ɨɛɪɚɡɨɦ:
f = open( 'd:/something.strange', 'r')
L = pickle.load( f)
print 'out L = \n', L
f.close()
out L =
[1, 2, 3.141582, 'Blue oyster', True, [99, 77, [], 'Your mother dont like
me']]
ȼɟɫɶ ɧɚɲ ɯɢɬɪɨɭɦɧɵɣ ɫɩɢɫɨɤ ɱɭɞɟɫɧɵɦ ɨɛɪɚɡɨɦ ɢɞɟɚɥɶɧɨ ɩɪɨɱɬɺɧ. ɇɚ ɱɬɨ
ɨɛɪɚɬɢɬɶ ɜɧɢɦɚɧɢɟ. ɋɬɪɨɤɚ
import pickle. Ȼɟɡ ɧɟɺ ɧɢɤɚɤ. Ɇɵ ɨɛɹɡɚɬɟɥɶɧɨ
ɞɨɥɠɧɵ ɩɨɞɤɥɸɱɢɬɶ ɷɬɨɬ ɜɧɟɲɧɢɣ ɦɨɞɭɥɶ. Ɉɬɤɪɵɬɢɟ ɢ ɡɚɤɪɵɬɢɟ ɮɚɣɥɚ
ɧɢɱɭɬɶ ɧɟ ɢɡɦɟɧɢɥɨɫɶ. Ⱥ ɜɨɬ ɞɥɹ ɱɬɟɧɢɹ ɢ ɡɚɩɢɫɢ ɞɚɧɧɵɯ ɜ ɮɚɣɥ
189

ɢɫɩɨɥɶɡɭɸɬɫɹ ɮɭɧɤɰɢɢ ɦɨɞɭɥɹ
pickle. ɂ, ɜ ɤɨɧɟɱɧɨɦ ɢɬɨɝɟ, ɮɚɣɥ ɜɫɺ ɪɚɜɧɨ
ɩɨɥɭɱɚɟɬɫɹ ɬɟɤɫɬɨɜɵɦ.
Ƚɥɚɜɧɨɟ ɢ ɟɳɺ ɪɚɡ ɩɨɜɬɨɪɺɧɧɨɟ – ɜɵ ɦɨɠɟɬɟ ɥɟɝɤɨ ɢ ɩɪɨɫɬɨ ɡɚɩɢɫɵɜɚɬɶ
ɚɛɫɨɥɸɬɧɨ ɥɸɛɵɟ ɞɚɧɧɵɟ ɬɚɤɢɦ ɫɩɨɫɨɛɨɦ, ɧɨ ɩɪɨɱɢɬɚɬɶ ɢɯ ɫɦɨɠɟɬɟ
ɬɨɥɶɤɨ ɜ ɉɢɬɨɧɟ. Ⱦɥɹ ɜɧɟɲɧɟɝɨ ɦɢɪɚ ɷɬɢ ɜɚɲɢ ɮɚɣɥɵ – ɛɟɫɫɦɵɫɥɟɧɧɵɣ
ɧɚɛɨɪ ɫɢɦɜɨɥɨɜ.
ɂ ɟɳɺ ɨɞɧɨ – ɩɪɨɰɟɫɫ ɡɚɩɢɫɢ ɧɟɩɨɧɹɬɧɨ ɤɚɤɢɯ ɞɚɧɧɵɯ ɜ ɬɟɤɫɬɨɜɵɣ ɮɚɣɥ ɩɨ
ɧɚɭɱɧɨɦɭ ɧɚɡɵɜɚɟɬɫɹ ɫɥɨɜɨɦ
ɫɟɪɢɚɥɢɡɚɰɢɹ. Ɂɚɩɨɦɧɢɬɟ, ɨɱɟɧɶ ɦɨɠɟɬ
ɩɪɢɝɨɞɢɬɶɫɹ – ɧɟ ɫɬɨɥɶɤɨ ɩɪɨɰɟɫɫ, ɫɤɨɥɶɤɨ ɤɪɚɫɢɜɨɟ ɫɥɨɜɨ.
190
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
