Python基础学习-2:变量

一、变量命名规则:

(1)变量名由字母、数据或下划线组成;

(2)数字不能开头,必须是字母或下划线;

(3)Python区分大小写;

(4)不能将Python的关键字作为变量名。

二、变量的赋值:

(1)Python中的变量不需要声明,变量的赋值过程就是变量的声明和定义过程;

(2)每个变量在使用前都必须赋值,变量赋值以后才会被创建;

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

(4)Python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的值本身;

str1='hello word';str2=str1;print(id(str1),id(str2))str1='new hello word'print(id(str1),id(str2))

结果为:

42586544 42586544

42586480 42586544

Python基础学习-2:变量

(5)对于没有任何变量指向的值,Python自动会将其删除,一般而言,Python跟踪所有的值,并自动删除不再有变量指向的值,这称为垃圾收集。

(6)只有放在内存空间中的对象才有类型,而变量是没有类型的。

(7)在Python中,数字和字符串的一个重要特征是不可变,即不能以任何方式修改它们。在看起来是修改数字或字符串的情况下,Python实际上是在创建修改版本的拷贝。

三、多个变量赋值:

(1)能够同时给多个变量赋值,例如:

a,b,c=1,"two",3.0

(2)多重赋值一个很实用的功能:交换两个变量的值,例如:

a=1;b="two"a,b=b,a

四、变量分类:

Python有五个标准的数据类型:Numbers(数字);String(字符串);List(列表);Tuple(元组);Dictionary(字典)。其中,属于集合类型的数据类型有:列表、元组及字典。

1.数字(Number):用于存储数值。它是不可改变的数据类型,这意味着改变数据类型会分配一个新的对象。数字类型又分为:int(有符号整型),long(长整型),float(浮点型),complex(复数);

如果某个小的整数出现的次数非常多,那么Python将会出现大量的malloc/free操作,这样会降低效率,也会造成大师的内存碎片,在Python2.5至3.3中,将小整数在[-5,257]之间的数,缓存在小整型对象池中。

2.字符串(String):表示文本的数据类型。Python的字符串列表有2种取值顺序:

一种是:从左到右索引,默认从0开始,最大范围为(字符串长度-1);

第二种是:从右到左索引,默认从-1开始,最大范围为(-字符串长度);

str='abcdeg'print(str) #输出整个字符串print(str[0]) #输出第一个字符print(str[-len(str)]) #输出第一个字符print(str[2:4]) #输出第3至5个之间的字符print(str[2:]) #输出第3个开始到最后的字符串print(str*2) #输出两次字符串

3.列表(List):是Python中使用最频繁的数据类型,创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。

list1=['zhang','wang',1987,2001]list2=[1,2,3,4,5,6,7]print (list1,list2[4:]) #输入list1的全部列表值,输出list2的第5位之后的所有值班表值;list1[2]='li' #修改list1的第三个元素的值;print("修改之后的list1为:",list1)list1.append("我是新来的"); #使用list的方法,在列表末尾添加新的对象;print("新增之后list1的值",list1)del list1[3]print("删除部分值之后list1的值",list1) #删除list1的第四个元素的值;list1.remove('li');print("删除指定元素之后list1的值",list1) #删除list1中指定元素的值;

4.元组(Tuple):类似于List,但元组不能二次赋值,相当于只读列表。它用“()”标识。内部元素用逗号隔开。操作实例与列表相似。

5.字典(Dictionary):是除列表以外,Python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象结合。二者的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。字典用“{}”标识,字典由索引和它对应的值组成,即key:value。

dict={}dict['name']="zhanglili";dict[3]=90dict['age']=18dicter={1:'aaa',34:'bbb',4.5:'ccc'}print(dict)print(dicter)

结果为:

{'name': 'zhanglili', 3: 90, 'age': 18}

{1: 'aaa', 34: 'bbb', 4.5: 'ccc'}