第一章-用公式计算(Computing with Formulas)

通过和数学公式有关的例子,介绍变量(variable)、对象(object)、模块(module)和文本格式化(text formatting)相关的概念。


1.1-与编程的初遇:一个公式

用Python表达垂直自由落体公式

Python科学计算第二版 张若愚 python科学计算基础教程 pdf_读书笔记


较为完美的表达方式:

v0 = 5
g = 9.81
t = 0.6
y = v0*t - 0.5*g*t**2
print y
  • 加减乘除运算符分别为 + - * / ,幂次为**,比如,t的平方表示为t**2
  • 用程序的语言编写程序,比如,输出命令是print,不要写成write
  • 运用变量,比如,v0、g、t和y,既容易修改参数,又简洁美观,便于查错

 

  • 变量名区分大小写,可由英文字母、下划线和阿拉伯数字组成,但变量名不能用数字开头
  • 变量名简明扼要,不要过于冗长,也不要过于随意,尽量运用待解决问题中自带的名称
  • 变量名不能用Python的保留名称(Reserved Words),这些名称具有特殊意义,比如:

               and, as,assert, break, class, continue, def, del, elif, else, except,
               False, finally, for, from, global, if, import, in, is, lambda, None,
               nonlocal, not, or, pass, raise, return, True, try, with, while

 

initial_velocity = 5acceleration_of_gravity = 9.81 TIME = 0.6 VerticalPositionOfBall = initial_velocity*TIME - \ 0.5*acceleration_of_gravity*TIME**2 print VerticalPositionOfBall

  • 在这段代码中,变量名过于冗长了,显得很乱
  • 注意, \ 后没有空白符

 

  • 注释可以对程序进行补充说明,以 # 开头,例如:

v0 = 5 # initial velocity

  • 若程序出现了非英文字符,需在程序第一行加入以下代码,否则会报错:

# -*- coding: utf-8 -*-

虽然这段代码是 # 开头,但是程序会执行

格式化输出的两种表示形式:

print ’At t=%g s, the height of the ball is %.2f m.’ % (t, y)
print ’At t={t:g} s, the height of the ball is {y:.2f} m.’.format(t=t, y=y)
  • 输出结果的形式为:

At t=0.6 s, the height of the ball is 1.23 m.

  • 第一种表达中, '  ' 内表示要输出的内容,其间的%是参数标记,会按照顺序将最后括号内的变量值依次填入
  • 第二种表达中, '  ' 内表示要输出的内容,期间由{x:y}替代%开头的参数标记、
  •  '  ' 单引号可由 "  " 双引号替代
  • %开头的参数标记意义如下:

格式意义%s一个字符串%d一个整数%0xd一个整数,如果长度小于x,则在开头补0,补足为止%f带6个小数的十进制数%e科学计数法,用e表示10的幂次,如,200表示为2e+2%E科学计数法,用E表示10的幂次,如,200表示为2E+2%g长度较长时,则用科学计数法,用e表10的幂次;较短则不用%G长度较长时,则用科学计数法,用E表10的幂次;较短则不用%xz若z的长度小于x,则在开头补空格,补足为止%-xz若z的长度小于x,则在末尾补空格,补足为止%.yz使z小数点后有y个数%x.yz使z小数点后有y个数,若长度不超过x,则在开头补空格,不足为止%%表示%本身

 

  • 若在输出中需要换行,有两种表达方式:

print """y(t) isthe position of our ball."""print ’y(t) is\nthe position of\nour ball.’

  • 其结果均为

y(t) isthe position of our ball.


1.2-计算机科学术语

待续