二、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)统计元组中元素出 ...
随机推荐
- C#Winform窗体中传值
在窗体Form2中定义公有属性Form2Value,获取和设置textBox1的文本值 并且还定义一个accept事件 public string Form2Value { get { return ...
- sql server 查询表结构
--查询表结构start SELECT 序号 = a.colorder,字段名称 = a.name,字段描述 = f.value, 标识 then '√' else '' end, 主键 FROM s ...
- CSS伪类和伪元素
一.伪类 CSS伪类用于向某些选择器添加特殊的效果,在W3规范中,CSS伪类有如下几个: CSS2.1 :active:向被激活的元素添加样式(激活是指点击鼠标那一下) :focus:向拥有键盘输入焦 ...
- DBUTIL 调用存储过程例子
执行存储过程和执行select查询相比,无非就是SQL语句不同.下面是一个用存储过程查记录的例子.根据你的数据库不同和域对象不同,此代码要修改 Java code ? 1 2 3 4 5 Quer ...
- web开发必备插件
文本编辑器百度ueditor:http://ueditor.baidu.com/website/
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第三组
七:终端风险管理-必选但包含可选步骤异常文件:终端检查应用主账号是否在异常文件列表(卡号黑名单)中.商户强制联机:商户可以将当前交易强制为联机处理.最低限额:控制交易当前交易金额或同一张卡片连续几笔交 ...
- cmd命令行提示符
cd..用来返回上层到目录 cd download(某一具体文件夹)进入此文件夹中的一个文件夹 进入命令行时直接输入D: 进入D盘 dir 显示文件目录
- 理解tcp协议的3次握手和面向连接
1.tcp是有连接的, 这个不是说他有个实际的连接,这个是个虚拟的连接,连接的保持信息不是由连接的路线来保存的,他是由连接的两方来保存其状态信息,这就是面向连接的, 2.tcp要3次握手: 客户端发给 ...
- 整合TabBarController与NavigationController
一.项目结构 一开始创建一个空的项目
- javadoc相关问题
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...