python自学笔记二
1.整数类型及运算
python的数据类型有:整形、浮点型和字符串
1.1整数型
整数是不带小数部分的数:如:25,-86,0等
python支持的运算有:+、-、*、/、//(整除)、&(求余)、**(乘方)等
1.2运算符的优先级
** & // / * - +
1.3运算精度
python与其他大多数编程语言不同,它对数据类型的长度没有限制,可以执行数十位甚至数百数千位的整数运算。
2浮点数类型及运算
2.1浮点数类型
浮点数类型就是带小数点的数字,如:-3.1,-2.89,-60,5.(5.0), .6(0.6)
所有用于整数运算的算术运算符都可以用于浮点运算,包括:+ - * / // % **等
对于非常大或非常小的浮点数,通常用科学计数法表示,例如8.8**-5.4的计算结果为:
7.939507629591553e-06,e-06表示10的-6次方,结果实际就是前面的数乘以10的-6次方。
2.2与整数不同,浮点数存在上限与下限,超出上限或者下限将导致数据溢出并提示错误。溢出错误意味计算结果太大或太小,python无法将其表示为浮点数。有时碰到溢出错误的时候,python也会继续运算而得到错误的结果,我们要避免溢出错误,尽量不用太大的数进行计算。
例子:>>>500.0**1000
运行结果提示:OverflowError: (34, 'Result too large'),表示溢出错误。
2.3数据精度
浮点数的精度是一个无法解决的难题,由于浮点数计算有时候会得到一个无限值得结果,特别是做除法或者开方根计算的时候,这时候很难得到一个精确的值,例如:2/3,实际结果应该是小数点后面有无穷个6,但python计算的结果是0.6666666666666666
这个例子结果后面精确到16位,一般来说,这种细微的误差通常不是问题。然而,执行大量计算的时候,小误差会累积出大误差。比如,在科学工程计算领域,计算桥梁所受压力的时候,细微的误差会引起严重的问题。
2.4复数
python提供了复数的支持,数学上,复数的单位是-1的平方根,用1j表示-1的平方根。科学计算领域会用到复数,我们不详细讲复数。
3.字符串
字符串是一系列字符,字符包括字母、数字、标点符号以及数百个其它的特殊符号和不打印的转义字符。
(1). 字符串的表示,有3种方式
a. 单引号,比如:'http'、 'cat'
b. 双引号,比如:”hello, world”、”open house”
c. 三引号,用来引用多行字符串,比如:
“””
hello, how are you?
what is your name?
“””
一般有多行的长字符串时,用三引号括起来,三引号括起来的内容可以包含双引号字符”和单引号字符' 。
(2). 字符串的长度,用内置函数len(s)可以得到字符串包含几个字符,即字符串的长度,s是字符串参数。
例子:len(”pear”),得到的结果是4,len(“”)是得到空字符串的长度,值为0
(3). 字符串连接
可以把字符串进行相加得到新的字符串,比如:>>>'hot'+'dog'
这种运算被称为字符串连接,要将同一个字符串连接多次,可以用相乘的方法。比如:>>>10*'ha'
字符串连接的结果成为另一个字符串,可在任何需要字符串的地方使用字符串连接。
例子:>>>len(12*'pizza')
>>>len('house'+'car')
4获取帮助
python是一种自动文档化语言,大多数函数和模块都包含简短的解释。
(1). 列出模块中的函数
用import导出模块后,可使用函数dir(m)列出模块的所有函数,import是导出模块的命令,m是模块名。后面函数章节会详细讲解。
例子:>>>import math
>>>dir(math)
这个例子列出math模块的一些函数,以双下划线( __ )开头的名称用于较复杂的python编程。
要查看完整的python内置函数清单,可在提示符后输入 >>>dir(__builtins__)
可以用函数help(f)来查看某个函数的文档帮助信息。
例子:>>>help(sum)
可以直接在提示符下输入help(),然后输入某个模块或函数名得到详细的帮助信息。
(2). 打印文档字符串,例子:>>>print(math.acos.__doc__)
5. 类型转换
(1). 自动转换
在表达式中同时包含整数与浮点数时,python会自动将整数转换为浮点数。
例子:>>>25*8.5
结果为:212.5
(2). 将整数或字符串转换为浮点数
可以使用函数float(x)将整数或字符串转换成浮点数。
例子:>>>float(3)
>>>float('3.5')
(3). 将整数或浮点数转换为字符串,函数str(n)可以将指定的数字转换成相应的字符串。
例子:>>>str(85)
>>>str(-9.78)
(4). 将浮点数转换为整数
这点有点麻烦,需要决定如何处理小数部分。函数int(x)将小数部分删除。而函数round(x)采用四舍五入法。注:python的浮点数如果小数部分是0.5的时候,四舍五入会向偶数靠拢,比如round(8.5)的结果为8
例子:>>>int(8.64)
结果为:8
>>>round(8.64)
结果为:9
>>>round(8.5)
结果为:8
(5). 将字符串转换为数值
可以使用函数int()把字符串转换成整数,float(x)将字符串转换成浮点数。
例子:>>>int('3')
>>>float('3.5')
6. 变量和赋值
(1). 变量的定义
变量与函数、模块和类一样,有具体的名称,这些名称统称为标识符。变量在内存中指向保存一个值的地址,需要用赋值运算符来定义变量。
例子:>>>fruit='apple'
>>>fruit
'apple'
fruit是变量名,它指向字符串'apple',代码行fruit='apple'称为赋值语句;=是赋值运算符,让变量指向一个值。
(2). 变量的命名规则
a. 变量名的长度不受限制,但其中的字符必须是字母、数字或下划线。
b. 变量名的第一字符不能是数字,必须是字母或下划线。
c. 区分大小写,TAX、Tax和tax是不同的变量名。
d. 不能将关键字做变量名,比如,if、else、while、def、or、and、not、in等关键字。
(3). 赋值语句
赋值语句包含3个主要部分:左值、赋值运算符和右值。比如:var=value,var是左值,=是赋值运算符,value是右值。赋值语句有两个用途:定义新的变量;让已定义的变量指向特定的值。
例子:>>>x=5
>>>x+=8
第一条赋值语句x=5完成两项功能,一个是创建变量,另一个是赋值为5。第二条语句是重新计算x的值,计算完后x的值为13,这条语句之前需要用赋值语句定义变量x,否则将报错。定义的时候可以将任意的值赋给变量,包括其它变量。
例子:>>>x=3
>>>y=x
先定义x,再定义y,它们的值都是3
(4). 多重赋值
python中,有一种便利的方法,可以同时给多个变量赋值,比如:>>>x,y,z=1,'two',3.0
赋值运算符左边有3个变量,右边有3个值,每个变量之间用逗号分开,值之间也用逗号分开。
(5). 交换变量的值
多重赋值的一个很实用的用途是交换两个变量的值,比如:
>>>a,b=5,9
>>>a,b
(5,9)
>>>a,b=b,a
>>>a,b
(9,5)
语句a,b=b,a的含义是:同时给变量a和b赋值。