这一篇文章主要介绍函数、模块、运行python文件等知识。

函数

函数犹如小程序,可以用来执行特定的操作。Python本身提供了很多函数,我们称这些函数为内置函数。内置函数可以用于编写数值表达式

>>> abs(-10)
10
>>> 2 // 3 # 整除总是向下取整
>>> round(2 / 3) # round()

模块

可认为模块是一种扩展,通过将其导入壮大Python功能。

导入模块的关键字为import

>>> import math
>>> math.floor(32.9) # 向下取整函数(floor的本意为地板,所以是向下取整)
32
>>> math.ceil(32.9)  # 向上取整函数(ceil的本意为天花板,所以是向上取整)
33
>>>

如果只需要导入模块中的某个函数,使用from module import function格式,这种再使用的时候就不需要加上前缀了:

>>> from math import sqrt
>>> sqrt(9)
3.0
>>> foo = math.sqrt # 可以使用变量来引用函数
>>> foo(64)
8.0
>>>

复数

用函数sqrt计算负数的平方根会报错:

>>> from math import sqrt
>>> sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: math domain error
>>>  

实部虚部组成的数为复数,Python标准库提供了一个专用用于处理复数的模块:cmath

>>> import cmath # 注意这里不能使用 from ... import ... 的格式,否则将无法使用常规函数sqrt()
>>> cmath.sqrt(-1)
1j
>>>
>>> (1 + 3J) * (9 + 4j)
(-3+31j) # 从结果可以看出,python提供了对复数的支持
>>>
>>> type(1j)
<class 'complex'> # Python没有专门的表示虚数的数据类型,而是将虚数视为实部为0的复数
>>> type(10 + 6j) 
<class 'complex'>

关于python文件的运行

交互式解释器的好处就是可以让你实时运行写完的代码,可以帮助学习者了解python的工作原理;但是它也有一个致命的缺点就是退出交互式解释器之后,编写的所有代码都会丢失。显然我们不可能每次工作都从头开始,因为我们的终极目标是编写自己和他人都能运行的程序。

那么我们就需要一个文本编辑器可以编写代码,然后保存成文件复用:

命令提示符运行脚本:

IDE运行脚本:

需要说明的是,如果要像运行其他程序一样执行Python脚本,需要再python文件的第一行加上 #!/usr/bin/env python, 这样可以保证脚本文件可以再安装了python的环境中运行。

有时候,还需要修改脚本的权限才可以运行:$ chmod a+x demo.py

注释

在Python中,井号(#)比较特殊:在代码中,井号后面到行尾的内容都将被忽略,称为注释。

注释让程序更容易理解,注释的基本原则就是言而有物,不要重复去讲通过代码很容易获得的信息,无用而重复的注释还不如没有。