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中list常用操作实例详解
Jun 03 Python
python脚本内运行linux命令的方法
Jul 02 Python
Python实现读取txt文件并转换为excel的方法示例
May 17 Python
快速解决pandas.read_csv()乱码的问题
Jun 15 Python
python求解数组中两个字符串的最小距离
Sep 27 Python
python通过http下载文件的方法详解
Jul 26 Python
Python三元运算与lambda表达式实例解析
Nov 30 Python
python 实现保存最新的三份文件,其余的都删掉
Dec 22 Python
PyCharm 2020 激活到 2100 年的教程
Mar 25 Python
python破解同事的压缩包密码
Oct 14 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 23 Python
浅析Python中的随机采样和概率分布
Dec 06 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简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP中如何判断AJAX提交的数据
2012/02/05 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
2016/03/18 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
基于PHP实现发微博动态代码实例
2020/12/11 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
JavaScript判断一个URL链接是否有效的实现方法
2011/10/08 Javascript
js获取客户端网卡的IP地址、MAC地址
2014/03/26 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
简介JavaScript中的setHours()方法的使用
2015/06/11 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
JavaScrpt的面向对象全面解析
2017/05/09 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
Angular4开发解决跨域问题详解
2017/08/28 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
Nuxt.js开启SSR渲染的教程详解
2018/11/30 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
如何管理Vue中的缓存页面
2021/02/06 Vue.js
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python3.5 处理文本txt,删除不需要的行方法
2018/12/10 Python
python求前n个阶乘的和实例
2020/04/02 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
python爬虫---requests库的用法详解
2020/09/28 Python
pycharm实现猜数游戏
2020/12/07 Python
html5的localstorage详解
2017/05/09 HTML / CSS
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
介绍一下SQL中union,intersect和minus
2012/04/05 面试题
jQuery treeview树形结构应用
2021/03/24 jQuery
酒店服务实习自我鉴定
2013/09/22 职场文书
汽车检测与维修专业求职信
2013/10/30 职场文书
房产公证书范本
2014/04/10 职场文书
高中学生会竞选演讲稿
2014/08/25 职场文书
javascript对象3个属性特征
2021/11/17 Javascript