Python入门基础学习记录
from decimal import Decimal
print(Decimal(‘1.1’)+Decimal(‘2.2’))
因为计算机二进制进行存储,所以直接计算小数可能会有误差有一定的不准确性,用以上方法导入模块,消除误差。
数据类型转化
str()其他类型转化成字符串。
int()把其他类型转化成整数。
float()把其他类型转化成浮点类型。
举例
name='张三'
age=20
print('我是'+name+'今年'+age+'岁'))#会报错,不同类型不能合并
我们要将不同类型合并,需要转变类型
name='张三'
age=20
print('我是'+name+'今年'+str(age)+'岁')
这样通过类型转化,把不同类型转化成同类型再连接。
str字符串类型数据如果字符串是小数串,无法转化为int整数类型。
在转换str类型为int类型时,str内容必须是数字串,必须是整数否则不可以转换。
浮点类型转化成int抹零取整。
文字类型无法转化成float类型。
整数类型转型化浮点类型会变成,整数+.0
输入函数
input()
作用:接收来自用户的输入。
返回值类型:输入值类型为str。
值得储存:使用=进行值得储存。
运算符
一、算数运算符
加(+),减(-),乘(*),除(/),整除(//),取余数(%),幂运算(**)
二、赋值运算符
执行顺序:右–>左
支持链式复制:a=b=c=20
参数赋值:+=。-=,*=,/=,//=,%=,**=
a=20
a+=50
print(a)#这时输出值为70
系列解包赋值:a,b,c=10,20,30
赋值交换:
a,b=10,20
print(a,b)#输出10 20
a,b=b,a#交换赋值
print(a,b)#输出20 10
三、比较运算符
对表达式结果进行大小真假的比对。
<,>,==,<=,>=,!=
在Python中‘=’是赋值符号,而==是比较运算符,一个变量由三部分组成,标识(id)类型(type) 值。
而==是比较的是对象的value值。
is ,is not是对对象的标识id进行比较。
a=10
b=10
print(a==b)#它们值相等
print(a is b)#它们标识id一样
列表
lst1=[11,22,44,55]
lst2=[11,22,44,55]
print(lst1==lst2)#值是相等的
print(lst1 is lst2)#id不同
#我们可以查询id发现它们id后几位不一样
print(id(lst1))
print(id(lst2))
布尔运算符
并且and,或者or,对运算取返not,什么在什么里in,什么不在什么里not in。
a='hello'
print('h' in a)#结果为True
print('k' in a)#结果False
print('h' not in a)#结果为False
print('k' not in a)#结果为True
位运算符
位与&:对应位数都为1,结果位数才是1,否则都为0.
位或|:对应位数都是0,结果位数才是0,否则都为1.
已8位二进制
4|8,按上规则为1100,换算到十进制为12
print(4&8)#结果为0
print(4|8)#结果为12
左移位运算符<<:高位溢出舍弃,低位补0
右移位运算符>>:低位溢出舍弃,高位补0
print(4<<1)#左移一个位置结果为8相当于乘以2
print(4<<2)#左移两个位置结果为16相当于乘以4
print(4>>1)#向右移动一位结果为2相当于除以2
print(4>>2)#向右移动两位结果为1相当于除以4
运算符的优先级
有括号先算括号里。
(),算数运算,位运算,比较运算,布尔运算,赋值运算。