python基础8 数据类型和数据运算

本节内容:

  1. 数据类型
  2. 数据运算
  3. 入门拾遗
  4. 参考网页

数据类型

数字

int(整型)

在32位机器上,整数的位数为32位,取值范围为-231~231-1,即-2147483648~2147483647  在64位系统上,整数的位数为64位,取值范围为-263~263-1,即-9223372036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。

注意

自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

python2里 2的62次方是int,2的63次方变成长整型。python3里都是整型,没有长整型概念。

float(浮点型)

浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。

  • complex(复数)   复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。 注:Python中存在小数字池:-5 ~ 257

补充

3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。

布尔值

真或假   1 或 0

字符串

"hello world" 字符串拼接:   python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,拼接+号每出现一次就会在内从中重新开辟一块空间。

字符串格式化输出

name = "cathywu"
print ("I am %s " % name)

#输出: I am cathywu

字符串是 %s;整数 %d;浮点数%f

字符串常用功能:

  • 移除空白
  • 分割
  • 长度
  • 索引
  • 切片

列表

列表list是一种有序的集合,可以随时添加和删除其中的元素。

创建列表:

name_list = [‘Cathywu‘, ‘seven‘, ‘eric‘]

基本操作:

  • 索引
  • 切片
  • 追加
  • 删除
  • 长度
  • 切片
  • 循环
  • 包含

元组(不可变列表)

元组tuple是另一种有序的列表。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。

创建元组:

ages = (11, 22, 33, 44, 55)

字典(无序)

字典查找速度快,无序,作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。

创建字典:

person = {"name": "mr.wu", ‘age‘: 18}

常用操作:

  • 索引
  • 新增
  • 删除
  • 键、值、键值对
  • 循环
  • 长度

集合

集合是无序的,不重复的元素集,类似数学中的集合,可进行逻辑运算和算术运算

创建集合

s = set([‘A‘, ‘B‘, ‘C‘])

数据运算

算术运算

以下假设变量: a=10,b=20:

运算符 描述 实例
+ 加 两个对象相加 a+b输出30
- 号负或减 负数或是一个数减去另一个数 -a 或 a-b输出-10
* 乘 两个数相乘或返回一个被重复若干次的字符串 a*b输出200
/ b/a输出2
% 取模 返回除法的余数 b%a输出0
** 幂 返回x的y次幂 a**b为10的20次幂
// 取整 返回商的整数部分 9//2输出4,9.0//2.0输出4.0

比较运算

运算符 描述 实例
== 等于 比较对象是否相等 (a==b)返回False
!= 不等于 比较两个对象是否不相等 (a!=b)返回True
<> 不等于 比较两个对象是否不相等 (a<>b)返回True
> 大于 返回x是否大于y (a>b)返回False
< 小于 返回x是否小于y (a<b)返回True
>= 大于等于 返回x是否大于等于y (a>=b)返回False
<+ 小于等于 返回x是否小于等于y (a<b)返回True

赋值运算

运算符 描述 实例
= 简单的赋值运算符 c=a+b将a+b的运算结果赋值为c
+= 加法赋值运算符 c+=a 等效于 c= c+a
-= 减法赋值运算符 c-=a 等效于 c= c-a
*= 乘法赋值运算符 c*=a 等效于 c= c*a
/= 除法赋值运算符 c/=a 等效于 c= c/a
%= 取模赋值运算符 c%=a 等效于 c= c%a
**= 幂赋值运算符 c**=a 等效于 c= c**a
//= 取整除赋值运算符 c//=a 等效于 c= c//a

逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔“与”,如果x为False, x and y 返回False,否则返回y的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

成员运算

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

身份运算

运算符 描述 实例
is is是判断两个标识符是不是引用自一个对象 x is y, 如果 id(x) 等于 id(y) , is 返回结果 1
is not is not是判断两个标识符是不是引用自不同对象 x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1

位运算符

按位运算符是把数字看作二进制来进行计算的。 变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a  = 1100 0011
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
按位或 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a按位或b) 输出结果 61 ,二进制解释: 0011 1101
^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~ 按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<< 左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
>> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数 a >> 2 输出结果 15 ,二进制解释: 0000 1111

运算符优先级

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 [email protected] 和 [email protected])
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND‘
^ 按位或 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

入门拾遗漏

三元运算

三元运算,是软件编程中的一个固定格式。

  • 格式 语法为:条件表达式?表达式1:表达式2。 说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。 其逻辑为:“如果为真执行第一个,否则执行第二个。”
  • 例子 1 if 5>3 else 0 输出1,如果5大于3,否则输出0

进制

十六进制

0 1 2 3 4 5 6 7 8 9 A B C D E F

十六进制与二进制对应关系

二进制 十六进制 二进制 十六进制
0000 0 1000 8
0001 1 1001 9
0010 2 1010 A
0011 3 1011 B
0100 4 1100 C
0101 5 1101 D
0110 6 1110 E
0111 7 1111 F

二进制转换成十六进制

二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位 二进制: 11101110011011.1001 化为十六进制为:3B9B.9

十六进制转化为二进制

组分好以后,对照二进制与十六进制数的对应表,将四位二进制按权相加,得到的数就是一位十六进制数,然后按顺序排列,小数点的位置不变哦,最后得到的就是十六进制数。 十六进制:F8C.6 二进制:111110001100.011

注意16进制的表示法,用字母H后缀表示,比如BH就表示16进制数11;也可以用0X前缀表示,比如0X23就是16进制的23.

bytes类型

python2 里字节和字符是一样的。 python3里有专门的数据类型 bytes。 python3里所有的数据传输都是以二进制形式传输。python2可以以字符串的形式传输。

Python 3中对文本和二进制数据作了更为清晰的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示。Python 3不会以任意隐式的方式混用str和bytes,正是这使得两者的区分特别清晰。你不能拼接字符串和字节包,也无法在字节包里搜索字符串(反之亦然),也不能将字符串传入参数为字节包的函数(反之亦然)。这是件好事。 python3里所有的数据传输都是以二进制形式传输。python2可以以字符串的形式传输。 字符串可以编码成字节包,而字节包可以解码成字符串。如下图:

stringbytesencodedecodestringbytes

举例:

>>>‘€20‘.encode(‘utf-8‘)
b‘\xe2\x82\xac20‘
>>> b‘\xe2\x82\xac20‘.decode(‘utf-8‘)
‘€20‘

参考网页

http://www.runoob.com/python/python-operators.html

http://blog.csdn.net/wenxinwukui234/article/details/42119265

http://www.cnblogs.com/txw1958/archive/2012/07/19/2598885.html

时间: 2024-10-10 03:02:28

python基础8 数据类型和数据运算的相关文章

python基础--基本数据类型(Tuple(元组)--不可变数据)

python基础--基本数据类型(Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典)) Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典) Python3 的六个标准数据类型中:不可变数据(四个):Number(数字).String(字符串).Tuple(元组).Sets(集合):可变数据(两个):List(

python基础--基本数据类型(List(列表)--可变数据)

python基础--基本数据类型(Number(数字) String(字符串) List(列表) Tuple(元组) Sets(集合) Dictionary(字典)) Python3 中有六个标准的数据类型:Number(数字)String(字符串)List(列表)Tuple(元组)Sets(集合)Dictionary(字典) Python3 的六个标准数据类型中:不可变数据(四个):Number(数字).String(字符串).Tuple(元组).Sets(集合):可变数据(两个):List(

python基础之数据类型补充(基础五)

第七章 python基础之数据类型补充(基础五) 7.1 数据类型补充 字符串str,整型int,列表list,元组tuple,字典dict. 7.1.1 字符串str类型补充 s1 = str(123) #类型字符串 s.capitalize() 首字母大写 s = "alex wusir" s1 = s.capitalize() #首字母大写:Alex wusir print(s1) s.title() 每个单词首字母大写 s = "alex wusir" s1

python学习笔记2-变量、数据类型、数据运算

一.python的变量 变量,可变的量,主要用来存储数据:变量是一个存储位置和一个关联的符号名字,这个存储位置包含了一些已知或未知的量或者信息,即值. 1.变量的语法结构 name = "xiaoling" #这就是定义了一个变量,变量的名字为:name:变量的值为:xiaoling 2.变量的命名规范 变量只能是字母.数字或下划线的任意组合 变量的第一个字符不能是数字 以下关键字不能声明为变量 ['and', 'as', 'assert', 'break', 'class','con

第二篇 python基础知识总结:数据、运算符

引子 我们跟任何人交流,说的每一句都是都一些文字组成,包含名词.动词.语句.标点符号等,组成我们说普通话构成的基本要素.同理我们学习python语言也要明白这些基本要素,也就是我们常说的基本语法,这是我们必须掌握的基础知识.下面我就根据我们常用的知识总结一下.对此内容不过多的讲解!我们需要的是多练!坚持练!反复练!着重强调! 一 变量与常量 任何一门计算机语言中,变量与常量都是首先要了解的最基础知识.变量就是变化的量,常量就是一个不变的量,一个常数.python语言中的变量不指定存储类型,这点与

Python 基础之数据类型和变量

Python  数据类型和变量 数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数据类型.在Python中,能够直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等. 计算机由于使用二进制,所以,有时候用十六进制表示整数比

python基础之数据类型(一)

Python3 数字(Number) 定义:a=1 特性: 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 分类:整型,长整型,布尔,浮点,复数 python2.*与python3.*关于整型的区别 python2.* 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-92233720368547

python教程1:Python基础之数据类型和变量、字符串和编码

视频链接: 我是在Linux下玩python的,Linux下默认安装python,直接打个pyhon3就好了,python大小写敏感 我们来写第一个简单的python程序 #!/usr/bin/env python3 print("Hello World") 怎么运行呢?有人说是./运行,然而我试了试并不可以....这样才行..... python name.py print里面也可以输出多个字符串,用 , 进行分隔,显示的内容是空格 #!/usr/bin/python print('

python3基础3--数据类型--数据运算--表达式if -else-while-for

一.python3 数据类型 1.1 数字 例如:1,2,3,4等 1.2  int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-9223372036854775807 1.2.1 long(长整型) 跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但