人生苦短,我用python——python的基本数据类型

Python 中的变量不需要声明,但是每个变量在使用前都必须赋值,变量赋值以后才会被创建,不需要指明变量的数据类型,因为python会根据值来推测它的类型,如数字3就会推断出int类型,3.0就会被推断出float类型,就是所谓的动态编程啦。

python3的内置数据类型有六个:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Sets(集合)

Dictionary(字典)

• 不可变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(集合);

• 可变数据(两个):List(列表)、Dictionary(字典)。

其中string、list和tuple都属于sequence(序列)。内置的 type() 函数可以用来查询变量所指的对象类型。此外还可以用 isinstance 来判断。

Number(数字)

Python3 只支持 int(整数)、float(浮点数,有小数的)、bool(True、False)、complex(复数)。

在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

数字可以进行的运算:

加、减、乘、除(+、-、*、/)

取模(//)、取余(%)

乘方(**)

注意:python3的代码拿到python2中去运行在数字计算方面会有问题的。

Python3:4/3 = 1.333333

Python2:4/3 = 1 、4/3.0 = 1.333333 、4.0/3 = 1.333333

String(字符串)

Python3没有字符与字符串的概念,都是字符串,字符串用字节序列来存储的。python3默认定义字符串,针对字符串实现了对Unicode的内置支持。就是说,字符串存储时,python3会根据编码表自动encode成字节序列存储在机器中;显示字符串时,python3会根据相应的编码表decode成字符串显示。现在python3不再局限于UTF-8了,ASCII、GBK、GB2312、UTF-16等编码都支持了。

Python中的字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串,如r'Ru\noob'。字符串的截取的语法格式如下:

变量[头下标:尾下标]

(1)索引值以 0 为开始值,-1 为从末尾的开始位置。

(2)加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串,紧跟的数字为复制的次数。

注意:

• 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

• 2、字符串可以用+运算符连接在一起,用*运算符重复。

• 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。

• 4、Python中的字符串不能改变。

List(列表)

List(列表) 是写在方括号([])之间、用逗号分隔开的元素列表。列表中元素的类型可以不相同,它可以包含数字、字符串、列表、元组、集合、字典。和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。列表截取的语法格式如下:

变量[头下标:尾下标]

(1)索引值以 0 为开始值,-1 为从末尾的开始位置。

(2)加号(+)是列表连接运算符,星号(*)是重复操作。

注意:

• 1、List写在方括号之间,元素用逗号隔开。

• 2、和字符串一样,List可以被索引和切片。

• 3、List可以使用+操作符进行拼接。

• 4、List中的元素是可以改变的。

Tuple(元组)

元组(tuple)写在小括号 () 之间,用逗号分隔开的元素列表。元组中元素的类型可以不相同,它可以包含数字、字符串、列表、元组、集合、字典。和字符串一样,元组同样可以被索引和截取,元组被截取后返回一个包含所需元素的新元组。其实,可以把字符串看作一种特殊的元组。与列表类似,不同之处在于元组的元素不能修改,虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。元组截取的语法格式如下:

变量[头下标:尾下标]

(1)索引值以 0 为开始值,-1 为从末尾的开始位置。

(2)加号(+)是列表连接运算符,星号(*)是重复操作。

注意:

• 1、Tuple写在小括号之间,元素用逗号隔开。

• 2、和字符串一样,Tuple可以被索引和切片。

• 3、元组可以使用+操作符进行拼接。

• 4、与字符串一样,元组的元素不能修改。

5、构造包含0或1个元素的元组的特殊语法规则:

tup1 = () #空元组

tup2 = (20,)#一个元素,需要在元素后添加逗号

Set(集合)

集合(set)是一个无序不重复元素的序列。基本功能是进行成员关系测试和删除重复元素。可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

parame = 或者 set(value)

Dictionary(字典)

字典(dictionary)是Python中另一个非常有用的内置数据类型。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

构造函数 dict() 可以直接从键值对序列中构建字典如下:

dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])

注意:

• 1、字典是一种映射类型,它的元素是键值对。

• 2、字典的关键字必须为不可变类型,且不能重复。

• 3、创建空字典使用 { }。

Python数据类型转换

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

int(x [,base]) 将x转换为一个整数

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

complex(real [,imag])创建一个复数

str(x)将对象 x 转换为字符串

repr(x)将对象 x 转换为表达式字符串

eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)将序列 s 转换为一个元组

list(s)将序列 s 转换为一个列表

set(s)转换为可变集合

dict(d)创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)转换为不可变集合

chr(x)将一个整数转换为一个字符

ord(x)将一个字符转换为它的整数值

hex(x)将一个整数转换为一个十六进制字符串

oct(x)将一个整数转换为一个八进制字符串

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180408G028WS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券