Python变量和数据类型详解


Posted in Python onFebruary 15, 2017

Python 变量类型   

   变量存储在内存中的值。这就意味着在创建变量时会在内存中开辟一个空间。

   基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。

   因此,变量可以指定不同的数据类型,这些变量可以存储整数,小数或字符。

变量赋值

   Python 中的变量赋值不需要类型声明。

   每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

   每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

   等号(=)用来给变量赋值。

   等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。例如:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
 
print(counter)
print(miles)
print(name)

以上实例中,100,1000.0和"John"分别赋值给counter,miles,name变量。

执行以上程序会输出如下结果:

100
1000.0
John

多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1

以上实例,创建一个整型对象,值为1,三个变量被分配到相同的内存空间上。

您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "john"

以上实例,两个整型对象1和2的分配给变量 a 和 b,字符串对象 "john" 分配给变量 c。

注意:

以下关键字不能声明为变量:

and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield、id

Python中数据类型

一、整数

int = 20
print int
print 45678 + 0x12fd2

二、浮点数

float = 2.3
print float

三、字符串

a、使用单引号(')
用单引号括起来表示字符串,例如:

str = 'this is string'
print str

b、使用双引号(")
双引号中的字符串与单引号中的字符串用法完全相同,例如:

str = "this is string";
print str

c、使用三引号(''')
利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:

str = '''this is string
this is pythod string
this is string'''
print str

四、布尔值

and:与运算,只有所有都为True,and运算结果才是True。
or:或运算,只要其中有一个为True,or运算结果就是True。
not:非运算,它是一个单目运算符,把True变成False,False 变成True。

bool = False
print bool
bool = True
print bool

五、空值

空值是Python里一个特殊的值,用None表示。
None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

六、列表

# -*- coding:utf-8 -*-

lst = ['A', 'B', 1996, 2017]
nums = [1, 3, 5, 7, 8, 13, 20]

# 访问列表中的值
print "nums[0]:", nums[0] # 1
print "nums[2:5]:", nums[2:5] # [5, 7, 8]
print "nums[1:]:", nums[1:] # [3, 5, 7, 8, 13, 20]
print "nums[:-3]:", nums[:-3] # [1, 3, 5, 7]
print "nums[:]:", nums[:] # [1, 3, 5, 7, 8, 13, 20]

# 更新列表
nums[0] = "ljq"
print nums[0]

# 删除列表元素
del nums[0]
'''nums[:]: [3, 5, 7, 8, 13, 20]'''
print "nums[:]:", nums[:]

# 列表脚本操作符
print len([1, 2, 3]) # 3
print [1, 2, 3] + [4, 5, 6] # [1, 2, 3, 4, 5, 6]
print ['Hi!'] * 4 # ['Hi!', 'Hi!', 'Hi!', 'Hi!']
print 3 in [1, 2, 3] # True
for x in [1, 2, 3]:
  print x, # 1 2 3

# 列表截取
L = ['spam', 'Spam', 'SPAM!']
print L[2] # 'SPAM!'
print L[-2] # 'Spam'
print L[1:] # ['Spam', 'SPAM!']

# 列表函数&方法
lst.append('append') # 在列表末尾添加新的对象
lst.insert(2, 'insert') # 将对象插入列表
lst.remove(1996) # 移除列表中某个值的第一个匹配项
lst.reverse() # 反向列表中元素,倒转
print lst.sort() # 对原列表进行排序
print lst.pop(1) # 移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
print lst
print lst.count('obj') # 统计某个元素在列表中出现的次数
lst.index('append') # 从列表中找出某个值第一个匹配项的索引位置,索引从0开始
lst.extend(lst) # 在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
print 'End:', lst

七、字典
字典(dictionary)是除列表之外python中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

# -*- coding:utf-8 -*-

dit = {'name': 'Zara', 'age': 7, 'class': 'First'}
dict1 = {'abc': 456}
dict2 = {'abc': 123, 98.6: 37}
seq = ('name', 'age', 'sex')
# 访问字典里的值
print "dit['name']: ", dit['name']
print "dit['age']: ", dit['age']

# 修改字典
dit["age"] = 27 # 修改已有键的值
dit["school"] = "wutong" # 增加新的键/值对
print "dict['age']: ", dit['age']
print "dict['school']: ", dit['school']

# 删除字典
del dit['name'] # 删除键是'name'的条目
dit.clear() # 清空词典所有条目
del dit # 删除词典

dit = {'name': 'Zara', 'age': 7, 'class': 'First'}

# 字典内置函数&方法
cmp(dict1, dict2) # 比较两个字典元素。
len(dit) # 计算字典元素个数,即键的总数。
str(dit) # 输出字典可打印的字符串表示。
type(dit) # 返回输入的变量类型,如果变量是字典就返回字典类型。
dit.copy() # 返回一个字典的浅复制
dit.fromkeys(seq) # 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
dit.get(dit['name']) # 返回指定键的值,如果值不在字典中返回default值
dit.has_key('class') # 如果键在字典dict里返回true,否则返回false
dit.items() # 以列表返回可遍历的(键, 值) 元组数组
dit.keys() # 以列表返回一个字典所有的键
dit.setdefault('subject', 'Python') # 和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
dit.update(dict2) # 把字典dict2的键/值对更新到dict里
dit.values() # 以列表返回字典中的所有值
dit.clear() # 删除字典内所有元素

八、元祖

Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改;元组使用小括号(),列表使用方括号[];元组创建很简单,只需要在括号中添加元素,并使用逗号(,)隔开即可.

# -*- coding:utf-8 -*-

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"

# 访问元组
print "tup1[0]: ", tup1[0] # physics
print "tup1[1:3]: ", tup1[1:3] # ('chemistry', 1997)

# 修改元组
tup4 = tup1 + tup2
print tup4 # (12, 34.56, 'abc', 'xyz')

# 删除元组
tup = ('tup3', 'tup', 1997, 2000)
print tup
del tup

# 元组索引&截取
L = ('spam', 'Spam', 'SPAM!')
print L[0] # spam
print L[1] # Spam
print L[2] # 'SPAM!'
print L[-2] # 'Spam'
print L[1:] # ['Spam', 'SPAM!']

# 元组内置函数
print cmp(tup3, tup2) # 比较两个元组元素。
len(tup3) # 计算元组元素个数。
max(tup3) # 返回元组中元素最大值。
min(tup3) # 返回元组中元素最小值。
L = [1, 2, 3, 4]
print L
print tuple(L) # 将列表转换为元组。

九、定义字符串

\n 表示换行
\t 表示一个制表符
\\ 表示 \ 字符本身

十、Unicode字符串

Python默认编码ASCII编码

# -*- coding: utf-8 -*-

十一、数字类型转换

int(x [,base]) 将x转换为一个整数
float(x ) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象x转换为字符串
repr(x) 将对象x转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列s转换为一个元组
list(s) 将序列s转换为一个列表
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

三水点靠木小编特从多篇文章整理结合,刚好一起学习python。

Python 相关文章推荐
为python设置socket代理的方法
Jan 14 Python
浅谈python中的变量默认是什么类型
Sep 11 Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 Python
TensorFlow搭建神经网络最佳实践
Mar 09 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
mac下如何将python2.7改为python3
Jul 13 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
Python有参函数使用代码实例
Jan 06 Python
keras 如何保存最佳的训练模型
May 25 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
python 模拟登陆github的示例
Dec 04 Python
Python爬虫基础之初次使用scrapy爬虫实例
Jun 26 Python
Django学习笔记之Class-Based-View
Feb 15 #Python
关于Python面向对象编程的知识点总结
Feb 14 #Python
Django日志模块logging的配置详解
Feb 14 #Python
深入理解Python对Json的解析
Feb 14 #Python
Python 2与Python 3版本和编码的对比
Feb 14 #Python
利用Python爬虫给孩子起个好名字
Feb 14 #Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
Feb 14 #Python
You might like
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
php调用方法mssql_fetch_row、mssql_fetch_array、mssql_fetch_assoc和mssql_fetch_objcect读取数据的区别
2012/08/08 PHP
PHP实现的下载远程图片自定义函数分享
2015/01/28 PHP
js function使用心得
2010/05/10 Javascript
SlideView 图片滑动(扩展/收缩)展示效果
2010/08/01 Javascript
基于jQuery的为attr添加id title等效果的实现代码
2011/04/20 Javascript
sogou地图API用法实例教程
2014/09/11 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
利用jsonp与代理服务器方案解决跨域问题
2017/09/14 Javascript
angularjs实现天气预报功能
2020/06/16 Javascript
p5.js绘制创意自画像
2019/11/04 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
基于Vue sessionStorage实现保留搜索框搜索内容
2020/06/01 Javascript
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
Python中音频处理库pydub的使用教程
2017/06/07 Python
Python md5与sha1加密算法用法分析
2017/07/14 Python
Python中turtle作图示例
2017/11/15 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Python3.6使用tesseract-ocr的正确方法
2018/10/17 Python
Python3解释器知识点总结
2019/02/19 Python
Python实现平行坐标图的两种方法小结
2019/07/04 Python
小学生新学期寄语
2014/01/19 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
记账会计岗位职责
2014/06/16 职场文书
优秀本科毕业生自荐信
2014/07/04 职场文书
优秀毕业生主要事迹材料
2015/11/04 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
详解Node.js如何处理ES6模块
2021/05/15 Javascript
python脚本框架webpy的url映射详解
2021/11/20 Python