1 #元组 2 3 #访问元组 4 5 #元组的分片操作(为啥不叫切片) 6 #还是tuple1[int1:int2:int3]; 7 8 a=("来","有本事","砍我",[1,4,5,6]); 9 print(a[0:3]); 10 #这里输出的什么? 11 print(type(a[0:3])); 12 #还是元组,而这里切片的是元组的部分,所以中间会有‘,’的存在 13 #其他内容和分片操作一模一样,就不演示了。 14 15 #再就是元组的拆包 16 #和C#的拆包有点类似吧(反正你又不用操心类型) 17 18 s1,s2,s3,list_1=a; 19 print(s1,s2,s3,list_1); 20 #拆包结果 21 22 #拆包操作中,给最后一个变量加上*就会把后面所有剩余的全部打包给他 23 s5,*n=a; 24 print(s5); 25 print(*n); 26 #这里*n的内容是 有本事,看我,..... 27 #但是我们稍作改变 28 print(n); 29 #输出的结果是[有本事,看我,.....] 30 #存在不一样的地方 31 32 #print("*n变量的类型是",type(*n)); 33 #这一句直接报错 34 #TypeError: type.__new__() argument 2 must be tuple, not str 35 #他可能把他当作字符串处理了。 36 print("n变量的类型是",type(n)); 37 #而只有这一句正常运行 38 #输出出来是List类型 39 40 #简单的说明了 41 #拆包中*n,是*+变量,只有n才是变量,而*n则是表示元组 42 print("*n变量是".format(type(n))); 43 #他无法转变成字符串类型 44 45 #选择元组拆包 46 #用“_”来表示不拆包 47 48 str1 , _ , str2 ,_=a; 49 print(str1,str2); 50 #这里第二个和最后一个就被无视了 51 #但是要注意的是,拆包操作只要开始拆包了 52 #就要每个元素都拆出来 53 54 #遍历元组 55 #就是用for的迭代变量对元组进行循环操作