#yyds干货盘点#python入门到精通python常用数据类型详解

Posted 大数据小禅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#python入门到精通python常用数据类型详解相关的知识,希望对你有一定的参考价值。

@TOC

python Number

Python 支持三种不同的数值类型:

整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。

浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,
或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

int       float            complex
10         0.0              3.14j
100        15.20            45.j
-786       -21.9            9.322e-36j
080        32.3e+18         .876j
-0490      -90.          -.6545+0J
-0x260     -32.54e100      3e+26J
0x69        70.2E-12        4.53e-7j

python数据类型转化

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

int(x) 将x转换为一个整数。

float(x) 将x转换到一个浮点数。

complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

python字符串(String)

字符串是 Python 中最常用的数据类型。我们可以使用引号(或")来创建字符串。
创建字符串很简单,只要为变量分配一个值即可。例如:

va1 = Hello World!
va2 = "Python"
va3 = "BIG data B Not limited to that"

python转义字符

在需要在字符中使用特殊字符时,python 用反斜杠 \\ 转义字符。如下表:

\\(在行尾时) 续行符
\\\\  反斜杠符号
\\  单引号
\\"  双引号
\\a  响铃
\\b  退格(Backspace)
\\e  转义
\\000    空
\\n  换行
\\v  纵向制表符
\\t  横向制表符
\\r  回车
\\f  换页
\\oyy    八进制数,yy代表的字符,例如:\\o12代表换行
\\xyy    十六进制数,yy代表的字符,例如:\\x0a代表换行
\\other  其它的字符以普通格式输出

python字符串运算符

+   字符串连接   
>>>a + b
HelloPython
*   重复输出字符串 
>>>a * 2
HelloHello
[]  通过索引获取字符串中字符    
>>>a[1]    注意python中的定义是从0算起的
e
[ : ]   截取字符串中的一部分  
>>>a[1:4]
ell
in  成员运算符 - 如果字符串中包含给定的字符返回 True    
>>>"H" in a
True

python字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中,具体如下

>>>print "My name is %s and weight is %d kg!" % (Zara, 21)
>>>My name is Zara and weight is 21 kg! 

python 字符串格式化符号:
      %c     格式化字符及其ASCII码
      %s     格式化字符串
      %d     格式化整数
      %u     格式化无符号整型
      %o     格式化无符号八进制数
      %x     格式化无符号十六进制数
      %X     格式化无符号十六进制数(大写)
      %f     格式化浮点数字,可指定小数点后的精度
      %e     用科学计数法格式化浮点数
      %E     作用同%e,用科学计数法格式化浮点数
      %g     %f和%e的简写
      %G     %F 和 %E 的简写
      %p     用十六进制数格式化变量的地址

python三引号

python中三引号可以将复杂的字符串进行复制:

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。

三引号的语法是一对连续的单引号或者双引号(通常都是成对的用)。

python列表(List)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。Python有6个序列的内置类型,但最常见的是列表和元组。序列都可以进行的操作包括索引,切片,加,乘,检查成员。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可,代码如下:

list1 = [databasesB, mysql, 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]

访问列表中的值

使用下标索引来访问列表中的值,同样你也可以使用方括号的形式截取字符,代码如下

list1 = [Bigdata class B, mysql, 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]

print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

>>>list1[0]: Big data B
>>>list2[1:5]:  [2, 3, 4, 5]

更新列表

你可以对列表的数据项进行修改或更新,你也可以使用append()方法来添加列表项,代码如下:

list = []          ## 空列表
list.append(Google)   ## 使用 append() 添加元素
list.append(Runoob)
print (list)
>>>[Google, Runoob]

删除列表元素

可以使用 del 语句来删除列表的元素,代码如下:

list1 = [physics, chemistry, 1997, 2000]

print (list1)
del list1[2]
print "After deleting value at index 2 : "
print (list1)   #list1[1:]   这个的意思是从第二个元素开始截取列表   list[-2]:读取倒数第二个元素

>>>[physics, chemistry, 1997, 2000]
>>>After deleting value at index 2 :
>>>[physics, chemistry, 2000]

Python列表函数&方法

序号  函数
1   cmp(list1, list2)
比较两个列表的元素
2   len(list)
列表元素个数
3   max(list)
返回列表元素最大值
4   min(list)
返回列表元素最小值
5   list(seq)
将元组转换为列表

python元组

Python的元组与列表类似,注意了!!!不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号,元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tup1 = (physics, chemistry, 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )

元组中只包含一个元素时,需要在元素后面添加逗号

tup1 = (50,)

访问元组

元组可以使用下标索引来访问元组中的值,代码如下:

tup1 = (physics, chemistry, 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

>>>tup1[0]:  physics
>>>tup2[1:5]:  (2, 3, 4, 5)

修改元组

注意了!!! 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合

tup1 = (12, 34.56)
tup2 = (abc, xyz)

##以下修改元组元素操作是非法的。
## tup1[0] = 100

# 创建一个新的元组
tup3 = tup1 + tup2
print( tup3 )

>>>(12, 34.56, abc, xyz)

删除元组

元组中的元素值是不允许修改的,但我们可以对元组进行连接组合,代码如下:

tup = (physics, chemistry, 1997, 2000)
print tup
del tup
print "After deleting tup : "
print tup

>>>(physics, chemistry, 1997, 2000)
>>>After deleting tup :
Traceback (most recent call last):
  File "test.py", line 9, in <module>
   print tup
NameError: name tup is not defined

元组内置函数

1   cmp(tuple1, tuple2)
比较两个元组元素。
2   len(tuple)
计算元组元素个数。
3   max(tuple)
返回元组中元素最大值。
4   min(tuple)
返回元组中元素最小值。
5   tuple(seq)
将列表转换为元组。

Python 字典(Dictionary)

字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 中 ,格式如下所示:

d = key1 : value1, key2 : value2 
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。

>>>dict = a: 1, b: 2, b: 3
>>> dict[b]
3
>>> dict
a: 1, b: 3
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组,如:
dict = Alice: 2341, Beth: 9102, Cecil: 3258

访问字典里的值

把相应的键放入熟悉的方括弧,代码如下:

dict = Name: jiayuan, Age: 18, Class: First
print ("dict[Name]: ", dict[Name])
print ("dict[Age]: ", dict[Age])

>>>dict[Name]:  jiayuan
>>>dict[Age]:  18

修改字典


dict = Name: jiayuan, Age: 18, Class: First

dict[Age] = 8 # 更新
dict[School] = "gongcehng" # 添加 
print( "dict[Age]: ", dict[Age])
print( "dict[School]: ", dict[School])

>>>dict[Age]:  8
>>>dict[School]:  gongcheng

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,代码如下:

dict = Name: jiayuan, Age: 18, Class: First

del dict[Name]  # 删除键是Name的条目
dict.clear()      # 清空字典所有条目
del dict          # 删除字典

print ("dict[Age]: ", dict[Age] )
print ("dict[School]: ", dict[School])

得到的结果会报错,因为使用del删除后字典不复存在:
dict[Age]:
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print "dict[Age]: ", dict[Age] 
TypeError: type object is unsubscriptable

字典的特性及内置函数

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行,不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行。
字典内置函数及用法

1   cmp(dict1, dict2)
比较两个字典元素。
2   len(dict)
计算字典元素个数,即键的总数。
3   str(dict)
输出字典可打印的字符串表示。
4   type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
5   dict.keys()
以列表返回一个字典所有的键
6   dict.values()
以列表返回字典中的所有值

PS:数据类型总结到此结束。

以上是关于#yyds干货盘点#python入门到精通python常用数据类型详解的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点# python moviepy 的用法,看这篇就能入门

#yyds干货盘点#Windows/Mac 安装使用 Python 环境 +jupyter notebook

#yyds干货盘点#怎么自学 Python,大概要多久?

再也不敢精通Java了——get/set篇#yyds干货盘点#

#yyds干货盘点# 面试官:你说你精通Redis,你看过持久化的配置吗?

Python | Python常用函数方法示例总结(API)#yyds干货盘点#