1.4 变量
>>> x = 3
这称为赋值(assignment),我们将值3赋给了变量
>>> x * 2
6
1.5 语句
>>> 2 * 2
4
>>> print(2*2)
4
print实际上是一个函数(这将在本章后面更详细地介绍),因此前面说的print语句其实 是函数调用。在Python 2.x中,print是一条语句,无需将要打印的内容作为参数放在圆括号内
1.6 获取用户输入
你编写的程序可能供他人使用,无法预测用户会向程序提供什么样的值。我们来看看很有用 的函数input(稍后将更详细地介绍函数)
一、通过使用int将字符串转换为整数:
>>> input("The meaning of life: ")
The meaning of life: 42
'42'
二、在这种情况下, 你编写程序时无需知道这些值
>>> x = input("x: ")
x: 34
>>> y = input("y: ")
y: 42
>>> print(int(x) * int(y))
1428
对于上述在Python提示符(>>>)下输入的语句,可将其放在完整的程序中,并让用户提供 所需的值(34和42)。这样,这个程序将打印结果1428,即前述两个数的乘积。
1.8 模块
可将模块视为扩展,通过将其导入可以扩展Python功能。要导入模块,可使用特殊命令import。前一节提及的函数floor包含在模块math中。
>>> import math
>>>math.floor(32.9)
32
import导入模块,再以module.function的方式使用模块中的函数。就这里执行的操作而言,也可像前面处理input的返回值那样,将这个数字转换为整数.
- ceil与floor
返回大于或等于给定数的最小整数
还有一些类似的函数,可用于转换类型,如str和float。实际上它们并不是函数,而是类。
通过使用命令import的变种from module import function,可在调用函数时不指定模块前缀。
提示
事实上,可使用变量来引用函数(以及其他大部分Python元素)。执行赋值语句foo = math.sqrt后,就可使用foo来计算平方根。例如,foo(4)的结果为2.0。
1.8.1 cmath 和复数
一、函数sqrt用于计算平方根。下面来看看向它提供一个负数的情况:
在有些平台上,结果如下:
>>> sqrt(-1)
nan
nan具有特殊含义,指的是“非数值”(not a number)
二、
如果我们坚持将值域限定为实数,并使用其近似的浮点数实现,就无法计算负数的平方根。负数的平方根为虚数,而由实部和虚部组成的数为复数。Python标准库提供了一个专门用于处理复数的模块。
>>import cmath
>>cmath.sqrt(-1)
1j
注意到
这里没有使用from ... import ...。
如果使用了这种import命令,将无法使用常规函数sqrt。
类似这样的名称冲突很隐蔽,因此除非必须使用from版的import命令,否则应坚持使用 常规版import命令。
1j是个虚数,虚数都以j(或J)结尾。复数算术运算都基于如下定义:-1的平方根为1j。
这里不深入探讨这个主题,只举一个例子来结束对复数的讨论:
>>> (1 + 3j) * (9 + 4j) (-3 + 31j)
从这个示例可知,Python本身提供了对复数的支持。
注意 Python没有专门表示虚数的类型,而将虚数视为实部为零的复数。
1.9.3 注释
在Python中,井号(#)比较特殊:在代码中,井号后面到行尾的所有内容都将被忽略。(这 也是Python解释器未被前面的/usr/bin/env卡住的原因所在。)下面是一个示例:
# 打印圆的周长:
print(2 * pi * radius)