python学习(二)
1.特殊运算符
in
与not in
,is
与is not
实例如下
#in与not in
a = 'abc,bcd,cde'
if 'abc' in a:
print('abc在a里面')
if 'bba' not in a:
print('bba不在a里面')
#is与is not
b = c = 1
d = 2
if b is c:
print('b与c相等')
if c is not d:
print('c于d不相等')
2.列表,元组与字典
三种声明方法
#声明空列表
a = []
#声明空元组
a = ()
#声明空字典
a = {}
字典实例
b = {'c':1,'d':2,'e':3}
print(len(b))
bb1 = b.pop('c')#pop方法删除
bb2 = del(b['d'])#del方法删除
b['f']=4#添加元素
b.setdefault('f':5)#setdefault方法添加元素
print(b)
print(b['c'])
for i in b.items():#遍历键值对
print(i)
for j in b:#遍历键或写做for j in b.keys():
print(j)
3.自定义函数的不定长参数*与 **
*param传递任意数量的参数值
格式:函数名([param1,param2,...,]*param)
def test1(name,*param1):
print(name)
print(type(param1))
param_x=''
for i in param1:
param_x+=' '+i
print(param_x)
#=======================下面是调用测试
test1('数','123','234','345','456')
print('-------------------------------')
test1('数','123','234','345','456','567','678','789')
此处带 *的参数param,可以接收任意数量的值。但一个自定义函数只能有一个带 *的参数。
**param传递任意数量的键值对
格式:函数名([param1,param2,...,]**param)
def test2(name,**param1):
print(name)
print(type(param1))
return param1
#=======================下面是调用测试
test1('数',num1='123',num2='234',num3='345',num4='456')
4.闭包变量
使用范围介于全局变量与局部变量之间,定义位置一般在外部函数与内部函数之间。
5.匿名函数
格式:lambda [para1,para2,...]:expression
示例:
a = lambda x,y:x*y
a(2,3)
6.递归函数
示例
def r_fun(num):
if num==1:
return num
t=r_fun(num-1)+num
print('第%d次递归'%(num))
print('返回值%d在内存中地址为:%d'%(t,id(t)))
return t
#===================下面为调用
r_fun(10)