数据类型
-
整数型:
-
对于Python来说任何整数包括负数都属于整数类型。
-
由于计算机使用的是二进制,使用十六进制也是非常方便的,有时候使用0×后面加0-9和a-f表示。
-
在Python 中整数是没有大小的,而在Java 中是有的。
-
浮点型:
-
浮点型就是小数,为什么叫做浮点型呢?就是因为小数点可以移动,位置是可以变化的,例如科学计数法1.23x109和12.3x108是完全相等的。浮点型也可以是负数。
-
整数和浮点数在计算机中存储方法是不同的,整数存储永远是精确的,二小数在使用除法时候是四舍五入的。
-
字符串:
-
使用单引号‘’和使用“”号引起来的任意文本就是字符串,如果单引号也是字符串那么就需要使用双引号,例如“I‘am liming ”
-
如果字符串中出现既有单引号又有双引号那么就使用转译符号\,转译符的使用有好多最常用的有\n换行 \t制表符号,\本身也要进行转译最多使用在路径上面。过字符串中有好多符号需要转译Python有一种很好的解决办法就是r' '表示' '里面的全部都是字符串。
-
如果字符串中有很多换行使用很多\n 去表示非常不利于阅读,Python提供了一种'''...'''的方式来实现多行换行其中...这个不是代码中一部分。
-
字符串编码:因为计算机只能处理数字不能处理字符串,所以必须将字符串转换为数字进行处理,计算机最早8个bit表示一个字节,一个字节表示的最大整数是255,美国人就在计算机中编码了127个字符,这个编码就是ASCII编码,这样各国都有自己的编码,最后出现Unicode这个编码,但是这个编码十分耗资源空间,后来就出现现在的utf-8编码。在计算机中编辑的时候都是使用的Unicode而在保存的时候才转换为UTF-8的。在浏览网页的时候服务器将Unicode内容转换为UTF-8才穿到浏览器中的。
-
Python3中字符串是用Unicode进行编码的可以直接使用中文。Python中有回获取单个字符的整数表示使用ord('方')和转换chr('234')的方法也提供了len('sdsd')输出字符个数的方法。
-
格式化:
占位符 替换内容 %d 整数 %f 浮点数 %s 字符串 %x 十六进制整数
print('%d,%s,%f' %(1,'ss',2.3))
-
布尔类型:
-
布尔值就是分为True和False,唯一注意的就是Python中需要大写。
-
布尔值可以使用and、or、not运算。例如True and False =False。
-
空值:
-
Python中的空值用None表示,这是一个Python特殊的空值,不能认为等于0。
-
变量:
- 变量不仅可以是数字而且还可以是任意的数据类型。变量在程序中需要一个变量名表示例如 a=1 而且变量名不能以数字开头只能使用大小写英文和数子和_组成。在Python中 = 是进行赋值的操作。
- 像Python 这样变量本身类型不固定的叫做动态语言,想Java 那样需要指定变量类型的叫做静态语言。
- 变量在计算机内存中表示:a='sds' 在Python 解析器中干了俩件事。
- 在内存创建了一个字符串'sds'。
- 在内存中创建一个a的变量,并把a指向'sds'。
-
常量:
- 所谓常量就是不能变得量,全部用大写表示。IP=11.11.222.2,但是实际上在Python中没有绝对的常量,硬是要改变也是可以改变的。
-
列表
- list在Python中是一个有序的集合,可以随便的添加和删除其中的元素,例如:a=[1,2,3,4],列表的使用方法len()输出列表中元素的个数,也可以使用a[0],a[-1]这样的索引方式来获取。
- 增加元素,可以在列表中a.append(4)追加元素。也可以指定位置插入元素a.insert(1,5)
- 删除元素,a.pop()删除末尾的元素,a.pop(2)删除指定索引位置的元素。
- 修改元素,a[2]='sdasd',这样就可以将对应索引位置的元素进行修改。
- list中的元素可以是不同类型的,也可以是另一个list,例如a=[1,[1,2],3] 这样,如果要获取里面列表中数据a[1][1]=2。
-
元组
- 元组和列表非常相似,但最大的区别在于,元组一旦初始化,里面的元素就无法修改。例如b=(1,[2,3],'45'),在创建时a=(1)不是元组等于a=1如何创建一个元素的元组a=(1,)加个逗号,如果定义一个空的元组a=()。
- 查询:b[0]这样来获取元组中索引位置的元素。
- 增加,删除都不能进行,没有方法。
- 修改,也不能进行修改,只能是对元组中list进行修改,b[1][1]=4 这样修改,针对于元组来说这样做不是修改了元组而是修改了list。
- 修改前指向:
- 修改后指向
:
- 对于元组本
身来说直线没有发生变化
-
字典dict
- Python中内置的字典,在Java中称Map:例如d={'aaa':1,'bbb':2,'ccc':3}
- d['aaa']取出aaa的值,判断字典里是否存在某个key的俩种方法一种是in;ddd in d 结果False。也可以d.get('aaa')
- 删除d.pop('ccc') 删除ccc的key及value
- 对比list和dict
- dict查找和插入速度极快,不会随着key的增加而增加而变慢;
- dict需要占用大量的内存,内存浪费多。
- list插入和查询时间随着元素的增加而增加。
- list占用内存比较小。
-
Set
- Set和dict 类似就是key 的集合但是不存储value由于key不能重复所以set中没有重复key。
- 创建一个set需要一个list 作为输入集合s=set([1,2,3]),需要注意的是输入的时候是一个Lits,然而输出的时候就是{1,2,3}
- 增加元素s.add(3),但是set中有3则3不会被添加进去。
- 删除元素s.remove(3)。