Программирование и научные вычисления на языке Python/§5: различия между версиями
Содержимое удалено Содержимое добавлено
LeoMat (обсуждение | вклад) Нет описания правки |
LeoMat (обсуждение | вклад) Нет описания правки |
||
Строка 143:
==Волшебная функция eval==
В Python есть функция ''eval'', которая в качестве аргумента принимает строку и воспроизводит ее как
▲В Python есть функция ''eval'', которая в качестве аргумента принимает строку и воспроизводит ее как код Python. Для того, чтобы показать что это значит:
Строка 234 ⟶ 233 :
Теперь это уже выглядит как настоящее волшебство программирования — мы не просто по ходу действия вводим какие-то числа, а целые формулы, и можем использовать всю внутреннюю функциональность Python:
Строка 241 ⟶ 240 :
Give x: 3.14<br>
2*sin(x)+1 for x=3.14 yields 1.00319<br></code>
==Волшебная функция exec==
Представив функцию ''eval'', превращающую строковые объекты в код Python, нам представляется удобный случай познакомиться и с ее старшей сестрой, функцией ''exec'', которая позволяет выполнять (''exec''ute) любой код на Python, не только выражения:
<source lang="python">
formula = raw_input('Write a formula involving x: ')
code = """
def f(x):
return %s
""" % formula
exec(code)</source>
|