python中的变量和数据类型

Posted 深梦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python中的变量和数据类型相关的知识,希望对你有一定的参考价值。

一、变量定义:变量是计算机内存中的一块区域,存储规定范围内的值,值 可以改变,通俗的说变量就是给数据起个名字。

二、变量命名规则:

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() 比较两个序列

以上是关于python中的变量和数据类型的主要内容,如果未能解决你的问题,请参考以下文章

Python变量和数据类型

Python变量和数据类型简介

Python基本数据类型

python中变量的引用、可变和不可变类型、局部变量和全局变量

python中的变量和数据类型

python基本数据类型