快乐家人

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

数据类型

计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:

一、整型(int)

在python3中都是int类型,没有什么long类型,Python可以处理任意大小的整数,包含正整数、负整数和0

二、浮点型(float)

即小数类型,一个浮点数的小数点位置是可变的

三、布尔类型

布尔类型包含True和False,可以通过逻辑运算符or、and等进行运算

四、字符串

它可以存任意类型的字符串,比如名字,一句话等等。字符串是以单引号'或双引号''括起来的任意文本,如果'本身也是一个字符,那就可以用''''括起来。字符串中的值一经定义后,不能修改其中个别的字符

字符串的相关操作:

str = 'hello world,{str}'
print(str.capitalize()) #将字符串首字母变为大写
print(str.center(5,'i'))
print(str.startswith('h'))#判断字符串是否以某一字符开始
print(str.endswith('d')) #判断字符串是否以某一字符结束
print(str.expandtabs(10))
print(str.format(str='Sammy'))#字符串格式化
print(str.format_map({'str':'Sammy'}))#字符串格式化,使用字典传值
print('123ui'.isalnum())#判断字符串是否只包含“数字”、“英文字母”或者“数字和英文字母的组合"
print('abc'.isalpha())#判断字符串是否只包含英文字母
print('123'.isdigit())#判断字符串是否只包含数字
print('abc'.islower())#判断字符串是否只包含小写字母
print('ABC'.isupper())#判断字符串是否只包含大写字母
print('#@$'.isidentifier())#判断字符串是否和合法的变量名
print(str.lower()) #将字符串大写转换为小写
print(str.upper()) #将字符串小写转换为大写
print(' 哈哈 '.lstrip()) #去除字符串左边的空格
print(' 哈哈 '.rstrip()) #去除字符串右边的空格
print(' 哈哈 '.strip()) #去除字符串左右两边的空格
p = str.maketrans('abcdefg','1234567')#将前面的字符串和后面的字符串做映射
print('cc ae gg'.translate(p)) #映射后翻译为33 15 77
print('+'.join(['a','b','c'])) #将字符串通过+或其他字符拼接,a+b+c
print('a b c d e'.split()) #将字符串根据空格进行分隔,当split中填写对应的字符,即表示以该字符进行分隔,并且将结果返回为一个列表list
print('abc\nefg'.splitlines()) #将字符串根据换行符进行分隔,并将结果返回一个列表
print('AbCdEfG'.swapcase()) #将字符串中的大小写字母进行反转
print('hello world'.replace('o','O',1)) #替换字符串中的字符,根据数字个数判断几个
print('hello world'.rfind('o')) #返回字符串中某个字符所在位置最右边的下标

五、空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

六、列表(list)

列表是一种有序的集合,可以随时添加和删除其中的元素。故其特性与字符串是不同的。列表使用[]中括号表示

七、元组(tuple)

tuple和list非常类似,但是tuple一旦初始化就不能修改,故其特性与字符串是有相同之处。元组使用()圆括号表示

八、字典(dict)

dict,全称是dictionary,它具有极快的查找速度;字典是一种key-value的数据类型。即一个key对应一个value,在放进去的时候,必须根据key算出value的存放位置,这样,取的时候才能根据key直接拿到value。字典使用{}大括号表示

pen={
"num": 2,
"price": 1,
}
增加:pen['color']='blue'
修改:pen['num']=10
删除:pen.pop('price') #指定删除
   pen.popitem() #随机删除其中一个值
   del pen['price'] #使用del指定删除
查询:pen.get('num') #获取num的信息,这种方式如果key不存在的话,会返回None
   pen['num'] #获取num的信息,这种方式如果key不存在的话,会报错
   'num' in pen #判断num是否存在字典pen中,存在返回True,不存在返回False
字典其他操作方法:
print(pen.value()) #打印pen中所有的value值
print(pen.key()) #打印pen中所有的key值
print(pen.items()) #将字典中的数据转换为一个list并打印
pen.setdefault('color','blue') #如果这个key('color')已经存在字典pen中,则不做修改,不存在,则添加
pen2{'num':'10','color':'red'}
pen.update(pen2) #update中为另一个字典,如果pen2字典中有key存在pen字典中,则会更新对应的value值,不存在对应的key值,则会添加
循环操作字典:
(1)for k in pen:
    print(k,pen[k])#将pen中的key和value值依次循环打印出来
(2)for k,v in pen.items():
    print(k,v) #打印key和value的值,这种方式不推荐,因为会把字典转换成列表,相比于第一种方法效率不高
posted on 2018-03-25 22:29  快乐家人  阅读(159)  评论(0编辑  收藏  举报