浅谈python变量类型

python标准数据类型:

1,数字(number)

2,字符串 (string)

3,列表(List) 

4,元组(Tuple)

5,字典(Dictionary)

一,数字类型

# int(有符号整型)

# long(长整型[也可以代表八进制和十六进制])

# float(浮点型)

# complex(复数)


二,字符串类型

# python的字串列表有2种取值顺序:

# 从左到右索引默认0开始的,最大范围是字符串长度少1

# 从右到左索引默认-1开始的,最大范围是字符串开头

s ='ilovepython'

ss='iloveyan'

print("1  "+s);     #输出ilovepython

print("2  "+s[1:5])     #输出love

print("3  "+s[0])         # 输出i

print("4  "+s[-1])       # 输出n

print("5  "+s[-5:-1]);


三,列表类型

# 列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

# 加号 + 是列表连接运算符(只能将两个列表组合到一起),星号 * 是重复操作

# a 列表生成器 range(start,stop,step)  start一般由0开始 stop到stop结束(不包含stop)  step 为步数

list=[1,2,3,'haha'];

print(list[1]);

list[1]=100;

print(list)           #可以二次赋值

sedlist=[list,8,0,'sss'];

print(sedlist)

print(list+sedlist);

print(list*2)

print(len(list));     # len 计算list长度

# 列表生成器练习

练习一

 for x in range(1,11):

     L.append(x*x);      #输出 [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

练习二

print([x*xfor xin range(1,11)if x%2==0])        #[4, 16, 36, 64, 100]

print( [m + nfor min 'ABC' for nin 'XYZ'])


L = ['Hello', 'World', 'IBM', 'Apple']

[s.lower()for sin L]                        # 输出['hello', 'world', 'ibm', 'apple']


四,元组类型

# 元组是另一个数据类型,类似于List(列表)。

# 元组用"()"标识。内部元素用逗号隔开。但是元组不能二次赋值,相当于只读列表。

tuple=(1,2,3)

print(tuple*2);

print(tuple[1]);

# tuple[1]=200;

# print(tuple);    #注意:元组不能二次赋值


五,字典类型

#列表是有序的对象集合,字典是无序的对象集合。

#两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

#字典用"{ }"标识。字典由索引(key)和它对应的值value组成。

#字典有两种赋值方法如下

dict={}

dict['one']="this is one";

dict['two']="this is two";

print(dict)

dict1={'name':"hanlin",'age':22,'sex':"man"};

print(dict1['name'])

print(dict1)

f=1.8

print(int(f))

print(isinstance(str(f),str))# 判断数据类型

#补充1,:dict的items()可以同时迭代key和value:

d = {'x':'A', 'y':'B', 'z':'C' }

for k, vin d.items():

print(k, '=', v)# x=A,y=B,z=C


# 补充2:要避免key不存在的错误,有两种办法,一是通过in判断key是否存在 二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:

dict21={'name':"hanlin",'age':22,'sex':"man"};

if('name'in dict21):

print(1)

print(dict21.get('class',"没有class"))

print(dict21.get('name',-1))

# 补充3:dict和list比较,dict有以下几个特点:

# 1,查找和插入的速度极快,不会随着key的增加而增加;

# 2,需要占用大量的内存,内存浪费多。

# 而list相反:

#

# 查找和插入的时间随着元素的增加而增加;

# 1,占用空间小,浪费内存很少。

# 2,所以,dict是用空间来换取时间的一种方法。)



六,set

# set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”

s1=([1,2,3],[4,5,5],[4,2,2])

print(s1)

s2=([1,1,2,2,3,3])

print(s2)

# add(key) 可以添加到set中

# remove(key) 可以删除set中

# s2.add(77);

# print(s2)

你可能感兴趣的:(浅谈python变量类型)