一、变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。
二、变量命名规则:
1. 变量名由字母、数字、下划线组成
2. 数字不能开头
3. 不可以使用关键字, 举例:a,a1,a_1
三、变量的赋值:
1. Python中的变量不需要声明,变量的赋值就是变量声明和 定义的过程;
2. 每个变量在使用前都必须赋值,变量赋值以后该变量才会 被创建;
3. 等号(=)用来给变量赋值,等号(=)运算符左边是一个 变量名,等号(=)运算符右边是存储在变量中的值。 举例:a=1
四、多个变量赋值:
Python允许同时为多个变量赋值。
例如:a = b = c = 1 也可以为多个对象指定多个变量。
例如:a2,b2,c2 = "zz",18,1
五、变量分类:
1. 不可变变量:数字、元组()、字符串 (值变的时候会指向一个新的地址)
2. 可变变量:列表[]、字典{} (值变,id不变)
六、标准数据类型:
Numbers(数字):整形、长整形(123L,超出int自动转成 long)、浮点型、复数型(a=1j)
String(字符串):" " ' ' """ """
List(列表):[],值可变
Tuple(元组):(),值不可变
Dictionary(字典):{}
6.1、数字类型:Number
数字数据类型用于存储数值。是不可改变的数据类型(不可变 变量),这意味着改变数字数据类型会分配一个新的对象。 当指定一个值时,Number对象就会被创建:num = 123 Python支持四种不同的数字类型:
1. int(有符号整型)
2. long(长整型[也可以代表八进制和十六进制])
3. float(浮点型)
4. complex(复数)
6.2、字符串:String
字符串(String)是由数字、字母、下划线组成的一串字符。
加号(+)是字符串连接运算符,星号(*)是重复操作。
6.3、字符串格式化:
Python 支持格式化字符串的输出 。
最基本的用法是将一个值插入到一个有字符串格式符 %s 的字 符串中。
例如:
6.4、list:列表
列表可以完成大多数集合类的数据结构实现。 它支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
加号(+)是列表连接运算符,星号(*)是重复操作。
常见列表操作:
list.append(obj) 在列表末尾添加新的对象
list.insert(index, obj) 将对象插入列表
list.index(obj) 从列表中找出某个值第一个匹配项的索引位置
list.count(obj) 统计某个元素在列表中出现的次数
list.extend(seq) 在列表末尾一次性追加另一个序列中的多个值(用 新列表扩展原来的列表)
del(list[index]) 删除某个元素
list.remove(obj) 删除第一个匹配的元素
list.pop(index) 移除列表中的一个元素(默认最后一个元素),并 且返回该元素的值
list.sort() 对原列表进行排序
list.reverse() 反向列表中元素
6.5、元祖:Tuple
元组用"()"标识,类似于List(列表),但是元组是不可变变量,元素不能二 次赋值,相当于只读列表。
如下实例:
>>> list=[1,2,3]
>>> tuple=(4,5,6)
>>> list[0]=10
>>> list [10, 2, 3]
>>> tuple[0]=40
Traceback (most recent call last):
File "<pyshell#26>", line 1, in <module>
tuple[0]=40
TypeError: 'tuple' object does not support item assignment
6.6、dictionary:字典
字典由索引(key)和它对应的值(value)组成,字典是Python唯一的映射类型。
字典也被称作关联数组或哈希表。
keys() 返回键列表,values() 返回值列表,items() 返回键值对的元组,has_key(key) 返回是否含有该key。
两个重要的点需要记住:
1.字典中的键必须独一无二,但值则不必。创建时如果同一个键被赋值两次,后一个值会被记住;
2. 键必须不可变,可以用数字,字符串或元组充当,但是不可以用列表。
创建字典的两个方法:
1. 使用工厂方法dict()创建字典:
例:
2. 内建方法fromkeys(),字典中的元素具有相同的值,默认 为None
例:
查看遍历字典
查看字典中的值:
1. dict[key]
2. dict.get(key,value)
两种遍历字典的方法:
1. for key in dict:
print key, dict[key]
2. for key, value in dict.items():
print key, value
增改删字典:
dict[key]=value#无该key增加,有则更新该key对应的value
dict1.update(dict2) #更新dict2到dict1,无则添加,重复则覆盖
dict.pop(key)#删除指定的键值,返回对应的值
dict.clear() #清空字典
del dict #彻底删除
7、json模块
http://wthrcdn.etouch.cn/weather_mini?city=北京
通过城市名称,获得天气数据
import json
json.dumps() #编码,字典转成字符串
json.loads() #解码,字符串转成字典
8、数据类型转换
- 字典可转换为字符串、元组、列表
方式str(dict)、tuple(dict)、list(dict)
- 元组转换为字符串、列表
如:t=(1,2,3)
转换成字符串:t.__str__()
转换成列表:list(t)
- 列表转换为字符串、元组
- 字符串转换为元组、列表、字典
转为元组和列表:
转为字典:
9、序列操作
序列包括:字符串、列表、元组 序列的两个特征是“索引”和“切片” 索引,根据index获取特定元素 切片,获取序列片段
序列操作应用:
最后举个工作中用到的小例子,数据存在一个列表中,如:
list=['23.34%','30.88%','15.90%'] 需要取列表中的值与已知数据进行大小比较,为了方便比较, 想到先去掉最后的%,然后将字符串转换成float,用切片很 容易实现: >>> list=['23.34%','30.88%','15.90%']
>>> float(list[0][:-1])
23.34
常见序列操作:
len() 求长度
+ 连接两个序列
* 重复序列元素
in 判断元素是否在序列中
max() 返回最大值
min() 返回最小值
cmp() 比较两个序列