Python 简介

             

   到 2019 年,在一些排名中,Python 已经成为最流行的语言,无论是在科学计算还是在计算机领域都有大量的使用者.本书中我们主要介绍 python 在科学计算中的应用.

   如果不想安装软件可以直接用浏览器访问 Jupyter Notebook 运行 Python 程序,要在本地使用 Python 推荐安装 Anoconda.以下我们用前者进行讲解.Jupyter Notebook 的优点是交互式编程,即每输入一个命令都可以立即执行(快捷键 Shift + Enter),利于学习和实验.

1. 作为计算器

   请在 Jupyter Notebook 中尝试输入以下命令并执行(运行结果略).Python 程序使用 # 注释一行, 或者用两个 """''' 注释多行1.注释是为了辅助人阅读代码,不会被执行.

   四则运算

2 + 2
123 / 456 # 得到浮点数
123 // 456 # 两数相除后向下取整
幂运算
3 ** 2
整数除法,即相除再向下取整
4 // 3
求余
4 % 3 # 使得 a == a // b + a % b 恒成立
使用括号
(123 - 234*2)**2 / (34 + 54**4)
各种常见的数学函数都在 math 模块中,需要加载.
import math
使用模块中的函数,要在前面加上模块名和一点.例如开方(square root)
math.sqrt(284)
自然指数函数
math.exp(5.1)
这样做虽然略显麻烦,但可以区分不同模块中同名函数.在确保没有冲突的情况下我们也可以用以下方法加载模块中的指定函数,如
from math import sqrt, exp, sin, cos
现在使用这些函数就不需要 math. 的前缀了
sin(1)
我们甚至可以用这种方式引入一个模块中所有函数(和其他内容)而无需前缀.这样做引起名称冲突的可能性更大,不建议使用.
from math import *
从模块中不仅可以引入函数,还有常数,例如圆周率和自然对数底(注意 e 这种单字母名称很可能会产生冲突,所以不建议取消 math. 前缀)
sin(pi/2)
log(e)

   math 模块中的其他常用函数如:绝对值(absolute value)

fabs(-32)
自然对数
log(0.5)
以 10 为底的对数
log10(1000)
弧度转为角度
degrees(pi/2)

2. 变量

   Python 中的变量(variable) 和数学中的不同,Python 的变量可以理解为一个储存数值的容器,我们可以用等号把一个数值储存在一个变量中.例如要计算一个长方体的面积,我们既可以直接把三个数字相乘,也可以先把这三个数字赋值给三个变量然后相乘

a = 1
b = 2
c = 3
volumn = a*b*c
在 Jupyter Notebook 执行这四行发现并没有输出,无论是一次性执行还是分开执行.这是因为赋值命令默认不输出结果.要强制输出结果可以用
print(volumn)
或者一次输出多个变量
print(a, b, c, volumn)
注意:在 python2.x 版本中,print 是一个关键字,输出内容不需要加括号,python 3.x 中它是一个函数,可以介绍任意多个用逗号隔开的变量,他们甚至可以是不同类型的.例如
print volumn  #2.x
print(volumn) # 3.x
要强调的是,这里的等号并不是数学上的等于,而是赋值,即把等号右边得到的数值储存在左边的变量中.在第 4 行执行时,计算机会先计算等号右边表达式的结果 6,然后将 6 储存在变量 volumn 中.volumn 这个变量中并不会包含 a*b*c 这个信息,只储存 6 这个数值.所以改变 a, b, cvolumn 的值并不会自动改变.

   如果要让长方形的某个边长增加 1,我们可以执行

a = a + 1
如果将等号理解为数学上的等于,这个式子显然是错的.但正确的理解是,先把 a 当前的值 1 加上 1 得到 2,然后把 2 赋值a.由于我们没有给 volumn 重新赋值,它仍然是 6,要更新 volumn,只需要重新执行
volumn = a*b*c
并用 print(volumn) 显示新的值.

   等效地,我们也可以用自加运算 +=,将 a = a + 1 记为

a += 1
注意 += 是一个整体的算符,中间不能有空格.类似的运算还有 -=*=/= 等.

3. 函数

   Python 中的函数与数学中的函数不完全一样,函数可以有若干个输入变量和输出变量(也可以没有).下面我们定义一个简单的函数来计算长方形的面积

def f(a, b, c):
    volumn = a*b*c
    return volumn
这段代码用到了两个 Python 的关键字(keyword) defreturn.关键字是指在程序中有特殊含义的单词,不能作为变量名和函数名的名称.其中 def 用于定义函数,f 是函数名,abc 分别是函数的输入变量(argument).冒号以后是函数体,可以有若干行命令.注意这些命令前面必须有缩进(indentation). 在以上代码中,函数体的第一行计算面积,第二行将用关键字 return 将计算的结果作为输出并退出函数.

   现在我们可以使用这个函数,使用方法和 sinsqrt 等数学函数一样,只是不同输入变量要用逗号隔开.

V = f(1.2, 3.4, 6)
print(V)


1. ^ 事实上 """..."""'''...''' 是一个字符串而不是注释,但单独出现的字符串并不会对程序运行造成影响,所以可以用作注释

致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择会员制,大量广告,内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证网站能在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

         

© 小时科技 保留一切权利