1,算法是什么?
“算法”不过是“步骤”或者“食谱”的另外一种文绉绉的说法--对于如何做某事的一份详细描述。
2,数字和表达式
2.1, Python可作为强大的计算器,默认情况下,一个整数(无小数部分的数)被另一个整数除,计算结果的小数部分被截除了,只留下整数部分。
>>> 1/5
0 ####没有小数部分只有整数部分,这是怎么回事?!
2.2, 为解决2.1的问题,希望Python只执行普通的除法,有两个方案:
· 用实数(包含小数点的数)而不是整数进行运算
*实数在Python被称为浮点数,如果参与除法的两个数中有任何一个为浮点数,那么结果也是浮点数;如下面三个例子所示:
>>> 1.0/5.0
0.2
>>> 1.0/5
0.2
>>> 1/5.0
0.2
· 让Python改变除法的执行方式,有两种情况,分别如下:
①,直接在解释器里面执行它:
from __future__ import division
②,通过命令行(比如在Linux系统上)运行Python,可以使用命令开关
>>>python -Qnew
2.3 取余(模除)运算符 --- x%y 的结果为x除以y的余数
>>> 10%3
1
>>> 9%3
0
>>> 2.75%0.5
0.25
>>>
2.4 幂(乘方)运算符
>>> 2**3
8
>>> -3**2
-9
>>> (-3)**2
9
2.5 长整数
普通整数的取值范围为 2147483647 < X < -2147483647 ,如果需要更大的数,可以使用长整数。长整数和普通整数的书写方法一样,只是最后加多了一个大写的L。
>>> 1000000000000000000000000000000000
1000000000000000000000000000000000L
长整数和普通整数可以混合使用,可以进行运算,无需担心长整数和整数的区别,除非需要进行类型的检查。
>>> 471875905791745L * 5789248538984091374L + 24
2731806898186654482206902894907654L
2.6 十六进制和八进制
书写如下,首位数字都是0.
>>> 0xaf
175
>>> 0xAF
175
>>> 010
8
2.7 函数---Python有很多内建函数
>>> 2**3
8
>>> pow(2,3) ---计算乘方,等同于上面的运算
8
>>> abs(-10) ---得到数的绝对值
10
>>> round(1.0/2.0) ---会把浮点数四舍五入为最接近的整数值
1.0
2.8 模块
>>> import math ---- 导入模块
>>> math.floor(32.9) --- 将给定的数值向下取整为某个特定的整数
32.0
>>> math.ceil(32.9) --- 与floor相反,将给定的数值转换成为大于或等于它的最小整数
33.0
***如果不想每次调用函数的时候都要写上模块的名字,那么,在确保自己不会导入多个同名函数(从不同模块导入)的情况下,可以使用import命令的另外一种形式:
>>> from math import floor ----使用这个方式就不需要模块名作为前缀了
>>> floor(32.9)
32.0
***事实上,也可以通过使用变量来引用函数,eg:
>>> apple=math.sqrt
>>> apple(9) --- 变量apple就可以直接计算平方根了!
3.0