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 int

s3='hello'
print(int(s3),type(s3))//报错,str转换成int 类型,必须为整数的数字串

总结:
str转换成int 类型,必须为整数的数字串
将float转化为int时,保留整数,舍弃小数

将其他类型转化为float类型

s1='128.98'
print(int(s1),type(s1))//128.98 float

s2='76'
print(int(s2),type(s2))//76.0 float

ff=true
print(int(s3),type(s3))//1.0 float

s3='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类型,那么+起到字符串连接作用1020

a=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)//True

print('a<=b对吗',a<=b)//True
print('a>=b对吗',a>=b)//False

print('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
# 00001000

print(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) 布尔运算 赋值运算
有括号,先括号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值