Python学习记录 二"/>
Python学习记录 二
数据类型
常用的数据类型:
整数类型 int
浮点型 float
布尔类型 bool (true false)
字符串类型 str
整数类型
十进制 默认
二进制 ob开头
八进制 0o开头 使用1-7
十六进制 0x开头 0-9 A-F
# 整数类型
n1=90
n2=-76
n3=0
# 整数表示形式
print('二进制',10101111)//输出;10101111
print('二进制',ob10101111)//输出:175
浮点类型
浮点型存储不精确
n1=1.1
n2=2.2
print(n1+n2)//结果 3.3000000000000003(存储误差)
//个别情况会存在不准确性
若出现误差解决方案:
导入模块decimal
n1=1.1
n2=2.2
from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2'))//结果3.3
布尔类型
boolean bool
true=1
false=0
f1=true
f2=false
print(f1+1)//结果 2
print(f2+1)//结果 1 和java中的true和false不同
数据类型转换
将不同数据类型进行拼接
name='张三'
age=18
print('我叫'+name+'我今年'+age)//数据类型不同,不能连接结果会报错
print('我叫'+name+'我今年'+str(age))//正确输出,将int类型转换为str
在需要转换的内容前加你需要转换的类型
int() str() float()
将其他数据类型转换为int类型
s1='128'
print(int(s1),type(s1))//结果128 <class.int>
#将str转换成int 时,字符串为 数字串f1=98.7
print(int(f1),type(f1))// 98 int
#将float转化为int时,保留整数,舍弃小数s2='76.77'
print(int(s2),type(s2))//报错,将str转成int 类型报错,小数串不可以ff=true
print(int(ff),type(ff))// 1 ints3='hello'
print(int(s3),type(s3))//报错,str转换成int 类型,必须为整数的数字串
总结:
str转换成int 类型,必须为整数的数字串
将float转化为int时,保留整数,舍弃小数
将其他类型转化为float类型
s1='128.98'
print(int(s1),type(s1))//128.98 floats2='76'
print(int(s2),type(s2))//76.0 floatff=true
print(int(s3),type(s3))//1.0 floats3='hello'
print(int(s3),type(s3))//报错,字符串如果是非数字串,则不能转换
字符串如果是非数字串,则不能转换
注释
# 单行注释'''多行注释
多行
'''
中文编码声明
输入函数:input函数
作用:接受用户输入
返回值:类型 str
present = input(‘想要什么礼物’)
变量 运算符 需要输出答案
present=input('想要什么礼物?')
//输出的结果是:
//想要什么礼物?*定海神针*(自己输入,回车)
//定海神针
print(present)//程序会直接输出 定海神针,并且为str类型
两个数的和
a=input('请输入一个数')//输入10 20
b=input('请输入另一个数')
print(a+b)
//结果输出1020,因为使用的input函数会转化为str类型,那么+起到字符串连接作用1020a=input('请输入一个数')//输入10 20
a=int(a)
b=input('请输入另一个数')
b=int(b)
print(a+b)//30 注意要类型转换a=int(input('请输入一个数'))//输入10 20
b=int(input('请输入另一个数'))
print(a+b)//直接在输入的时候转换
运算符
注意:
除法运算 整除运算 取余运算
print(1+1)//加法运算
print(1/2)// 结果; 0.5 除法运算
print(11//2)// 结果: 5 整除运算(保留整数部分,不进行四舍五入)
print(11%2)//结果: 1
print(2**2)//结果:4 求的是2的平方
print(2**3)//2的三次方
正负
一正一负的方法:
向下取整
print(9//4)//2
print(-9//-4)//2
print(9//-4)//结果-3
print(-9//3)//结果-3
print(9%-4)// 结果 -3 余数=被除数-除数*商 9-(-4)*(-3)
print(-9%4)//结果 3
赋值运算符
运算顺序:从右到左
a=b=c=20//链式赋值
//最后的结果和每个标识(内存地址)都相同,三者指向的地址相同a=20
a+=10
print(a)//结果30 支持参数赋值# 支持系列解包赋值
a,b,c=10,20,30//位置顺序,左右个数(如果不对应,报错)#交换两个数的值
a,b=10,20
a,b=b,a//两者已交换
比较运算符
比较运算符的结果是:布尔类型
a,b=10,20
print('a>b对吗',a>b)//结果输出 False
print('a<b对吗',a<b)//Trueprint('a<=b对吗',a<=b)//True
print('a>=b对吗',a>=b)//Falseprint('a==b',a==b)//False
print('a!=b',a!=b)//True
== 比较的是值还是表示呢?
比较的是值
比较对象的标识使用的是 is
a=10
b=10
print(a==b)//true
print(a is b)//true
#说明ab的值和类型都相同list1=[11.22.33.44]
list2=[11,22,33,44]
print(list1 == liat2)//true
print(list1 is liat2)//false
#两者的值相同,但是位置不一样,可以用id()函数查看位置
print(a is not b)//false
print(list1 is not list2)//true
布尔运算符
and:只有当两个都为true时,结果为true
a,b=1,2
print(a==1 and b==2)//true true and true = true
print(a==1 and b<2)//false
print(a!=1 and b==2)//false
print(a!=1 and b!=1)//false
or:有一个true结果为true
print(a==1 or b==2)//true
print(a==1 or b<2)//true
print(a!=1 or b==2)//true
print(a!=1 or b!=2)//false
not : 取反
f=true
f2=false
print(not f)//false
print(not f2)//true
in 和 not in
s='hellowrold'
print('w' in s)//true
print('k' in s)//false
print('w' not in s)//false
print('k' not in s)//true
位运算符
位与 & 对应的数位都是1时,结果数位才为1 否则为0
位或 | 对应数位都是0 结果数位才是0 否则为1
左移位运算符<< 高位溢出舍弃,低位补0 相当于结果乘2
右移位运算符>> 低位溢出舍弃,高位补0 相当于结果除2
print(4&8)//结果0
# 00000100 上下每一位相对应后为00000000 = 0
# 00001000print(4|8)//12
# 00000100 上下每一位相对应后为= 00001100 = 12
# 00001000
print(4<<1)//8
print(4<<2)//16
print(4>>1)//2
print(4>>2)//1
运算符的优先级
算术运算符 位运算 比较运算符(true false) 布尔运算 赋值运算
有括号,先括号
更多推荐
Python学习记录 二
发布评论