在现实中,计算机处理的远不止数值,还要处理文本、图形、音频、视频、网页等各类各样的数据,不一样的数据,须要定义不一样的数据类型。
在Python中,可以直接处理的数据类型有如下几种:数值型、字符串型、列表型、元组型、字典型。python
便是数字类型,又细分为:整型,浮点型,长整型,复数型.linux
整数类型的范围是2**32,其中包含正数和负数(2的31次方个正和2的31次方的个负数,因此它的范围是-2147483648 ——— 214748364。
PS:查看一个数据的数据类型
1. 使用type(数据)方法
2. dir():获取对象的方法
3.PyCharm:按住command点击类型,便可查看源码。从源码中查看对象类型的方法。web
In [1]: a=1 In [2]: type(a) Out[2]: int # int表示为整型 In [18]: type(2/1) Out[18]: int
markdown未熟悉,见谅.api
浮点类型就是带小数点的,多余的位数会被四舍五入
整数和浮点数在计算机内部存储的方式是彻底不一样的,整数运算永远是精确的,除法也是精确的,而浮点数运算则可能会有四舍五入的偏差。数组
用l或L表示,当咱们赋值的时候使用l能够把变量赋值为长整型,注意在Python3中已经没有长整型!markdown
用j表示,当咱们赋值的时候使用j能够把变量赋值为复数型,python对复数提供内嵌支持。(其余大部分软件没有)
复数通常用于科学计算,咱们平常通常不会使用,这里知道便可。数据结构
In [20]: type(123j) Out[20]: complex # 表示复数类型
字符串是以单引号’或双引号"括起来的任意文本,好比’abc’,“xyz"等等。
请注意,’'或”“自己只是一种表示方式,不是字符串的一部分,所以,字符串’abc’只有a,b,c这3个字符。
若是’自己也是一个字符,那就能够用”"括起来,好比"I’m OK"包含的字符是I,’,m,空格,O,K这6个字符。
有三种方法定义字符串:单引号,双引号,三引号。
请注意,python里面单双引号均可以括字符串和字符,与C语言不同
最后,三重括号(如’’’ ‘’’)能够表示注释!!!app
就是数组下标svg
In [3]: a='1234567' In [4]: a[0] -->#下标从0开始,0表示第一个数 Out[4]: '1' In [5]: a[3] -->#表示第四个数 Out[5]: '4'
补充:也能够从后面开始算,[-1]是最后一个函数
就是截取变量,相似于数学的区间
In [14]: a='abcd' In [15]: a[0:2] Out[15]: 'ab'#从第0个开始截取2个字符,其中0能够省略
In [14]: a='abcd' In [17]: a[1:] Out[17]: 'bcd' #从1开始截取到最后,省略的位置就当是到尽头的
字符串是Python中的主要数据类型,其内置了很是多的方法,直接就能够在对字符串进行操做,主要方法以下:
capitalize # 功能:首字母大写 # 调用方式:string.capitalize() # 例: name = 'hello' name.capitalize() #结果: 'Hello'
用法: string.casefold()
用法:string.lower()
用法:str.center(width,filechar=None)
用法:str.counter(sub,start=None,end=None)
用法:str.startswith(suffix,start=None,end=None)
用法:str.endswith(suffix,start=None,end=None)
用法:str.expendtabs(20)
用法:str. find(sub,start=None,end=None)
用法:str.format()
等等等,做用基本上看英文就懂了~
字符串、列表和元组都是序列的一种,序列的两个主要特色是索引操做符和切片操做符
索引操做符让咱们能够从序列中抓取要给特定的项目
切片操做符让咱们可以获取序列的一个切片,即一部分操做(这个就是上述的字符串一个总结)
字符串、列表、元组的索引和切片又有些许不一样
用法:len() 计算字符串长度
用法:+ 链接序列
用法:* 重复序列
用法:in 在序列中查找元素是否存在
用法:max(),min() 求最大最小值
用法:cmp() 比较序列是否相等,从左开始向右比对,前>后,返回1,前<后,返回-1,前=后,返回0,若是相等,则继续向右比对
元组能够存储一系列的值,使用()圆括号来定义。
被使用的元组的值不能够被改变,可是被使用前(定义时)能够任意修改.
元组也用来接受函数返回值.
支持元组内嵌套引用(包括所有引用和部分引用)
t=(1,)#这就是一个元组了,类型是tuple a=(t,1)#嵌套引用所有 b=(t[1],t,1)#嵌套引用部分
以上部分彻底体现了python的原理:所有TM都是对象,都是指针!~
支持操做以下:
1,拆分
a=('31','1800','26','2634') first,second,_,last=a ##元组若是有n个元素,必须用1或n个定义来分割,咱们能够用_,来获取不须要的数据,可是萝卜坑仍是要填上的. first >>>31
2.查看,索引,统计出现次数,帮助
tab或者使用 dir(元组名)来查看元素
元组名.index(被索引元素,索引上限,索引下限)
##上下限若是省略则默认全元组索引
若是有直接return 下标位置(优先报第一个) 没有这个元素就报错
元组名.count(被统计元素) 有就返回次数,不存在就返回0
help(py万物)
查看使用方法和帮助
列表(类型为 list)是处理一组有序项目的数据结构,便可以在列表中存储一个序列的项目。
列表是可变类型的数据,建立列表使用[]中括号。
列表的值是能够更改的.
列表能够包含变量,元组,列表等等.
基本上面有的操做,列表都是同样.如下是部分操做
(一级或多级)列表名.append(追加元素元组) 列表末尾追加
In : b=[] # 定义一个空列表 In : a=[b,'123','456'] In : a Out: [[], '123', '456'] In : a[0].append("linux") # 向签到的b(空列表)中插入数据 In : a Out: [['linux'], '123', '456']
列表名.remove(删除元素) 列表名.del(删除元素 或 变量索引) 列表内删除
列表名[索引]=KKK 支持直接修改
列表好像有个迭代相关操做,未彻底熟悉,先占坑.
使用{}大括号定义,是Python中惟一的映射类型(哈希表)
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它经过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫作散列函数,存放记录的数组叫作散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能获得包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数。from 百度百科
字典索引不像列表的下标,字典的索引可使用许多不一样数据类型,不仅是整数。字典的索引被称为“键”,键及其关联的值 称为“键-值”对。
字典对象是可变的,可是字典的键(key)必须使用不可变对象,一个字典中可使用不一样类型的key。
像元组,字符串等都是不可变的,均可以做为key。
而列表是可变的,没法做为key。
key是惟一的
字典操做有点多,如下粘贴别人的总结,其它方法能够用dir(dict)查看
以上是经常使用操做,如下是某些方法举例:
for key,value indictionary.items(): ##for遍历字典中具体的key和value,使用字典对象的items()方法获取字典的“键值对”列表。 print(key,value)
for item in dictionary.items(): ##for遍历能够获取字典中的所有“键值对”,使用字典对象的items()方法获取字典的“键值对”列表。 print(item)
for value '''key''' indictionary.values '''keys''' (): ##经过for循环遍历能够获取字典中的具体的value(值)或者 key (键)。 print(value'''key''')
dictionary={‘key1’:‘V1’,‘key2’:‘V2’,‘key3’:‘V3’,}##注意逗号就好~
Python内支持数据类型(瞎几把)互相转换,这个实现须要应用工厂函数:
str、list、dict、tuple等等。
运算符:赋值运算符、算数运算符、关系运算符、逻辑运算符
表达式: 用运算符把数据链接起来的一种式子
PS:
支持各类按位运算,左移右移按位取反各类_过于底层,不太适合python
=表示赋值,其余的参考C语言,基本同样,可是Python下不用指定变量的类型,它会自动根据你赋值的类型来定,使用type(x) 来查看变量的类型。
** 表示乘方 3**8 表示3的8次方(本校class viva也支持这种输入)
// 结果取整 若是结果是1.99,最后输出就是1
其余参考C语言,发挥想象力~~~~~
返回值是布尔值:true 和 false
三种逻辑 and or not
== >= !=这些,参考C语言吧
in/not in 检测一个元素是否在一个序列中 is /is not 测试两边的统一性(包括数据和数据类型)