1.5 Python的数值和字符串 123和”123”一样吗? 带引号的是字符串 不带引号的是数值

Python数据类型 数值 字符串 列表 元组 字典

数值类型 - 整型 整型int可以存储2^32个数字,范围-2,147,483,648到2147483647 例如:0,100,-100 - 长整型 Long的范围很大,几乎可以说任意大的整数均可以存储。 为了区分普通整型,需要在整数后加L或l。 例如: 2345L,0x34al

- 浮点型    带小数点,科学
   例如:0.0,12.0,-18.8,3e+7等
  • 复数型 Python对复数提供内嵌支持,这是其他大部分软件所没有的。 复数例子:- 3.14j,8.32e-36j

num = 3.14j type(num) <type 'complex'>

num 3.1400000000000001j

print num 3.14j

字符串类型--string 有三种方法定义字符串类型 单引号 双引号 在python中没有任何区别 - str = ‘this is a string’ - str = “this is a string” - str = ‘’’this is a string’’’ 可以是三个单引号活着是三个双引号 不能混合 比如In [24]: a= '''hello ....: world'''

三重引号(docstring)除了能定义字符串还可以用作注释。

字符串是一个序列,可以通过索引和切片来操作字符串 字符串索引 字符串是序列,可以通过索引取每个字符 - str = ‘abcde’ - str[0] + str[1] 字符串切片 >>> str[1:3] 'bc' >>> str[:3] 代表从头开始取 取到3 'abc' >>> str[3:] 'de' >>> str[::1] 1代表步进值 隔一个数取一个 'abcde' >>> str[::2] 2代表隔2个数取一个 'ace‘ >>> str[-1] 'e' >>> str[-4:-1] 'bcd‘ >>> str[-2:-4:-1] 从倒数第二个开始取 取到倒数第四 -1表示从右到左取 'dc' 后期讲的元组和序列都适用这种切片

1.6 元组 元组属于序列的一种 字符串、列表和元组都是序列 序列的两个主要特点是索引操作符和切片操作符 - 索引操作符让我们可以从序列中抓取一个特定项目 - 切片操作符让我们能够获取序列的一个切片,即一部分序列。

序列的基本操作

  1. len(): 求序列的长度
  2. +: 连接2个序列 a+'f' 字符串a加上f 组成一个新的字符串 这里必须加引号 否则报错
  3. : 重复序列元素 a10 把a这个字符串重复10次 *后必须是数值 否则报错
  4. in: 判断元素是否在序列中 返回布尔值 not in : 判断元素是否不在序列中
  5. max(): 返回最大值 max(a)
  6. min(): 返回最小值
  7. cmp(x, y):比较两个序列是否相等 返回0说明相等 返回-1 表示x<y 返回1表示x>y

元组() 元组用括号定义 元组和列表十分相似 元组和字符串一样是不可变的 - 元组可以存储一系列的值 - 元组通常用在用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变。元组通常可以接收函数的返回值

创建元组 t= () t=(1,) 如果只有一个元素必须要加逗号 否则会认为是字符串或者是数字 t=(1,'d',(1,)) 也可以在元组里存放另外一个元组, 在内部嵌套括号 t = (‘james’, ‘M’) 也可以存放字符串

元组操作 - 元组和字符串一样属于序列类型,可以通过索引和切片操作 a[1] :访问下表为1的元组元素 - 元组值不可变 元组的拆分 - t = (1,2,3) a, b, c = t 将元组t中的值赋值给a b c三个变量 也就是a b c 接受元组的三个数值 t=(a,'b','c') a不加引号代表的是一个变量,用变量的值代替第一个元素 t.count(value) T.count(value) -> integer -- return number of occurrences of value 如果value是元素中的值 则返回一个整数 是返回1 不是返回0 t.index(value) 返回元组值的索引

1.7 列表 2.列表也是序列的一种 列表(list)是处理一组有序项目的数据结构,即可以在列表中存储一个序列的项目。 列表是可变类型的数据,可以增加,也可以删除 创建列表 - list1 = [] 创建一个空的列表 - list2 = list() 通过list函数创建一个空列表 - list3 = [‘a’,1,2] 创建列表的时候赋值 list3=['a',1,(1,),['hello','python']] 列表内的元素值也可以是字符串,数值,元组或者列表 len(list3) 返回列表的长度 list3[0]='n' 给列表中的某个元素重新赋值

列表操作 - 取值 切片和索引 - 添加 list.append() 默认添加到最后一个元素 list1 + list2 将2个列表的元素重新组合成一个新的列表

- 删除
    del list[]
    list.remove(list[]) 删除第一个出现的值  如果值不存在,则抛出没有这个值的异常 ValueError
- 修改
    list[] = x
- 查找
    var in list   查找某个元素是否在列表里

In [24]: 'a' in list3 a是否在list3列表里 Out[24]: False 返回false

list.insert() 插入元素 ,和append相似 insert(...) L.insert(index, object) -- insert object before index 在index索引之前插入object元素对象

list.sort() 给列表排序 没有参数 a.sort() 给列表a 排序 默认是升序 list.reverse() 列表反序排序 list.pop([index]) 默认删除最后一个元素 并返回删除的元素值

list.extend() extend(...) iterable 可迭代的对象 L.extend(iterable) -- extend list by appending elements from the iterable 把可迭代的对象追加到列表里 例如: range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] a.extend(range(10)) a [1, 3, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

字符串 元祖 列表 都是可迭代的 凡是可迭代的都可以通过for循环去访问