Python 的元组与列表类似,不同之处在于元组的元素不能修改。
下面强调几点:
1.元组的修改:
上面已经强调了过了,元组元素是不能修改的,只能创建新的元组来拼接,例如:
tuple=(1,2,3,4)
tuple2=(5,6)
tuple3=tuple+tuple2
print(tuple3)
输出:
(1, 2, 3, 4, 5, 6)
2.元组删除
和列表不同,元组不能删除其中任意元素,只能整体删除:
tuple=(1,2,3,4)
del tuple
3.空的元组,以及1个元素的元组(重要):
空的元组:
tuple=()
1个元素的元素:
比如里面有个元素’1’,一般我们直接就写成tuple=(‘1’),这样写是错误的,这样输出结果直接是1,括号的意义容易发生歧义。所以如果是一个元素可以在元素后面加上“,”号:
tuple=('1',)
Python函数
函数大家应该明白吧,这里主要对python函数强调几点:
1.明确python中的可变和不可变的对象
前面我们已经讲过了,在python中Numbers、元组tuple、字符串String是不可变对象,list、dictionary则是可变的对象。这点在函数中也有体现,而且很重要!下面通过一个例子来解释一下:
def Change( a ):
a = 10
b = 2
Change(b)
print( b )
输出结果:
2
因为int值是不可变类型,所以在函数外,对象a是不变的,可以在函数中进行做中间赋值打印的操作。如果把int值换成了可变类型:
def Change( a ):
a.append([3,4]);
print ("函数内取值: ", a)
a=[0,1,2]
Change(a)
print("函数外取值: ", a)
输出的结果:
函数内取值: [0, 1, 2, [3, 4]]
函数外取值: [0, 1, 2, [3, 4]]
因为列表是可变类型,所以在函数的内外都相同,函数内的改变在函数外也生效。
2.注意定义可变参数和关键字参数的语法
*args是可变参数,args接收的是一个tuple;
def Change(*a):
b=(1,2)
a=a+b
return a
c=Change(0,1,2)
print( c)
**kw是关键字参数,kw接收的是一个dict。
def Change(**a):
return a
c=Change(a=1,b=2)
print( c)
剩下的一些知识都是比较好理解的。
Python 的元组与列表类似,不同之处在于元组的元素不能修改。
下面强调几点:
1.元组的修改:
上面已经强调了过了,元组元素是不能修改的,只能创建新的元组来拼接,例如:
tuple=(1,2,3,4)
tuple2=(5,6)
tuple3=tuple+tuple2
print(tuple3)
输出:
(1, 2, 3, 4, 5, 6)
2.元组删除
和列表不同,元组不能删除其中任意元素,只能整体删除:
tuple=(1,2,3,4)
del tuple
3.空的元组,以及1个元素的元组(重要):
空的元组:
tuple=()
1个元素的元素:
比如里面有个元素’1’,一般我们直接就写成tuple=(‘1’),这样写是错误的,这样输出结果直接是1,括号的意义容易发生歧义。所以如果是一个元素可以在元素后面加上“,”号:
tuple=('1',)
Python函数
函数大家应该明白吧,这里主要对python函数强调几点:
1.明确python中的可变和不可变的对象
前面我们已经讲过了,在python中Numbers、元组tuple、字符串String是不可变对象,list、dictionary则是可变的对象。这点在函数中也有体现,而且很重要!下面通过一个例子来解释一下:
def Change( a ):
a = 10
b = 2
Change(b)
print( b )
输出结果:
2
因为int值是不可变类型,所以在函数外,对象a是不变的,可以在函数中进行做中间赋值打印的操作。如果把int值换成了可变类型:
def Change( a ):
a.append([3,4]);
print ("函数内取值: ", a)
a=[0,1,2]
Change(a)
print("函数外取值: ", a)
输出的结果:
函数内取值: [0, 1, 2, [3, 4]]
函数外取值: [0, 1, 2, [3, 4]]
因为列表是可变类型,所以在函数的内外都相同,函数内的改变在函数外也生效。
2.注意定义可变参数和关键字参数的语法
*args是可变参数,args接收的是一个tuple;
def Change(*a):
b=(1,2)
a=a+b
return a
c=Change(0,1,2)
print( c)
**kw是关键字参数,kw接收的是一个dict。
def Change(**a):
return a
c=Change(a=1,b=2)
print( c)
剩下的一些知识都是比较好理解的。
另外可以加入我的程序技术交流群:458739310
大家可以关注我的微信公众号:「扎心了Python」和「安卓干货铺」一个有质量、有态度的公众号!