Python3基本数据类型

Python3 基本数据类型

python3中有六种标准的数据类型
1 Number (数字)
2 String (字符串)
3 List (列表)
4 Tuple (元组)
5 Set (集合)
6 Dictionary (字典)
python3的六个标准数据类型中

  • 不可变数据:Number(数字) 、String(字符串) 、Tuple(元组)
  • 可变数据: List(列表) 、Dictionary(字典) 、Set(集合)

Number (数字)

python3 支持 int 、float 、bool 、complex(复数)
在python3里,只有一种整数类型int,表示为长整形,没有python中的long
内置的type()函数可以用来查看变量的数据类型

>>> a , b , c , d = 20 , 5.6 , True , 4+3j
>>> print(type(a)) , print(type(b)) , print(type(c)) , print(type(d))
<cladd 'int'> <class 'float'> <class 'bool'> <class 'complex'>

此外还可以用isinstance函数来判断

>>>a = 111
>>>  isinstance(a,int)
True
>>>  isinstance(a,float)
False

isinstance 和 type的区别在于:
type()不会认为子类是父类类型
isinstance()会认为子类是一种父类类型

数值运算

>>>5 + 4  #加法
9
>>>4.3 - 2 #减法
2.3
>>>3 * 7 #乘法
21
>>>2 / 4  #除法
0.5
>>>17 % 3 #取余
2
>>>2 ** 5 #乘方
32

String (字符串)

Pyrhon中字符串用单引号’或者双引号"括起来同时使用反斜杠\转译特殊字符
说明:单引号与双引号效果相同

#!/usr/bin/python3


str = "Runoob"

print(str)
print(str[0:-1])
print(str[0])
print(str[2:5])
print(str[2:])
print(str * 2)
print(str + '你好')

print('------------------------------')

print('hello\nrunoob')
print(r'hello\nrunoob')
Runoob
Runoo
R
noo
noob
RunoobRunoob
Runoob你好
------------------------------
hello
runoob
hello\nrunoob
  • 例:
>>> word = 'Python'
>>> print(word[0], word[5])
P n
>>> print(word[-1], word[-6])
n P
  • 说明:python的字符串中可有负顺序,但是值得注意的是,无论是正负顺序都只能有一次,即不能循环。本例中索引数 -6≤i≤5
  • 与C语言不同的是python的字符串是不允许修改的,即不能做 word[0] = ‘a’

列表(List)

列表(List)是python中使用最频繁的数据类型
列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
列表是写在方括号 [] 之间、用逗号分隔开的元素列表。
和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
列表截取的语法格式如下:

变量[头下标,尾下标]

#!/usr/bin/python3

list = ['abcd',213,2.98,'okokkok',70.2,['aaa',12]]
tinylist = [123,'kokoko']

print(list)   #输出完整列表
print(list[0])  #输出列表第一个元素
print(list[1:3]) #输出列表的第2个元素至第4个元素
print(list[3:])  #输出列表第4个元素以及之后的元素
print(tinylist * 2)  #输出列表两次
print(list + tinylist)  #连接列表
print(list[-1]) #输出嵌套列表
print(list[-1][1]) #输出嵌套列表中的第2个元素
['abcd', 213, 2.98, 'okokkok', 70.2, ['aaa', 12]]
abcd
[213, 2.98]
['okokkok', 70.2, ['aaa', 12]]
[123, 'kokoko', 123, 'kokoko']
['abcd', 213, 2.98, 'okokkok', 70.2, ['aaa', 12], 123, 'kokoko']
['aaa', 12]
12

与python字符串不同的是,列表中的元素可以改变

  • 例:
>>> a = [12,'ddd',213.4,['231',23]]
>>> a
[12, 'ddd', 213.4, ['231', 23]]
>>> a[0] = 'hahaha'
>>> a
['hahaha', 'ddd', 213.4, ['231', 23]]

Tuple(元组)

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

#!/usr/bin/python3

tuple = ('abd', 123, 12.22,'ios',(123,'342'))
tinytuple = (3242,'dsf')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

输出:

('abd', 123, 12.22, 'ios', (123, '342'))
abd
(123, 12.22)
(12.22, 'ios', (123, '342'))
(3242, 'dsf', 3242, 'dsf')
('abd', 123, 12.22, 'ios', (123, '342'), 3242, 'dsf')

元组与字符串类似,可以被索引且下标索引从0开始,-1 为从末尾开始的位置。也可以进行截取(看上面,这里不再赘述)。
其实,可以把字符串看作一种特殊的元组。

  • 说明:
>>> list = [123,'asfaw',213.4]
>>> tuple = (123,'asdf',list)
>>> tuple
(123, 'asdf', [123, 'asfaw', 213.4])
>>> list = [123]
>>> tuple
(123, 'asdf', [123, 'asfaw', 213.4])

即使元组中有可以修改的列表,修改列表后,元组的元素依旧不会改变

Set(集合)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。
基本功能是进行成员关系测试和删除重复元素。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
创建格式:

parame = {value01,value02,…}
或者
set(value)

  • 例:
#!/usr/bin/python3

student = {'Tom','Jim','Marry','Tom','Jack','Rose'}

print(student)  #输出集合,重复的元素会被自动去掉,且每次输出顺序不同

# 成员测试
if 'Rose' in student:
    print('Rose在集合中')
else:
    print('Rose不在集合中')

#set可以进行集合运算
a = set('abcdefg')
b = set('alaceio')
print(a)
print(a-b) #a和b的差集
print(a|b) #a和b的并集
print(a&b) #a和b的交集
print(a^b) #a和b中不同时存在的元素

输出如下:

{'Rose', 'Jack', 'Marry', 'Jim', 'Tom'}
Rose在集合中
{'f', 'b', 'e', 'c', 'g', 'd', 'a'}
{'b', 'g', 'd', 'f'}
{'f', 'i', 'l', 'e', 'b', 'c', 'o', 'g', 'd', 'a'}
{'a', 'e', 'c'}
{'o', 'd', 'f', 'i', 'l', 'b', 'g'}

字典(Dictionary)

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

  • 例:
#!/usr/bin/python3

dict = {}
dict['one'] = '1-菜鸟教程'
dict[2] = '2-菜鸟工具'

tinydict = {'name':'okokokok', 'code':1, 'site':'fasklh'}

print(dict['one'])
print(dict[2])
print(tinydict)
print(tinydict.keys())
print(tinydict.values())
  • 输出
1-菜鸟教程
2-菜鸟工具
{'name': 'okokokok', 'code': 1, 'site': 'fasklh'}
dict_keys(['name', 'code', 'site'])
dict_values(['okokokok', 1, 'fasklh'])
  • 构造函数dict()可以从键值对序列中构建字典如下:
>>> dict([('heu',1),('dianzi',2),('no',3)])
{'heu': 1, 'dianzi': 2, 'no': 3}
>>> dict(heu=1,dianzi=2,no=3)
{'heu': 1, 'dianzi': 2, 'no': 3}
>>> {x:x**2 for x in (3,6,9)}
{3: 9, 6: 36, 9: 81}
>>> dict(heu=1,'dianzi'=2,no=3) #key类型不同创建失败
  File "<stdin>", line 1
SyntaxError: keyword can't be an expression

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。
注意:

  • 1、字典是一种映射类型,他的元素是键值对。
  • 2、字典的关键字必须为不可变类型,且不能重复
  • 3、创建空字典使用{ }

Python数据类型转换

函数描述
int(x,base)将x转换为整数(base表示进制)
flot(x)将x转换到浮点数
complex(real,imag)创建一个复数complex(1,2)–>1+2j
str(x)将对象x转换为字符串(单引号 ’ )
repr(x)将对象x转换为表达式字符串(双引号 ")
eveal(str)用来计算在字符串中有效的Python表达式,并返回一个对象
tuple(s)将序列s转换为一个元组
list(s)将序列s转换为一个列表
set(s)将序列s转换为可变集合
dict(a)创建一个字典,d必须是一个序列(key,value)元组
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为字符
ord(x)将一个字符转换为他的整数值
hex(x)将一个整数转换为一个十六进制的字符串
oct(x)将一个整数转换为八进制字符串
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值