python数据类型异常_Python 基础入门之从变量到异常值处理(变量、运算符、数据类型以及位运算)...

一、变量

Python变量由三个部分组成,分别是变量名、赋值符号以及变量值。

#变量的组成

name = "Hello China"

变量的命名方式:变量名可以包括字母、数字、下划线,但不能以数字作为开头。

驼峰体命名,首字母大写。

变量的命名区分大小写。

在使用变量前,先对其赋值。

变量的特性:id。变量值的内存空间地址,使用id()来查看变量的内存地址

type。使用type()来查看变量的数据类型

变量值=存储值

二、变量的数据类型及转换

数据类型:str : 表示是一个字符串类型

int :表示是一个整型

bool:表示是一个布尔型,真:True 假:False

float:表示是一个小数类型,浮点数类型

通过type()函数来查看变量的数据类型。

拓展:查看变量的长度,使用bit_length()函数。

2. 可以用decimal包里的Decimal对象和getcontext()方法来保留浮点小数后n位。用getcontext().prec来调整精度。

例:使 1/3 保留 4 位

3. 布尔 (boolean) 型变量只能取两个值,True和False。当把布尔型变量用在数字运算中,用1和0代表True和False。

4. 除了直接给变量赋值 True 和 False,还可以用 bool(X) 创建变量, X 可以是:基本类型:整型、浮点型、布尔型

容器类型:字符串、元组、列表、字典和集合

例:bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0,bool(X) 就是 True,否则为 False。

bool作用在容器类型变量:X只要不是空的变量,bool(X)就是True,否则False。 对于容器变量,里面没元素则为空。

5. 判断两个类型是否相同推荐使用isinstance(),它被认为子类是一种父类类型,考虑继承关系。

数据类型的转换:转换为整型 int(x, base=10)

转换为字符串 str(object='')

转换为浮点型 float(x)

三、运算符算数运算符加法:+

减法:-

乘法: *

除法: /

整除://,(地板除,只取结果的整数部分,并且是向下取整,若结果为3.2取3,若结果为-3.2则取-4)

取余:%

幂次:**比较运算符等于 ==

不等于 != 或 <>(a != b 或 a <> b)

大于 >

小于 <

大于等于 >=

小于等于 <=逻辑运算符与 and :两者都为True,则返回True,否则为False。

或or :两者至少有一者为True,则返回True。

非 not : 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。位运算符(位运算过程中,把数字转化成二进制计算,然后再转化成数字。)按位与 & :运算的两个值相应位都为1,则该位的结果为1,否则为0。

按位或 | :运算的两个值相应位只要有一个位置为1,则该位的结果为1。

按位异或 ^ :运算的两个值相应位数值不同,则结果为1,否则为0。

按位取反 ~ :运算数据的每个二进制位取反,即把1变为0,把0变为1 。

左移位 << :若 a <<2 将数字a对应的二进制数集体向左移动2位,后面空余位补零。

右移位 >> :若 a >> 3 将数字a对应的二进制数集体向右移动2位,前面空余位补零。其它运算符存在 in :若 x 在 y 中,则返回True,否则返回False。

不存在 not in :若 x 不在 y 中,则返回True,否则返回False。

是 is : id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False。

不是 is not : id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

注意:is, is not 对比的是两个变量的内存地址

==, != 对比的是两个变量的值

比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。

对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

例:比较的两个变量均指向不可变类型。

例:比较的两个变量均指向可变类型。

四、位运算

1. 原码、反码和补码

二进制有三种不同的表示形式:原码、反码和补码。

原码:就是其二进制表示(注意,有一位符号位)。

00 00 00 11 — 3

10 00 00 11 — -3

反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。

00 00 00 11 — 3

11 11 11 00 — -3

补码:正数的补码就是原码,负数的补码是反码+1。

00 00 00 11 — 3

11 11 11 01 — -3

符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。

2. 位运算规则位与运算符运算规则:0&0=0&1=1&0=0,1&1=1位或运算符运算规则:0|1=1|0=1|1=1,0|0=0位求反运算符运算规则:~0=1,~1=0位异或运算符运算规则:0^0=1^1=0,0^1=1^0=1左移位运算符运算规则:原来的所有位左移,最低位补0,相当于乘以2

右移位运算符运算规则:原来的所有位右移,最低位丢弃,最高位使用符号位填充,相当于整除2

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值