您的位置:首页 > 编程语言 > Python开发

python标准数据类型

2017-08-12 16:26 169 查看
Python3 中有六个标准的数据类型:

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Sets(集合)

Dictionary(字典)

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

Number(数字)

Python3 支持 int、float、bool、complex(复数)。
在Python 3里,只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
内置的 type() 函数可以用来查询变量所指的对象类型。

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))

<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

也可以使用\(del语句\)删除一些对象引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

示例:

您可以通过使用del语句删除单个或多个对象。例如:

del var
del var_a, var_b

数学函数

函数返回值 ( 描述 )
abs(x)
返回数字的绝对值或复数的模
ceil(x)
返回数字的上入整数,如
math.ceil(4.1) 返回 5
cmp(x, y)
如果
x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
Python 3 已废弃 。使用 使用
(x>y)-(x<y)
替换。
exp(x)
返回
e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)
返回数字的绝对值,如
math.fabs(-10) 返回10.0
floor(x)
返回数字的下舍整数,如
math.floor(4.9)
返回 4
log(x)
如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)
返回以10为基数的x的对数
max(x1, x2,...)
返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)
返回给定参数的最小值,参数可以为序列。
modf(x)
返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)
x**y
运算后的值。
round(x [,n])
返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x)
返回数字x的平方根,数字可以为负数,返回类型为实数
示例:

import math
math.fabs(-3)

3.0

abs(-3+4j)

5.0

随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

函数描述
choice(seq)从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step])从指定范围内,按指定基数递增的集合中获取一个随机数,基数缺省值为1
random()随机生成下一个实数,它在[0,1)范围内。
seed([x])改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst)将序列的所有元素随机排序
uniform(x, y)随机生成下一个实数,它在[x,y]范围内。

三角函数

Python包括以下三角函数:

函数描述
acos(x)返回x的反余弦弧度值。
asin(x)返回x的反正弦弧度值。
atan(x)返回x的反正切弧度值。
atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值。
cos(x)返回x的弧度的余弦值。
hypot(x, y)返回欧几里德范数
sqrt(x*x + y*y)
sin(x)返回的x弧度的正弦值。
tan(x)返回x弧度的正切值。
degrees(x)将弧度转换为角度,如
degrees(math.pi/2)
返回90.0
radians(x)将角度转换为弧度

数学常量

常量描述
pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)。

String(字符串)

Python中的字符串用单引号(
'
)或双引号(
"
)括起来,同时使用反斜杠(
\
)转义特殊字符。

详见python的几个相关知识(三)

Python 使用反斜杠(
\
)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个
r
,表示原始字符串:

print('Ru\noob')

Ru
oob

print(r'Ru\noob')

Ru\noob

另外,反斜杠(
\
)可以作为续行符,表示下一行是上一行的延续。也可以使用

"""..."""

或者
'''...'''
跨越多行。

List(列表)

List(列表)是Python中使用最频繁的数据类型。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号(
[]
)之间并用逗号分隔开的元素列表。

Tuple(元组)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号(
()
)里,元素之间用逗号隔开。

一般来说,函数的返回值一般为一个,而函数返回多个值的时候,是以元组的方式返回的。

python中的函数还可以接收可变长参数,比如以 "
*
" 开头的的参数名,会将所有的参数收集到一个元组上。

Set(集合)

集合(set)是一个无序不重复元素的序列。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号
{ }
或者
set()
函数创建集合,注意:创建一个空集合必须用
set()
而不是
{ }
,因为
{ }
是用来创建一个空字典。

Dictionary(字典)

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用"
{ }
"标识,它是一个无序的
键(key) : 值(value)
对集合。

键(key)必须使用不可变类型。

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

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)
将一个整数转换为一个字符
unichr(x)
将一个整数转换为Unicode字符
ord(x)
将一个字符转换为它的整数值
hex(x)
将一个整数转换为一个十六进制字符串
oct(x)
将一个整数转换为一个八进制字符串

运算符

Python算术运算符

运算符描述
+
加(两个对象相加)
-
*
乘(两个数相乘或是返回一个被重复若干次的序列)
/
%
取模(返回除法的余数)
**
//
取整除

Python比较运算符

==


<=


<


>=


>


!=


返回布尔值(True/False)

Python赋值运算符

运算符描述实例
=
简单的赋值运算符\(c = a + b\) 将 \(a + b\) 的运算结果赋值为\(c\)
+=
加法赋值运算符
c += a
等效于
c = c + a
-=
减法赋值运算符
c -= a
等效于
c = c - a
*=
乘法赋值运算符
c *= a
等效于
c = c * a
/=
除法赋值运算符
c /= a
等效于
c = c / a
%=
取模赋值运算符
c %= a
等效于
c = c % a
**=
幂赋值运算符
c **= a
等效于
c = c ** a
//=
取整除赋值运算符
c //= a
等效于
c = c // a

Python位运算符

按位运算符是把数字看作二进制来进行计算的。

运算符描述
&
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
\(\mid\)按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^
按位异或运算符:当两对应的二进位相异时,结果为1
~
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。
~x
类似于
-x-1
<<
左移动运算符:运算数的各二进位全部左移若干位,由"
<<
"右边的数指定移动的位数,高位丢弃,低位补0。
>>
右移动运算符:把"
>>
"左边的运算数的各二进位全部右移若干位,"
>>
"右边的数指定移动的位数
a = 60            # 60 = 0011 1100
b = 13            # 13 = 0000 1101
c = 0

c = a & b;        # 12 = 0000 1100
print ("1 - c 的值为:", c)

c = a | b;        # 61 = 0011 1101
print ("2 - c 的值为:", c)

c = a ^ b;        # 49 = 0011 0001
print ("3 - c 的值为:", c)

c = ~a;           # -61 = 1100 0011
print ("4 - c 的值为:", c)

c = a << 2;       # 240 = 1111 0000
print ("5 - c 的值为:", c)

c = a >> 2;       # 15 = 0000 1111
print ("6 - c 的值为:", c)

1 - c 的值为: 12
2 - c 的值为: 61
3 - c 的值为: 49
4 - c 的值为: -61
5 - c 的值为: 240
6 - c 的值为: 15

Python逻辑运算符

运算符逻辑表达式描述
and
x and y
布尔"与" (如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。)
or
x or y
布尔"或" (\(如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。\))
not
not x
布尔"非" (\(如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。\))
注意:
and
or
惰性求值

Python成员运算符

运算符
in
如果在指定的序列中找到值返回
True
,否则返回
False
not in
如果在指定的序列中没有找到值返回
True
,否则返回
False

Python身份运算符

身份运算符用于比较两个对象的存储单元

运算符描述实例
is
判断两个标识符是不是引用自一个对象
x is y
, 类似
id(x) == id(y)
, 如果引用的是同一个对象则返回 True,否则返回 False
is not
判断两个标识符是不是引用自不同对象
x is not y
, 类似
id(a) != id(b)
。如果引用的不是同一个对象则返回结果 True,否则返回 False。
注:
id()
函数用于获取对象内存地址。

Python运算符优先级

以下表格列出了从最高到最低优先级的所有运算符:

运算符描述
**
指数 (最高优先级)
~
+
-
按位翻转, 一元加号和减号 (最后两个的方法名为
+@
-@
)
*
/
%
//
乘,除,取模和取整除
+
-
加法 减法
>>
<<
右移,左移运算符
&
位 'AND'
^
\(\mid\)
位运算符
<=
<
>
>=
比较运算符
<>
==
!=
等于运算符
=
%=
/=
//=
-=
+=
*=
**=
赋值运算符
is
is not
身份运算符
in
not in
成员运算符
not
or and
逻辑运算符
python的几个相关知识(二) 介绍了一些关于序列,字典(映射),集合的知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: