二、Python 数据类型
计算机是用来辅助人类工作的,能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型,在程序设计中映射了现实世界的分类,以便于抽象的分析
序列:不是单一的数据类型,指列表,字符串,元组三个类型,可以通过索引操作符和切片操作符将序列部分项目取出。(Python中还包括其他三个类型的序列:Unicode字符串,buffer对象和xrange对象,在此先不讨论)
索引操作符可以从序列中取出特定的一个项目
切片操作符可以从序列中取出部分项目,即将序列切片
序列的基本操作:
len(): 获取序列的长度
>>>len('abc')
3
+: 序列的拼接
>>> "ab"+"cd"
'abcd'
*: 重复序列元素
>>>"#"*5
'#####'
in: 判断元素是否在序列中
>>>"aaa" in "aaabbb"
True
not in: 判断元素是否不在序列中
>>>"aaa" not in "aa"
True
max(): 取得序列中最大值
>>>max("")
''
min(): 取得序列中最小值
>>>mix("")
''
cmp(): 比较2个序列是否相同
>>>cmp("","")
1
>>>cmp("","")
-1
>>>cmp("","")
0
type():返回数据的类型
>>>type("abc")
<type 'str'>
>>>type(1)
<type 'int'>
在Python中,能够直接处理的数据类型有以下几种:
2.1 数值型
2.1.1 整型(int):范围-2147483648~2147483647
2.1.2 长整型(long)(L):比int范围更广
2.1.3 浮点型(float):小数
2.1.4 复数型(complex)(虚部j):
2.2 字符型
字符串是以''或""括起来的任意文本,定义时使用单引号与双引号将字符包起来,使用哪种符号没有任何区别;需要注意,''或""本身只是一种表示方式,不是字符串的一部分
如果字符中包括单引号或双引号,可以单引号和双引号交替使用,解释器会识别最开始的符号是单引号还是双引号,找到到与之匹配的最近的相同符号来结束,也可以使用"\"来转移使用符号本身。
>>>print 'a'
a >>>print "a"
a >>>print 'Tiven said "he will work hard."'
Tiven said "he will work hard." >>>print "Tiven said 'he will work hard.'"
Tiven said 'he will work hard.' >>>print "Tiven said \"he will work hard\""
Tiven said "he will work hard"
三重引号赋值("""...""")时则会将字符串以原始格式(或者是想要的显示格式)赋值,可以将格式化参数都保存下来,如我想输入一首古诗:
>>> stra="""
春晓
春眠不觉晓,处处闻啼鸟。
夜来风雨声,花落知多少。
"""
>>> print stra
春晓
春眠不觉晓,处处闻啼鸟。
夜来风雨声,花落知多少。
记录stra值的源码为’\t\t春晓\n春眠不觉晓,处处闻啼鸟。\n夜来风雨声,花落知多少。’
字符串可以通过索引(index从左向右从0开始定位,其实可以使用负数,但是不建议使用)取出每一个字符,取出两个或多个则可以使用stra[0]+stra[1],可以使用stra[开始index:结束index]需要注意结果不包括结束index位置的字符,开始index默认值为0,结束index默认值为字符最大index+1,也可以使用步长值,stra[::1]如果为1,则为一步一取,如果是2,则两步一取,如果是n则n步一取
如果想将取得的字符串反过来写,则可以使用负数的index和步长值
>>>strexample='thisisastr'
>>>strexample[0]
't'
>>>strexample[0:5]
'thisi'
>>>strexample[0:5:2]
'tii'
>>>strexample[-1:-5:-1]
'rtsa'
2.3 列表(list)
处理一组有序项目的数据结构,即可以在一个列表中存储一个序列的项目,列表是可变类型的数据(可以对列表中各项目进行重新赋值,在内存中的地址位不变,但是内容变)
列表通过"[]"中括号中用逗号分隔的项目定义(可以存储不同类型的值)
>>>list1=[1,2,3]
>>>list1=["","",""] #一般列表
>>>list1=[] #空列表
列表操作:
#查看取值(切片操作)
>>>list1=[1,2,3]
>>>list1[0]
1 #修改值
>>> list1[0]='list0'
>>> print list1
['list0', 2, 3] #增加值
>>> list1.append("")
>>> print list1
['list0', 2, 3, ''] #删除值
>>>list1.remove("")
>>>print list1
['list0', 2, 3]
>>>del(list[2])
['list0', 2] #查找值
>>>1 in list1
False #zip遍历两个列表
>>> list2=[1,2]
>>> zip(list1,list2)
[('list0', 1), (2, 2)]
2.4 元组(tuple)
元组和列表相似,元组和字符串一样,是不可变得即不能修改元组,在内存中定义,将地址为赋值于变量,内存中不变,变的只是地址位的引用。
元组通过"()"圆括号中用逗号分隔的项目定义(可以存储不同类型的值)
>>>userinfo=("Tiven",24,"male") #一般元组
>>>userinfo=() #空元组
>>>userinfo=("Tiven",) # 单元素元组
元组通常用在使语句或用户定义的函数能够安全的采用一组值得时候,即被使用的元组的值不会变
元组和字符串的区别为字符串中每个字符一个索引,而元组为每一个元素(项目)一个索引,元组中某个元素的值无法修改。
可以定义n个变量分别获取到元组中各个元素的值叫做元组的拆分,当然列表也是可以拆分的
>>> tuple1=('tuple',2)
>>> a,b=tuple1
>>> print a
tuple
>>> print b
2
2.5 字典
Python中唯一的映射类型(哈希表)字典对象是可变的,但是键(相当于索引,可以为变量)必须为不可变对象,可以使用不同类型的键值,无序性字段通过"{key:value,key1:value}"花括号中用逗号分隔的项目(key:value)定义(可以存储不同类型的值)
#定义:
>>> dic1={0:0,1:1,2:2}
>>> print dic1
{0: 0, 1: 1, 2: 2} >>> dic2={'name':'Tiven','age':24}
>>> print dic2
{'age': 24, 'name': 'Tiven'} >>> name='username'
>>> age='userage'
>>> dic3={name:"Tiven",age:24} #(name,age为变量)
>>> print dic3
{'username': 'Tiven', 'userage': 24} #使用工厂dict()
>>> dic1=dict(one=1, two=2)
>>> print dic1
{'two': 2, 'one': 1} >>> dic2=dict({'one': 1, 'two': 2})
>>> print dic2
{'two': 2, 'one': 1} >>> dic3=dict(zip(('one', 'two'), (1, 2)))
>>> print dic3
{'two': 2, 'one': 1} >>> dic4=dict([['two', 2], ['one', 1]])
>>> print dic4
{'two': 2, 'one': 1} #使用内建函数(字典中的元素具有相同的值,默认为None)
>>> dic1={}.fromkeys(('x','y'),-1)
>>> print dic1
{'y': -1, 'x': -1}
字典操作:
>>> dic={'name':'Tiven','age':24,'sex':'fale'}
>>> print dic
{'age': 24, 'name': 'Tiven', 'sex': 'fale'}
>>> dic.keys() #获取所有的键
['age', 'name', 'sex']
>>> dic.values() #获取所有的值
[24, 'Tiven', 'fale']
>>> dic.items() #获取所有的键值对(元素)
[('age', 24), ('name', 'Tiven'), ('sex', 'fale')]
>>> dic.get('age','not in')
24
>>> dic.get('age1','not in') #获取一个键,不存在则返回定义值
'not in'
#查看取值:
#直接使用key访问,
>>>dic['name']
'Tiven'
#for循环遍历
>>> for k in dic:
print k,dic[k]
age 24
name Tiven
sex fale
#增加:
>>> dic['tel']=''
>>> print dic
{'age': 24, 'tel': '', 'name': 'Tiven', 'sex': 'fale'}
#更新:
#可以直接使用key修改
>>> dic['age']=24.5
>>> print dic
{'age': 24.5, 'tel': '', 'name': 'Tiven', 'sex': 'fale'}
#update()方法可以将一个字典的内容拷贝到另一个字典中
>>> dic2={'email':'hjjtw@163.com'}
>>> dic.update(dic2)
>>> print dic
{'email': 'hjjtw@163.com', 'age': 24.5, 'tel': '', 'name': 'Tiven', 'sex': 'fale'}
#删除:
>>> dic.pop('email') #删除某个键的元素
'hjjtw@163.com'
>>> print dic
{'age': 24.5, 'tel': '', 'name': 'Tiven', 'sex': 'fale'}
>>> del(dic['tel']) #删除某个键的元素
>>> print dic
{'age': 24.5, 'name': 'Tiven', 'sex': 'fale'}
>>> dic.clear() #删除字典所有元素(空字典)
>>> print dic
{}
>>> del(dic) #>>> del(dic)
>>> print dic
Traceback (most recent call last):
File "<pyshell#141>", line 1, in <module>
print dic
NameError: name 'dic' is not defined
>>> print dic
Traceback (most recent call last):
File "<pyshell#141>", line 1, in <module>
print dic
NameError: name 'dic' is not defined 删除整个字典(没有字典)
另一种遍历:
>>> for k,v in dic.items():
print k,v
age 24
tel 17701301966
name Tiven
sex fale
2.6 布尔值
Python中除了''、""、0、()、[]、{}、None为False之外,其他的都是True
2.7 空值
空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
最后说明下:
以"#"开头的语句为注释,注释是给人看的,解释器会忽略不执行
当语句以冒号":"结尾时,缩进的语句视为代码块
Python程序是大小写敏感的,如果写错了大小写,程序会报错。
二、Python 数据类型的更多相关文章
- python学习笔记(二):python数据类型
上一篇博客写了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法.一.数据类型是什么鬼?计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各 ...
- python基础(二)-------数据类型
python开发基础篇(二)数据类型 python数据类型有: 1.数字 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 主要的分类为:整型,长整型,(python2有长整型的概念Pytho ...
- 二、Python数据类型(一)
一.Python的基本输入与输出语句 (一)输出语句 print() 示例: print('你好,Python') print(4+5) a = 10 print(a) 输出的内容可以是字符串,变量, ...
- 二: python基础数据类型(int,
一.什么是数据类型?2018-12-20 20:57:3õ # (3) num = 0 while num < 10: num += 1 if num == 7: num += 1 # 7执 ...
- python基础3 ---python数据类型二
ython基础 一.python数据类型 ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...
- Python 数据类型常用的内置方法(二)
目录 Python 数据类型常用的内置方法(二) 1.字符串类型常用内置方法 1.upper.lower.isupper.islower 2.startswith.endswith 3.format ...
- Python数据类型及其方法详解
Python数据类型及其方法详解 我们在学习编程语言的时候,都会遇到数据类型,这种看着很基础也不显眼的东西,却是很重要,本文介绍了python的数据类型,并就每种数据类型的方法作出了详细的描述,可供知 ...
- Python数据类型和数据操作
python数据类型有:int,float,string,boolean类型.其中string类型是不可变变量,用string定义的变量称为不可变变量,该变量的值不能修改. 下面介绍python中的l ...
- Python数据类型(python3)
Python数据类型(python3) 基础数据类型 整型 <class 'int'> 带符号的,根据机器字长32位和64位表示的范围不相同,分别是: -2^31 - 2^31-1 和 - ...
- Python数据类型的内置函数之tuple(元组),dict(字典),set(集合)
Python数据类型内置函数 - str(字符串) - list(列表) - tuple(元组) - dict(字典) - set(收集) tuple(元组)的操作 - (count)统计元组中元素出 ...
随机推荐
- Java-坦克大战
利用Java语言中的集合.Swing.线程等知识点编写一个坦克大战游戏.(1) 画出敌我坦克的原理:在坦克类里面有一个布尔类型变量good.用于判断坦克的阵营,在创建坦克对象时在Tank类的构造方法中 ...
- JS高级程序设计 笔记
1.instanceof 可以判断实例是否在某个对象的原型上: function A() { this.a = "a"; } function B() { this.b = &qu ...
- Javascript运用函数计算正方形的面积
<html> <head> <meta http-equiv="Content-Type" content="text/html; char ...
- nginx ssl 更换问题
公司之前使用的是免费startssl证书,听说IOS 以后不信任这些免费的验证不严格的证书,公司果断购买了一个统配域名证书,其实不用貌似也没什么事,主要是提交app的时候得说明理由,被拒的可能性比较大 ...
- 事件委托和JQ事件绑定总结
事件委托: 比喻:事件委托的事例在现实当中比比皆是.比如,有三个同事预计会在周一收到快递.为签收快递,有两种办法:一是三个人在公司门口等快递:二是委托给前台MM代为签收.现实当中,我们大都采用委托的方 ...
- (译)关于async与await的FAQ
传送门:异步编程系列目录…… 环境:VS2012(尽管System.Threading.Tasks在.net4.0就引入,在.net4.5中为其增加了更丰富的API及性能提升,另外关键字”async” ...
- Docker安装ruby2.1
# sudo apt-get install Python-software-properties# sudo apt-add-repository ppa:brightbox/ruby-ng# su ...
- CentOS 6.3 安装过程
1.放入光盘 2.安装欢迎界面 进入安装欢迎界面,有四个选项: 1.“Install or upgrade an existing system”:安装或升级现有系统 2. “Install syst ...
- java归并排序,单线程vs多线程
一.什么是归并排序 归并排序又称合并排序,它是成功应用分治技术的一个完美例子.对于一个需要排序的数组A[0..n-1],归并排序把它一分为二:A[0..n/2-1]和A[n/2..n-1],并对每个子 ...
- spring cloud资料
https://segmentfault.com/a/1190000006216281 http://git.oschina.net/zhou666/spring-cloud-7simple zuul ...