Python变量和数据类型详解
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中字符串格式化str.format的详细介绍