python学习笔记2----数据类型

一.数值类型

1.整数型

默认是十进制,二进制以0b或0B开头;八进制以0o或0O开头;十六进制以0x或0X开头

2.浮点数

表示带有小数点的数值,两个浮点数运算,有一定概率运算结果带有不确定的尾数,需要使用内置函数round()限制运算结果保留的小数个数

如:round(0.1+0.2, 2) #逗号后面规定的是小数的个数

3.复数类型

(1)python中的复数与数学中的复数形式完全一致

(2)复数由实部和虚部组成

(3)j是复数的一个基本单位,被定义为j=√-1, j的平方等于-1,又称为虚数单位

(4).real获取实数部分,.imag获取虚数部分

(5)不可变数据类型

x=123+456j

实数部分为x.real, 虚部为x.imag

二.字符串类型

单行字符串使用'.......'或者"......."

多行注释使用三引号,'''.......'''或"""........."""

转义字符

反斜杠字符(\)在python字符串中表示转义,该字符串与后面相邻的一个字符共同组成一个新的含义

在字符串界定字符前加上r或者R,转义字符失效,将原样输出

\n换行符,\t水平制表位,用于横向跳到下一个制表位,一个\t是八个字符,如果\t前的字符不满半个字符,则字符加空格是八个字符,如果前面字符满八个字符,则空格是八个字符

\'是单引号, \"是双引号,\\是一个反斜杠

字符串索引

从左到右是正向索引,从0开始;从右到左是反向索引从-1开始

如x='hxw', x[2]和x[-1]表示的都是w

字符串切片

对字符串中某个子串或区间的检索称为切片

语法结构为:字符串或字符串变量[N:M],其中N不写默认是0,M不写默认是截到最后

表示切片获取字符串中从N到M(不包含M)的子字符串

当用反向索引的时候也是从左边的索引开始写

字符串操作

x+y表示连接两个字符串x和y

x*n表示复制n次字符串

x in s 如果x 是s 的子串,结果为True, 否则结果为False

字符串相关操作如图

三.布尔类型

用于表示真值或假值,True 和False

布尔类型可转化为数值,True表示1,False表示0

所有对象都有一个布尔值,可使用内置函数bool()进行测试

布尔值为假的情况

False或None

数值中的0,包含0, 0.0,虚数0

空序列,包含空字符串,空数组,空列表,空字典

自定义对象的实例,该对象的__bool__()方法返回False或__len__()方法返回0

四.数据类型之间的转换

int(x) 将x转换为整数类型

float(x) 将x转换为浮点数类型

str(x) 将x转换成字符串

chr(x) 将整个x转换成一个字符

ord(x) 将一个字符x转换为其对应的整数值

hex(x) 将一个整数x转换为一个十六进制字符串

oct(x) 将一个整数x转换为一个八进制字符串

bin(x) 将一个正式x转换为一个二进制字符串

其中,float类型转整数int类型是取整

str转成int或float类型报错情况

int('18a') 里面字母不能转为数字

int('3.14') 3.14有小数,不能将字符类型直接转成整数型

将str 转成float类型报错情况

float(18a.001) 里面有字母不是正常的浮点数

五.eval()函数

eval(s)函数将去掉字符串s最外侧的引号,并按照python语句方式执行去掉引号后的字符串

语法格式

变量 = eval(字符串)

eval()函数经常和input()函数一起使用,用来获取用户输入的数值型,两个一起使用时,eval会根据用户输入的内容转换成对应的类型,input()直接拿到的都是字符串

#eval()函数
s = '3+ 3.14'
res = eval(s)

结果为:

使用eval()报错的情况,

hello='北京'
'''
这里eval把引号去掉拿到的是hello,是一个变量,
而hello变量没有定义,所以会报错,定义了hello变量,打印的就是对应的值
'''
print(eval('hello')) #北京

六.算数运算符

会发生隐式转换,除会转成浮点数,整除会转成整数

优先级

先乘除后加减;同级运算符从左到右进行计算;可以使用()调整计算的优先级

第一级:**; 第二级:*,/,%, //; 第三级:+,-

除数不能为0

七.赋值运算符

主要用于为变量进行赋值

直接把赋值运算符“=”右边的值赋给左边的变量

除此之外,python还支持链式赋值

a=b=c=100 ==>a=100, b=100, c=100

解包赋值:a, b=10, 20   ==>  a=10, b=20

python交换两个值不需要第三个变量

b,a = a,b  ==>将a的值赋给了b, 将b的值赋给了a

八.比较运算符

也称关系运算符,真返回结果为True, 假返回结果为False

九.逻辑运算符

逻辑运算符是对真和假两种布尔值进行运算,运算的结果仍是一个布尔值

进行与运算时,第一个值为False时,不计算第二个表达式

进行或运算时,第一个值为True时,不计算第二个表达式

十.位运算符

位运算符是把数字看作二进制来进行计算的,所以需要将执行运算的数据转换为二进制,然后计算

计算是需将二进制数补0至16位,第一个数字代表符号正负

位与 运算&: 只有对应位数都是1时,结果数位才是1,否则为1

位或 运算 |: 只有对应数位都是0时,结果数位才是1,否则为1

位取反 运算 ~ : 操作数对应的二进制数1修改为0, 0修改为1

位异或 运算 ^ :两个操作数据的对应数位相同(同时为0或同时为1),结果为0, 否则为1

左移位 运算<<: 将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充;  左移位运算相当于乘以2的N次幂

右移位 运算>>: 将一个二进制数向右移动指定的位数,右边(低位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(正数)左侧空位填0,如果最高位是1(负数)左侧空位填1;        左移位运算相当于除以2的N次幂

十一.运算的优先级

 第一行优先级最高,最后一行优先级最低,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值