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
printint
print45678+0x12fd2
二、浮点数
float=2.3
printfloat
三、字符串
a、使用单引号(')
用单引号括起来表示字符串,例如:
str='thisisstring'
printstr
b、使用双引号(")
双引号中的字符串与单引号中的字符串用法完全相同,例如:
str="thisisstring";
printstr
c、使用三引号(''')
利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str='''thisisstring
thisispythodstring
thisisstring'''
printstr
四、布尔值
and:与运算,只有所有都为True,and运算结果才是True。
or:或运算,只要其中有一个为True,or运算结果就是True。
not:非运算,它是一个单目运算符,把True变成False,False变成True。
bool=False
printbool
bool=True
printbool
五、空值
空值是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" printnums[0] #删除列表元素 delnums[0] '''nums[:]:[3,5,7,8,13,20]''' print"nums[:]:",nums[:] #列表脚本操作符 printlen([1,2,3])#3 print[1,2,3]+[4,5,6]#[1,2,3,4,5,6] print['Hi!']*4#['Hi!','Hi!','Hi!','Hi!'] print3in[1,2,3]#True forxin[1,2,3]: printx,#123 #列表截取 L=['spam','Spam','SPAM!'] printL[2]#'SPAM!' printL[-2]#'Spam' printL[1:]#['Spam','SPAM!'] #列表函数&方法 lst.append('append')#在列表末尾添加新的对象 lst.insert(2,'insert')#将对象插入列表 lst.remove(1996)#移除列表中某个值的第一个匹配项 lst.reverse()#反向列表中元素,倒转 printlst.sort()#对原列表进行排序 printlst.pop(1)#移除列表中的一个元素(默认最后一个元素),并且返回该元素的值 printlst printlst.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'] #删除字典 deldit['name']#删除键是'name'的条目 dit.clear()#清空词典所有条目 deldit#删除词典 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 printtup4#(12,34.56,'abc','xyz') #删除元组 tup=('tup3','tup',1997,2000) printtup deltup #元组索引&截取 L=('spam','Spam','SPAM!') printL[0]#spam printL[1]#Spam printL[2]#'SPAM!' printL[-2]#'Spam' printL[1:]#['Spam','SPAM!'] #元组内置函数 printcmp(tup3,tup2)#比较两个元组元素。 len(tup3)#计算元组元素个数。 max(tup3)#返回元组中元素最大值。 min(tup3)#返回元组中元素最小值。 L=[1,2,3,4] printL printtuple(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。