Б41 Чистый Python. Тонкости программирования для профи. Спб.: Питер


Глава 2 • Шаблоны для чистого Python ЭМПИРИЧЕСКОЕ ПРАВИЛО ДЭНА, КАСАЮЩЕЕСЯ



Download 6,94 Mb.
Pdf ko'rish
bet23/80
Sana24.02.2022
Hajmi6,94 Mb.
#212875
1   ...   19   20   21   22   23   24   25   26   ...   80
Bog'liq
978544610803 Chisty Python Tonko

64 Глава 2 • Шаблоны для чистого Python
ЭМПИРИЧЕСКОЕ ПРАВИЛО ДЭНА, КАСАЮЩЕЕСЯ 
ФОРМАТИРОВАНИЯ СТРОК PYTHON:
Если форматирующие строки поступают от пользователей, то исполь-
зуйте шаблонные строки, чтобы избежать проблем с безопасностью . 
В противном случае используйте интерполяцию литеральных строк при 
условии, что вы работаете с Python 3 .6+, и «современное» форматиро-
вание строк — если нет .
Ключевые выводы
‰
‰
Пожалуй, это удивляет, но в Python существует более одного способа 
форматирования строк.
‰
‰
У каждого метода есть свои индивидуальные за и против. Ваш вари-
ант применения будет влиять на то, какой метод вам следует исполь-
зовать.
‰
‰
Если вы затрудняетесь в выборе метода форматирования строк, то 
попробуйте применить мое эмпирическое правило форматирования 
строк.
2 .6 . Пасхалка «Дзен Python»
Я знаю, что далее приводится привычная картина, если говорить о кни-
гах по Python. И впрямь, нет никаких шансов пройти мимо свода правил 
«Дзен Python» Тима Питерса. За прошедшие годы я не раз извлекал 
пользу из перечитывания этих правил, и думаю, что слова Тима сделали 
из меня более совершенного кодера. Будем надеяться, что они смогут 
сделать то же самое и для вас.
Кроме того, можно сказать, что Дзен Python является «большой шишкой», 
потому что этот свод правил включен в качестве пасхалки в сам язык. 
Просто запустите сеанс интерпретатора Python и выполните следующую 
команду:
>>> import this


2 .6 . Пасхалка «Дзен Python» 65
Дзен Python от Тима Питерса
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читаемость имеет значение.
Особые случаи не настолько особые, чтобы нарушать правила.
При этом практичность важнее безупречности.
Ошибки никогда не должны замалчиваться.
Если не замалчиваются явно.
Встретив двусмысленность, отбрось искушение угадать.
Должен существовать один — и желательно только один — очевидный 
способ сделать это.
Хотя он поначалу может быть и не очевиден, если вы не голландец
1
.
Сейчас лучше, чем никогда.
Хотя никогда зачастую лучше, чем прямо сейчас.
Если реализацию сложно объяснить — идея плоха.
Если реализацию легко объяснить — идея, возможно, хороша.
Пространства имен — отличная вещь! Давайте будем делать их больше!
1
Язык Python создал нидерландский программист Гвидо ван Россум.


3
Эффективные функции
3 .1 . Функции Python — это объекты 
первого класса
Функции Python относятся к объектам первого класса. Их можно при-
сваивать переменным, хранить их в структурах данных, передавать их 
в качестве аргументов другим функциям и даже возвращать их в качестве 
значений из других функций.
Глубокое осмысление этих понятий на интуитивном уровне намного упро-
стит понимание расширенных функциональных средств языка Python, 
в частности лямбда-функций и декораторов. Это также направит вас по 
верному пути к методам функционального программирования.
На следующих нескольких страницах я проведу вас через несколько при-
меров, чтобы помочь вам развить это интуитивное понимание. Примеры 
будут строиться друг поверх друга, поэтому, возможно, вам стоит читать 
их по порядку и даже попробовать некоторые из них в сеансе интерпре-
татора Python по мере продвижения.
Чтобы осмыслить понятия, которые мы будем здесь рассматривать, потре-
буется немного больше времени, чем вы ожидаете. Не волнуйтесь — это 
абсолютно нормально. Со мной было точно так же. Вполне возможно, что 
вы будете ощущать, как бьетесь головой о стену, а затем в один прекрас-
ный момент, когда вы будете готовы, вас внезапно осенит, и все встанет 
на свои места.


3 .1 . Функции Python — это объекты первого класса 67
На протяжении всей этой главы я буду в демонстрационных целях ис-
пользовать приведенную ниже функцию 
yell
. Это простой игрушечный 
пример с легко распознаваемым результатом:
def yell(text):
return text.upper() + '!' 
>>> yell('привет')

Download 6,94 Mb.

Do'stlaringiz bilan baham:
1   ...   19   20   21   22   23   24   25   26   ...   80




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish