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 快速排序代码
Nov 23 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
Apr 23 Python
python监控文件并且发送告警邮件
Jun 21 Python
python实现搜索文本文件内容脚本
Jun 22 Python
Python对CSV、Excel、txt、dat文件的处理
Sep 18 Python
PyTorch 解决Dataset和Dataloader遇到的问题
Jan 08 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
Feb 12 Python
用python对excel进行操作(读,写,修改)
Dec 25 Python
python math模块的基本使用教程
Jan 16 Python
使用pipenv管理python虚拟环境的全过程
Sep 25 Python
python 学习GCN图卷积神经网络
May 11 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
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
TMDPHP 模板引擎使用教程
2012/03/13 PHP
JavaScript 事件的一些重要说明
2009/10/25 Javascript
JS中setInterval、setTimeout不能传递带参数的函数的解决方案
2013/04/28 Javascript
由点击页面其它地方隐藏div所想到的jQuery的delegate
2013/08/29 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
js简单的表格添加行和删除行操作示例
2014/03/31 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
轻松实现javascript数据双向绑定
2015/11/11 Javascript
基于JS实现PHP的sprintf函数实例
2015/11/14 Javascript
JQuery+EasyUI轻松实现步骤条效果
2016/02/22 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
2016/07/27 Javascript
整理一下常见的IE错误
2016/11/18 Javascript
AngularJS自定义服务与fliter的混合使用
2016/11/24 Javascript
jQuery实现鼠标悬停3d菜单展开动画效果
2017/01/19 Javascript
jQuery插件ImgAreaSelect实现头像上传预览和裁剪功能实例讲解一
2017/05/26 jQuery
页面间固定参数,通过cookie传值的实现方法
2017/05/31 Javascript
javascript 日期相减-在线教程(附代码)
2017/08/17 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
解决Python3下map函数的显示问题
2019/12/04 Python
Python绘制动态水球图过程详解
2020/06/03 Python
python中time tzset()函数实例用法
2021/02/18 Python
Linux上比较文件的命令都有哪些
2012/02/24 面试题
网上商城创业计划书范文
2014/01/31 职场文书
期中考试后的反思
2014/02/08 职场文书
2014年十八届四中全会思想汇报范文
2014/10/17 职场文书
房产证明范本
2015/06/19 职场文书
试了下Golang实现try catch的方法
2021/07/01 Golang
Python 数据科学 Matplotlib图库详解
2021/07/07 Python