数据类型基础知识

一.什么是数据

比如 X = 10,10是我们要存储的数据

数据可以是符号、文字、数字、语音、图像、视频等

数据可以是连续的值,比如声音、图像,称为模拟数据。也可以是离散的,如符号、文字,称为数字数据。

在计算机系统中,数据以二进制信息单元0,1的形式表示。

二.为何数据要分不同的类型

数据是用来表示状态的,不同的状态应该由不同的数据来表示。

三.数据类型

数字(int,float,complex)

作用:年纪,年级,等级,身份证号,QQ号等数字相关

长整形

  在python2中(python3中没有长整形的概念):      

 >>> num=2L

 >>> type(num)
 <type 'long'>

复数  

  >>> x=1-2j

 print(type(x))#<class 'complex'>

字符串(Python 没有单独的字符类型,一个字符就是长度为1的字符串)

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

字符串的截取:

#!/usr/bin/python3 
str = 'aleXnn' 
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串

注意:

  • 1、反斜杠可以用来转义,使用r可以让反斜杠不发生转义。
  • 2、字符串可以用+运算符连接在一起,用*运算符重复。
  • 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。
  • 4、Python中的字符串不能改变。

列表(List)

列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

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

和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。

#!/usr/bin/python3
 
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'aleXnn']
 
print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

 字符串的常见内置方法:

#strip
name = '*egon**'
print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))

#startswith,endswtith
name ='alex_SB'
print(name.endswith('SB'))
print(name.startswith('alex'))

#replace
name='alex say:i have one tesla,my name is alex'
print(name.replace('alex','SB',1))

#format的三种用法
res='{} {} {}'.format('egon',18,'male')
res1='{1} {0} {1}'.format('egon',18,'male')
res2='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
print('------------')

#find,refind,index,reindex,count
name='egon say hello'
print(name.find('o',1,3))#顾头不顾尾,找不到则返回-1不会报错,找到了则显示索引
#print(name.index('e',2,4))#同上,但是找不到会报错
print(name.count('e',1,3))#顾头不顾尾,如果找不到指定范围则查找所有

#split
name='root:x:0: 0::/root:/bin/bash'
print(name.split())#默认分隔符为空格
name='C:/a/b/c/d.txt'#只想拿到顶级目录
print(name.split('/',3))

name='a|b|c'
print(name.rsplit('|',1))#从右边开始切分

#join
tag=' '
print()
print(tag.join(['egon','say','hello','world'])) #可迭代对象必须都是字符串

#center,ljust,rjust,zfill
name = 'egon'
print(name.center(30,'-'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))
print(name.zfill(50))#用0填充

#expandtabs
name='egon	hello'
print(name)
print(name.expandtabs(1))

#lower,upper
name='egon'
print(name.lower())

#captalize,swapcase,title
print(name.capitalize())#首字母大写
print('-------------------')
print(name.swapcase())#大小写翻转
msg='egon say hi'
print(msg.title())#每个单词的首字母大写

#is数字系列
#在python3中
num1=b'4'#bytes
num2=u'4'#unicode,python3中无需加U就是Unicode
num3=''#中文数字
num4='IV'#罗马数字

#isdigt:bytes,unicode
print(num1.isdigit())#True
print(num2.isdigit())#True
print(num3.isdigit())#False
print(num4.isdigit())#False

#isdecimal:unicode
#bytes类型无isdecimal方法
print(num2.isdecimal())#True
print(num3.isdecimal())#False
print(num4.isdecimal())#False

#isnumberic:unicode,中文数字,罗马数字
#bytes类型无isnumberic方法
print(num2.isnumeric())#True
print(num4.isnumeric())#True


#三者不能判断浮点数
num5='4.3'
print(num5.isdigit())
print(num5.isdecimal())
print(num5.isnumeric())

#is 其他
print('===>')
name = 'egon123'
print(name.isalnum())#字符串由字母和数字组成
print(name.isalpha())#字符串只有字母组成

print(name.isidentifier())
print(name.islower())
print(name.isupper())
print(name.isspace())
print(name.istitle())

元组

  定义:与列表类似,[ ]改为()

  特性:可存放多个值;元素不可变;按照从左到右的顺序定义元组的元素,下标从0开始顺序访问,有序

  创建元组:

  L = (1,2,3,4,5,6)

  元组常用操作:

  索引,切片,循环,长度,包含

字典

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

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

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

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

#!/usr/bin/python3
 
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
 
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
 
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值
View Code

   特性:可存放多个值;可修改指定key 对应的值,可变;无序

  创建字典:

1 dic = {'name':'宋江','age':30,'hobbies':'gilrs','salary':50000}

集合

      定义:由不同的元素组成,集合中是一组排列的可hash的值,可以作为字典的key

      特性:集合的目的是将不同的值存放到一起,不同的集合间用来作关系运算,不用纠结集合中单个值

   创建集合:

  set_ac = {'alex','egon','age','salary'}

 

原文地址:https://www.cnblogs.com/sxh-myblogs/p/7197901.html