python中不同类型的数据不能相互运算_Python数据类型与变量与各种运算

一 变量

变量

声明变量

#!/usr/bin/env python

age=18

gender1='male'

gender2='female'

变量作用:保存状态(程序的运行本质是一系列状态的变化,变量的目的就是用来保存状态,变量值的变化就构成了程序运行的不同结果。)

例如:CS枪战,一个人的生命可以表示为life=active表示存活,当满足某种条件后修改变量life=inactive表示死亡。

变量命名规则遵循标识符命名规则,详见第二篇

name='lhf':'lhf'才是内存变量,name只是内存变量的引用

与c的区别在于变量赋值操作无返回值

链式赋值:y=x=a=1

多元赋值:x,y=1,2 x,y=y,x

增量赋值:x+=1

二 数据类型

这里的字符串、数字、列表等都是数据类型(用来描述某种状态或者特性)除此之外还有很多其他数据,处理不同的数据就需要定义不同的数据类型

标准类型

其他类型

数字

类型type

字符串

Null

列表

文件

元组

集合

字典

函数/方法

模块

2.1 数字

定义:a=1

特性:

1.只能存放一个值

2.一经定义,不可更改

3.直接访问

分类:整型,长整型,布尔,浮点,复数

53479975092d83bfcd5c7e3b66691555.png

2.2 布尔值

True  False

1       0

af191cfecd5d689fb582920defbd4ab9.png

非零即为真

2.3 字符串

定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串

特性:

1.只能存放一个值

2.不可变

3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

补充:

1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'lhf'

2.unicode字符串与r连用必需在r前面,如name=ur'lhf'

2.4 列表

定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素

特性:

1.可存放多个值

2.可修改指定索引位置对应的值,可变

3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

2.5 元祖

定义:与列表类似,只不过[]改成()

特性:

1.可存放多个值

2.不可变

3.按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序

2.6 字典

定义:{key1:value1,key2:value2},key-value结构,key必须可hash

特性:

1.可存放多个值

2.可修改指定key对应的值,可变

3.无序

2.7 集合

定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key

特性:

1.集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

2.8 bytes 类型

定义:存8bit整数,数据基于网络传输或内存变量存储到硬盘时需要转成bytes类型,字符串前置b代表为bytes类型

>>> x

'hello sb'

>>> x.encode('gb2312')

b'hello sb'

2.9 数据类型转换内置函数汇总

7134720586ec286d819c7530ac2a33ec.png

三 运算符

3.1 算数运算

ce30fed43332eaf869fb73c09c86b418.png

3.2 逻辑运算

90e849bee4136439c25bd59f6cfaf6d7.png

and注解:

在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值之一。

在布尔上下文中从左到右演算表达式的值,如果布尔上下文中的所有值都为真,那么 and 返回最后一个值。

如果布尔上下文中的某个值为假,则 and 返回第一个假值

or注解:

使用 or 时,在布尔上下文中从左到右演算值,就像 and 一样。如果有一个值为真,or 立刻返回该值

如果所有的值都为假,or 返回最后一个假值

注意 or 在布尔上下文中会一直进行表达式演算直到找到第一个真值,然后就会忽略剩余的比较值

and-or结合使用:

结合了前面的两种语法,推理即可。

为加强程序可读性,最好与括号连用,例如:

(1 and 'x') or 'y'

3.3 位运算

f219c106e5da69136910d6bb82468f59.png

3.4 赋值运算

99a8b1e8c2759ef8565156f753e2eee2.png

3.5 比较运算

6ab51d25b90dc3939fb2a09d828aa49e.png

3.6 成员运算

db399d4b9250f9cdb671fa2a6a3c16f5.png

3.7 身份运算

5eab6f11c118042ef30fedf09441b82a.png

3.8 运算符优先级

17c029d406cb0b3821b7ce9eaca51eae.png

四 标准数据类型的特性总结

按存值个数区分

标量/原子类型

数字,字符串

容器类型

列表,元组,字典

按可变不可变区分

可变

列表,字典

不可变

数字,字符串,元组

按访问顺序区分

直接访问

数字

顺序访问(序列类型)

字符串,列表,元组

key值访问(映射类型)

字典

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值