码迷,mamicode.com
首页 > 编程语言 > 详细

python数据类型

时间:2017-09-04 09:47:07      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:通过   ash   dict   key   password   比较   字符   列表   复制   

数据类型
‘‘  ""  没有任何区别   里面可以加文字
#整数数字:整型数字
#可以表示表示:年龄身份证号,电话,QQ号码
age=10
user_id=12321313213231231232131
qq=666666666
#字符串类型:只要在引号里面包含的都是字符串类型
#可以用来表示:名字性别
name=‘egon‘
#列表:可以存放多个值,每个值可以是任意数据类型
#可以存放多个值,可以用来表示:装备,爱好
#要取列表内的元素,需要通过下标,从0开始
hobbies=[‘chouyan‘,‘hejiu‘,‘tangtou‘]
>>> l=[1,‘a‘,[2,3]]
>>> l
[1, ‘a‘, [2, 3]]
>>> l[0]
1
>>> l[1]
‘a‘
>>> l[2]
[2, 3]
>>> l[2][0]
2
>>> l[2][1]
3
################
#字典:采用key: value的方式存储,可以存放多个值
				 每个value也可以是任意数据类型
				 但是key必须是不可变数据类型
dic={‘name‘:‘egon‘,‘password‘:‘123‘}
>>> dic={‘name‘:‘egon‘,‘password‘:‘123‘}
>>> id(dic)
48517336
>>> type(dic)
<class ‘dict‘>
>>> dic
{‘name‘: ‘egon‘, ‘password‘: ‘123‘}
>>> dic[‘name‘]
‘egon‘
>>> dic[‘password‘]
‘123‘
>>> 
添加key :value
dic[‘count‘]=2
>>> dic[‘count‘]=2
>>> dic
{‘name‘: ‘egon‘, ‘password‘: ‘123‘, ‘count‘: 2}
改值
>>> dic[‘name‘]=‘alex‘
>>> dic
{‘name‘: ‘alex‘, ‘password‘: ‘123‘, ‘count‘: 2}
值变了,所以是可变的
########
可变数据类型:(不可hash类型)
id不变
type不变
值变了
>>> l=[1,2]
>>> id(1)
1728427072
>>> id(2)
1728427104
>>> type(l)
<class ‘list‘>
>>> l.append(3)    #append是往列表里加一个
>>> l
[1, 2, 3]

不可变数据类型:
不可变类型以int类型为例:实际上 i += 1 并不是真的在原有的int对象上+1,而是重新创建一个value为6的int对象,i引用自这个新的对象。

>>> i = 5
>>> i += 1
>>> i
6
通过id函数查看变量i的内存地址进行验证(使用hex(id(i)) 可以查看16进制的内存地址)


>>> i = 5
>>> i += 1
>>> i
6
>>> id(i)
140243713967984
>>> i += 1
>>> i
7
>>> id(i)
140243713967960

可以看到执行 i += 1 时,内存地址都会变化,因为int 类型是不可变的。

再改改代码,但多个int类型的变量值相同时,看看它们内存地址是否相同。

>>> i = 5
>>> j = 5
>>> id(i)
140656970352216
>>> id(j)
140656970352216
>>> k = 5
>>> id(k)
140656970352216
>>> x = 6
>>> id(x)
140656970352192
>>> y = 6
>>> id(y)
140656970352192
>>> z = 6
>>> id(z)
140656970352192
复制代码
对于不可变类型int,无论创建多少个不可变类型,只要值相同,都指向同个内存地址。同样情况的还有比较短的字符串。
################
布尔类型#判断对错
Ture,False
>>> age=50
>>> age > 100
False
>>> if age > 100:
	print(‘wow,time to end‘)

	
>>> age=101
>>> if age > 100:
	print(‘wow,time to end‘)

	
wow,time to end
#####################################
字符串切分
>>> msg=‘egon|alex|wupeiqi|yuanhao‘
>>> msg
‘egon|alex|wupeiqi|yuanhao‘
>>> msg.split(‘|‘)
[‘egon‘, ‘alex‘, ‘wupeiqi‘, ‘yuanhao‘]
>>> user_name=msg.split(‘|‘)
>>> user_name
[‘egon‘, ‘alex‘, ‘wupeiqi‘, ‘yuanhao‘]
>>> user_name[2]
‘wupeiqi‘
>>> msg=‘egon alex wupeiqi yuanhao‘
>>> msg
‘egon alex wupeiqi yuanhao‘
>>> msg.split()
[‘egon‘, ‘alex‘, ‘wupeiqi‘, ‘yuanhao‘]
>>> user_name1=msg.split()
>>> user_name1
[‘egon‘, ‘alex‘, ‘wupeiqi‘, ‘yuanhao‘]
>>> user_name1[2]
‘wupeiqi‘

#多引号实例
>>> msg=‘‘‘
今天天气不错,
挺风和日丽的,
我下午没有课,
‘‘‘
>>> print(msg)

今天天气不错,
挺风和日丽的,
我下午没有课,

#字符串的拼接
>>> msg1=‘hellow‘
>>> msg2=‘world‘
>>> msg3=msg1+msg2
>>> msg3
‘hellowworld‘
>>> msg4=msg1*3
>>> msg4
‘hellowhellowhellow‘
>>> print(‘hellow‘+‘world‘)
hellowworld

  

python数据类型

标签:通过   ash   dict   key   password   比较   字符   列表   复制   

原文地址:http://www.cnblogs.com/zhaohongyu6688/p/7471974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!