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数据类型】的更多相关文章

  1. python开发基础之数据类型、字符编码、文件操作

    一.知识点 1.身份运算: 2.现在计算机系统通用的字符编码工作方式:在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码.用记事本编辑的时候,从文件 ...

  2. Python开发——2.基本数据类型之数字和字符串

    一.基本数据类型 基本数据类型包括:数字(int).字符串(str).列表(list).元祖(tuple).字典(dict).布尔值(bool). 查看输出数据的类型 a = "123&qu ...

  3. Python开发——3.基本数据类型之列表、元组和字典

    一.列表(list) 1.列表的格式 li = [11,22,"kobe",["lakers","ball",11],(11,22,),{& ...

  4. 【Python开发】查看数据类型

    import types aaa = 0 print type(aaa) if type(aaa) is types.IntType: print "the type of aaa is i ...

  5. Python开发基础之Python常用的数据类型

    一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...

  6. Python开发的入门教程(一)-数据类型、变量

    介绍 Python第一门课程,是Python开发的入门教程,将介绍Python语言的特点和适用范围,Python基本的数据类型,条件判断和循环,函数,以及Python特有的切片和列表生成式. Pyth ...

  7. Python开发【前端】:JavaScript

    JavaScript入门 JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本 ...

  8. Python开发【第六篇】:模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  9. python开发学习-day01 (python安装与版本、字符串、字典、运算符、文件)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...

  10. Python开发【第二十篇】:缓存

    Python开发[第二十篇]:缓存redis&Memcache   点击这里 Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy ...

随机推荐

  1. 打印出A到Z的所有字符,使用char和int转换

    public class Demo14{ //A到Z的所有字符,使用char和int转换 public static void main(String[] args) { for(int i = 65 ...

  2. h5开发app,移动端 click 事件响应缓慢的解决方案

    造成点击缓慢的原因 从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间.为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作. 使用 ...

  3. BZOJ4318: OSU! (概率DP)

    题意:一个串 给出每个字符为1的可能性 否则为0 一段连续的1能获得长度的立方的收益 问总收益的期望 题解:设x_i为到第i位时连续的1的期望长度 由i-1递推来的贡献 如果这一位是0没有贡献 如果是 ...

  4. https://blog.csdn.net/blmoistawinde/article/details/84329103

    背景    很多场景需要考虑数据分布的相似度/距离:比如确定一个正态分布是否能够很好的描述一个群体的身高(正态分布生成的样本分布应当与实际的抽样分布接近),或者一个分类算法是否能够很好地区分样本的特征 ...

  5. Redux的中间件Middleware不难,我信了^_^

    Redux的action和reducer已经足够复杂了,现在还需要理解Redux的中间件.为什么Redux的存在有何意义?为什么Redux的中间件有这么多层的函数返回?Redux的中间件究竟是如何工作 ...

  6. POJ 1637 Sightseeing tour 建图+网络流

    题意: 给定一个混合图,所谓混合图就是图中既有单向边也有双向边,现在求这样的图是否存在欧拉回路. 分析: 存在欧拉回路的有向图,必须满足[入度==出度],现在,有些边已经被定向,所以我们直接记录度数即 ...

  7. ehcache的学习笔记(一)

    学习ehcache文档: 介绍:Ehcache是一个开源的项目,用来提高性能的基于标准化的缓存,无需使用数据库,简化了可扩展性.他是最广泛使用的基于java的缓存,因为他是强壮的,被证实的,功能全面的 ...

  8. js 技巧 (十)广告JS代码效果大全 【2】

    2.[鼠标感应]     与前面一个代码不同的是,当鼠标移动到广告图片上是可以感应显示另外设置好的广告大图效果,下面就是实现效果所需代码: function bigshow(){     docume ...

  9. js 技巧 (五)

    //设置光标位置 function getCaret(textbox) { var control = document.activeElement; textbox.focus(); var ran ...

  10. (蓝桥杯)2018JAVA B组 日志分析

    日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞". ...