元组与列表
元组与列表类似,不同之处在与元组的元素不能修改,元组使用小括号,列表使用方括号。
sublime的使用:选中多行中的前几个元素,首先选中要选择的每行元素,Ctrl+D,默认选择相同的个数的下一行,Ctrl+D,再选中下一行相同个数数据。。。
选中完所有的行,就可以对数据进行处理;在选中所有行中的数据后,Ctrl+->(向右键),默认选中所有行的末尾,对行末可以进行处理。
#encoding=utf-8
#元组与列表类似,不同之处在与元组的元素不能修改,元组使用小括号,列表使用方括号。
listT=[1,2,3,4]
tupleT=(1,2,3,4)
listType=type(listT)#list
tupleType=type(tupleT)#tuple
#tuple中的数据可以增加、删除、查看,但是不能修改
#tupleT[1]=100 这样赋值出异常
函数中返回多个值
#encoding=utf-8
#当函数有多个返回值时,可以用列表返回
def test():
a=100
b=a+100
c=a+100
return a #这里只执行第一个,程序结束
return b
return c
#处理:1 可以将多个值存放到列表中返回
def testMultNums():
a=100
b=a+100
c=a+100
listNums=[a,b,c]
return listNums
#2 将多个结果返回,return 后面是一个整体即可,可以为列表,元组,字典
def testTuple():
a=100
b=a+100
c=a+100
return (a,b,c)
def testList():
a=100
b=a+100
c=a+100
return [a,b,c]
def testTupleDefault():
a=100
b=a+100
c=a+100
return a,b,c #默认为封装成元组返回
num=test()#100
multNums=testMultNums()#100, 200, 200])
listNums=testList() #[100, 200, 200]
tupleNums=testTuple()#(100, 200, 200))
tuNums=testTupleDefault()#(100, 200, 200))
函数
#encoding=utf-8
#全局变量的命名,为了和局部变量区别,_加个下划线
g_a=100
num=10
def ChangNum():
#如果num这个变量已经在全局变量的位置定义了,此时还想在函数中对这个全局变量进行修改的话,
#那么仅仅是num=100 是不够的,此时num这个变量是一个局部变量,仅仅是和全局变量的名字相同而已
global num #使用global用来对一个全局变量声明,这个变量就不是局部变量,是全局变量了
num=100
ChangNum()#调用一下函数,全局变量发生了改变
#带有默认值的参数一定要位于参数列表的最后面
#缺省参数
def addNum(a,b=3.14):
return a*b*b
cirlce=addNum(1)
#不定长参数,放在形参列表的最后面
def parmNum(a,b,*args):#加入*,传递的实参的个数大于形参的个数,剩下的都赋值给后面的,组成一个元组;若没有多余的,args=()
return a+b
#当元组中只有一个元素时,(33,)
def parmNums(a,b,c=10,*args,**kwargs):#**kwargs{} 存放的是字典
print(a)
print(args)#(4,)
print(kwargs)#{'keys': 100, 'values': 3000}
parmNums(1,2,3,4,keys=100,values=3000)
A=(11,22,33,44)
B={'1':100,'2':200,'3':300}
parmNums(1,2,3,A,B)#1,((11, 22, 33, 44), {1: 100, 2: 200, 3: 300}),{} 参数的内容都保存为元组中
parmNums(1,2,3,*A,**B)#加上*和**,表示拆包
'''
1
(11, 22, 33, 44)
{'1': 100, '3': 300, '2': 200}
'''
#这里注意一点,字典的keysword必须是不可变的
#参数的个数不确定,计算所有参数的值的和
def paramSum(a,b,*args):
result=a+b
for value in args:
result+=value
return result
parmResult=paramSum(11,11,100,1000)#1122
#引用
num1=100
num2=num1#引用
print(id(num1))#140444143999280 保存的地址
print(id(num2))#140444143999280
可变类型和不可变类型
不可变类型:数字,字符串,元组
其余的都是可变类型:字典,列表都可以