Python开发【1.4数据类型】
1、数字
数字数据类型用于存储数值。
他们是不可改变的数据类型,这意味着改变数字数据类型会分配一个新的对象。
# 创建对象
var1 = 1
var2 = 2 # 删除对象
del var1
del var1,var2
四种不同的数字类型:
int(有符号整型)
long(长整型[也可以代表八进制和十六进制])
float(浮点型)
complex(复数)
2、字符串
字符串是由数字、字母、下划线组成。
str = 'Hello World' print(str) #输出完整字符串
print(str[0]) #输出字符串中的第一个字符
print(str[2:5]) #输出字符串中第三个至第五个之间的字符
print(str[2:]) #输出从第三个开始到最后的字符串
print(str*2) #输出字符串两次
print('say: ' + str) #输出连接的字符串
转义字符:
\n
表示换行,\t
表示制表符;字符\
本身也要转义,\\
表示的字符就是\
如果字符串里面有很多字符都需要转义,就需要加很多\
,为了简化,Python还允许用r''
表示''
内部的字符串默认不转义
如果字符串内部有很多换行,用\n
写在一行里不好阅读,为了简化,Python允许用'''...'''
的格式表示多行内容
3、列表
1、特点:可重复,类型可不同
2、列表操作
列表定义
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
列表元素访问
# 打印第一个元素
print name[0] # 打印最后一个元素
print name[-1]
切片
# 定义1个列表
names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"] # 取索引1到4的元素,包含1,不包含4
names[1:4] #取索引0到3的元素
names[:3] # 取索引3到最后1个元素
names[3:] # 每隔1个元素,取1个元素
names[0::2]
names[::2]
追加元素
# 在列表结尾追加元素
names.append("Mrli") 执行结果:
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy', 'Mrli']
插入元素
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy'] #在索引为2的元素前增加新的元素
names.insert(2,"Mrli") 执行结果:
['Alex', 'Tenglan', ‘Mrli’,'Eric', 'Rain', 'Tom', 'Amy']
修改元素
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy'] # 替换索引为2的元素
names[2] = 'Mrli' 执行结果:
['Alex', 'Tenglan', ‘Mrli’, 'Rain', 'Tom', 'Amy']
删除元素
# 根据索引删除对应元素
del names[2] 执行结果:
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
#删除指定元素
names.remove("Eric") 执行结果:
['Alex', 'Tenglan', 'Rain', 'Tom', 'Amy']
# 删除列表的最后一个元素
names.pop() 执行结果:
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom']
扩展
names2 = ['小李',‘小张’]
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy']
print names.extend(names2) 执行结果:
['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
排序&翻转
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.sort()
>>> names
['Alex', 'Amy', 'Eric', 'Rain', 'Tenglan', 'Tom', '小张', '小李'] >>> names.reverse() #反转
>>> names
['小张', '小李', 'Amy', 'Tom', 'Rain', 'Eric', 'Tenglan', 'Alex']
下标获取
names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.index("Amy") >>> 5
元素统计
count() 方法用于统计某个元素在列表中出现的次数 names = ['Alex', 'Tenglan', 'Eric', 'Rain', 'Tom', 'Amy','小李',‘小张’]
names.count("Alex")
>>> 1
4、元组
1、特点:有序集合,不可变对象
2.元组操作:
# 元组定义
names = ("alex"
,
"jack"
,
"eric")
#获取下标
names.index("jack")
>>> 1 #统计元素出现次数
names.count("jack")
>>> 1
5、字典
1.特点:dict是无序的,key是唯一的
2.字典操作
字典定义
info = {
'stu1101': "TengLan Wu",
'stu1102': "LongZe Luola",
'stu1103': "XiaoZe Maliya",
}
增加字典元素
info["stu1104"] = "xiaozhang"
>>> info
>>> {
'stu1102': 'LongZe Luola',
'stu1104': 'xiaozhang',
'stu1103': 'XiaoZe Maliya',
'stu1101': 'TengLan Wu'
}
删除字典元素
info = {'stu1102': 'LongZe Luola','stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliya','stu1101': 'TengLan Wu'}
# 删除字典元素
info.pop["stu1101"]
执行结果:
{'stu1102': 'LongZe Luola','stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} del info[“stu1102”]
执行结果:
{'stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} # 随机删除字典元素
info.popitem()
执行结果:
{'stu1104': 'xiaozhang'}
修改字典元素
info = {'stu1104': 'xiaozhang','stu1103': 'XiaoZe Maliinfo} info[stu1104] = "小张"
查找字典元素
info = {'stu1102': 'LongZe Luola', 'stu1103': 'XiaoZe Maliya'} "stu1102" in info
>>> True info.get("stu1102")
>>> 'LongZe Luola' info["stu1102"]
>>> 'LongZe Luola'
dict循环
#方法1
for key in info:
print(key,info[key]) #方法2
for k,v in info.items(): #会先把dict转成list,数据里大时莫用
print(k,v)
6、集合
1.特点:无序的,不重复的数据组合
2.集合操作
集合关系测试
# 创建一个数值集合
s = set([3,5,9,10]) # 创建一个唯一字符的集合
t = set("Hello") a = t | s # t和s的并集
b = t & s # t和s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
成员关系测试
x in s
测试 x 是否是 s 的成员 x not in s
测试 x 是否不是 s 的成员 s.issubset(t)
s <= t
测试是否 s 中的每一个元素都在 t 中 s.issuperset(t)
s >= t
测试是否 t 中的每一个元素都在 s 中
其他操作
s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t)
s & t
返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t)
s - t
返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t)
s ^ t
返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy()
返回 set “s”的一个浅复制 t.add('x')
添加一项
s.update([10,37,42])
在s中添加多项 t.remove('H')
使用remove()可以删除一项: len(s)
set 的长度
7、动态语言与静态语言
动态语言:变量本身类型不固定的语言
静态语言:在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错
int a = 123; // a是整数类型变量
a = "ABC"; // 错误:不能把字符串赋给整型变量
Python开发【1.4数据类型】的更多相关文章
- python开发基础之数据类型、字符编码、文件操作
一.知识点 1.身份运算: 2.现在计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码.用记事本编辑的时候,从文件 ...
- Python开发——2.基本数据类型之数字和字符串
一.基本数据类型 基本数据类型包括:数字(int).字符串(str).列表(list).元祖(tuple).字典(dict).布尔值(bool). 查看输出数据的类型 a = "123&qu ...
- Python开发——3.基本数据类型之列表、元组和字典
一.列表(list) 1.列表的格式 li = [11,22,"kobe",["lakers","ball",11],(11,22,),{& ...
- 【Python开发】查看数据类型
import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...
- Python开发基础之Python常用的数据类型
一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...
- Python开发的入门教程(一)-数据类型、变量
介绍 Python第一门课程,是Python开发的入门教程,将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列表生成式. Pyth ...
- Python开发【前端】:JavaScript
JavaScript入门 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...
- Python开发【第六篇】:模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Python开发【第二十篇】:缓存
Python开发[第二十篇]:缓存redis&Memcache 点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy ...
随机推荐
- Java IO(三)--字节流基本使用
I/O流分类: InputStream和Read的子类都有read(),用来读取单个字节或字节数组 OutputStream和write的子类都有write(),用来写入单个字节或字节数组 一般都是通 ...
- vue工厂化完整项目目录
- BZOJ4832: [Lydsy1704月赛]抵制克苏恩 (记忆化搜索 + 概率DP)
题意:模拟克苏恩打奴隶战对对方英雄所造成的伤害 题解:因为昨(今)天才写过记忆化搜索 所以这个就是送经验了 1A还冲了个榜 但是我惊奇的发现我数组明明就比数据范围开小了啊??? #include &l ...
- js-时间戳转字符串
function createTime(v){ var now = new Date(v); var yy = now.getFullYear(); //年 var mm = now.getMonth ...
- Yahoo前端优化的35条军规
摘要:无论是在工作中,还是在面试中,web前端性能的优化都是很重要的,那么我们进行优化需要从哪些方面入手呢?可以遵循雅虎的前端优化34条军规,不过现在已经是35条了,所以可以说是雅虎前端优化的35条军 ...
- buf.slice()
buf.slice([start[, end]]) start {Number} 默认:0 end {Number} 默认:buffer.length 返回:{Buffer} 返回一个指向相同原始内存 ...
- RNNCell使用
目录 Recap input dim, hidden dim SimpleRNNCell Single layer RNN Cell Multi-Layers RNN RNN Layer Recap ...
- 集训第四周(高效算法设计)K题 (滑窗问题)
UVA 11572 唯一的雪花 题意:给你从1到n的数组,要求求得其中的最长连续不重复子序列,经典的滑窗问题,方法是维护一个窗口,设置左框和右框,然后不断的进行维护和更新 方法一: #include& ...
- iar修改包含路径的方法
- BNUOJ 6023 畅通工程续
畅通工程续 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Original ID: 1874 ...