资讯专栏INFORMATION COLUMN

Python3中六种标准数据类型的简单说明和理解

rockswang / 673人阅读

摘要:作者心叶时间中的变量不需要声明。中有六个标准的数据类型数字字符串列表元组集合字典。字符串格式化我叫今年岁心叶我叫心叶今年岁如上所示,字符串支持格式化,当然,出来上面用到的和以外,还有一些别的,具体看文档是不是感觉有点语言的味道。

作者:心叶
时间:2018-04-21 09:28

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

Python3 中有六个标准的数据类型:Number(数字) + String(字符串) + List(列表) + Tuple(元组) + Sets(集合) + Dictionary(字典)。

Number(数字)

数字类型是顾名思义是用来存储数值的,需要记住的是,有点和Java的字符串味道差不多,如果改变了数字数据类型的值,将重新分配内存空间。

可以使用del语句删除一些数字对象的引用:del var1[,var2[,var3[....,varN]]]]。

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

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

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

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

数字类型转换

1.int(x) 将x转换为一个整数。
2.float(x) 将x转换到一个浮点数。
3.complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。
4.complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。
额外说明

和别的语言一样,数字类型支持各种常见的运算,不过python的运算比别的大多数常见语言都更加丰富,此外,还有大量丰富的方法,提供更高效的开发。

String(字符串)

创建字符串

创建字符串可以使用单引号、双引号、三单引号和三双引号,其中三引号可以多行定义字符串,有点类似ES6中的反引号。
Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用。
访问字符串中的值

和ES一样,可以使用方括号来截图字符串,例子如下:

val_str="yelloxing"

print(val_str[0]) #y

print(val_str[1:3]) #el

print(val_str[:3]) #yel

print(val_str[:5]) #yello

字符串运算符

除了上面已经说明的方括号,还有一些别的字符串运算,具体查看文档。

字符串格式化

temp="我叫 %s 今年 %d 岁!" % ("心叶", 7)

print("["+temp+"]") #[我叫 心叶 今年 7 岁!]

如上所示,字符串支持格式化,当然,出来上面用到的%s和%d以外,还有一些别的,具体看文档;是不是感觉有点C语言的味道。

额外说明

所有的字符串都是Unicode字符串(针对python3),有很多有用的方法,真的很有ES和C结合体的味道。

List(列表)

序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

Python有6个序列的内置类型(列表、元组、字符串、Unicode字符串、buffer对象和xrange对象)。

列表其实类似数组,具体的一些操作就很像字符串(类似ES中数组和字符串的关系)。

常见运算

下面用一个例子来展示一些常见的运算:

val_arr=["Made","in","China"]

del val_arr[1]

print(val_arr) #["Made", "China"]

print(len(val_arr)) #2

val_newarr=val_arr+[":information"]

print(val_newarr) #["Made", "China", ":information"]

val_arr=val_arr*2

print(val_arr) #["Made", "China", "Made", "China"]

print("in" in val_arr) #False

print("Made" in val_arr) #True

for row in val_newarr:

    print(row, end=" - ") #Made - China - :information -
    
print(val_newarr[-1]) #:information

print(val_newarr[1:]) #["China", ":information"]

再来看一个有用的例子:

cols=3

rows=2

list_2d = [[0 for col in range(cols)] for row in range(rows)]

print(list_2d) #[[0, 0, 0], [0, 0, 0]]

嵌套列表

使用嵌套列表即在列表里创建其它列表,例如:

loop_arr=["yelloxing","心叶"]

result_arr=[loop_arr,"同级别"]

print(result_arr) #[["yelloxing", "心叶"], "同级别"]

列表的嵌套就很灵活,此外随便提一下:和前面说的一样,也有很多方法提供高效的开发。

Tuple(元组)

元组与列表类似,不同之处在于元组的元素不能修改,元组使用小括号,列表使用方括号。

创建
元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用

tup1 = ("Google", "Runoob", 1997, 2000);

tup2 = (1, 2, 3, 4, 5 );

tup3 = "a", "b", "c", "d";


print(tup1) #("Google", "Runoob", 1997, 2000)

print(tup2) #(1, 2, 3, 4, 5)

print(tup3) #("a", "b", "c", "d")

基本操作

和列表的操作很相似,下面说一个几天特殊的地方:
1.del可以删除某个元组,不过不可以删除元组的某个条目。
2.不可以修改,或许元组会更快,感觉的,没有实际测试。
3.由于元组不可以修改,虽然同样有一些方法,不过和修改相关的方法就没有了。

Sets(集合)

回想一下数学里面的集合,合、交、差、补等运算是不是一下子回想起来了,这里的集合也有这些方法。

和Java的集合类似,一个无序不重复元素集(与列表和元组不同,集合是无序的,也无法通过数字进行索引)。
更具体的说明,如果必要会在多带带说明。

Dictionary(字典)

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,键必须是唯一的,但值则不必。

和ES中的JSON的差不多,操作也很像,不过区别也很大,内置方法很多,具体还是一样,看文档去。

删除字典元素

可以用del删除一个条目或字典,也可以用clear()方法清空字典(比如现在有字段dict,就是:dict.clear())。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/19741.html

相关文章

  • Python3六种标准数据类型简单说明理解

    摘要:作者心叶时间中的变量不需要声明。中有六个标准的数据类型数字字符串列表元组集合字典。字符串格式化我叫今年岁心叶我叫心叶今年岁如上所示,字符串支持格式化,当然,出来上面用到的和以外,还有一些别的,具体看文档是不是感觉有点语言的味道。 作者:心叶时间:2018-04-21 09:28 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 Python3...

    Cheng_Gang 评论0 收藏0
  • Python入门到实践-了解Python

    摘要:但是相对于开发者来说语言提供了更加强大的支持。自身的强类型的机制异常处理垃圾自动收集等是其程序健壮性的重要保证。框架的设计理念也遵循了优雅明确简单,并具有简洁易读及可拓展性。 关于Python的发展,及Python的历史概述我这里将不会浪费时间和大家介绍,因为我觉得能够借用搜索引擎搜索到的知识大家就竟可能的自己动手动脑去了解和认知,我主要就讲讲Python的一些基本的特性及版本的选择相...

    alighters 评论0 收藏0
  • 【Python零基础到入门】Python基础语法篇——基本数据类型【文末送书】

    摘要:布尔值布尔值和布尔代数的表示完全一致,一个布尔值只有两种值的数据类型可以通过内置的函数查询,例如还可以用来判断和的区别在于不会认为子类是一种父类类型。会认为子类是一种父类类型。基本功能是进行成员关系测试和删除重复元素。 ...

    Winer 评论0 收藏0
  • unicodeutf8 —— 从一个遍历文件名脚本,谈谈对Python2Python3中字符编

    摘要:如果传一个中文,下和下编码分别是和,可以自己用打印看看文件中写死,本来理解是跟这个文件本身编码有关,但文件编码同样是的情况下,下打印了的超集,下仍然是。 对编码问题一直一知半解,之前也是得过且过,正好有个同事要我帮忙写个脚本,涉及这方面的问题,借这个契机研究了一下. 先贴几篇比较好的: 1.阮老师的上古文章(07年…),虽然古老但对理解帮助很大,从最基础讲起,逻辑清晰易理解. (ps:...

    宠来也 评论0 收藏0
  • JavaScript instanceof运算符深入分析

    摘要:注意基本变量类型不是对象类型,只有基本包装类型才是对象类型。至于显示的原型,在里用属性表示,这个是原型继承的基础知识,在这里就不在叙述了。 前言 如果你要开发一个复杂的产品,那么肯定少不了使用面向对象机制,当然也避不开 Javascript 里面的继承,instanceof 运算符是原生 Javascript 语言中用来判断实例继承的操作符。所以我们有必要深入理解该运算符! inst...

    zhangyucha0 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<