1、简述普通参数、指定参数、默认参数、动态参数的区别
- 普通参数:以正确的顺序传入函数,调用时数量必须和声明的一样。
- 指定参数:参数和函数调用关系密切,函数调用使用使用关键字参数来确定传入的参数值,参数允许函数调用时参数的顺序和声明时不一致。
- 默认参数:函数进行调用时,如果没有新的参数传入则默认的情况下,就调用默认参数
- 动态参数:个函数能处理比当初声明时更多的参数,这些参数叫动态参数
2、写函数,计算传入的字符串中数字、字母、空格、以及其他的个数
#####判断字母数字出现的次数########
def func1(s):#定义一个函数
#字符串中出现的数字、字母、空格等其他的符号,初始值为0
zimu_num = 0
kongge_num = 0
shuzi_num = 0
qita_num = 0
for i in s:#对字符串进行循环判断
if i.isalpha():
zimu_num += 1
elif i.isspace():
kongge_num += 1
elif i.isdigit():
shuzi_num += 1
else:
qita_num += 1
return (zimu_num,kongge_num,shuzi_num,qita_num)#把所有的结果返回到一个元组中
m = func1("wewqe-*- **-wqeqe")#调用func1函数
print(m)打印出函数的结果
3、写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。
###对象长度#######
def func1(s,li,tup):
zi = len(s)
li = len(li)
tup = len(tup)
if zi > 5:
print("shi")
else:
print("bushi")
if li > 5:
print("shi")
else:
print("bushi")
if tup > 5:
print("shi")
else:
print("bushi")
return(zi,li,tup)#return返回的是字符、列表、元组的长度
m = func1("kwkwqehk",[11,22,33],(1,"215",5,6,59,6))
print(m)#m是函数体中判断产生的结果
4、写函数检测用户传入的对象(字符、列表、元组)的每一个元素是否有空内容。
def f1(o):
for i in a:
i = str(i)
if ' ' in i:
return ('空格:',i)
else:
return ('没空格')
a = ('q qer','adf')
ret = f1(a)
print(ret)
5、写函数,检查传入列表的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
#####列表长度判断#####
def func1(li):
len_li = len(li)
if len_li > 2:
print("列表长度大于2")
li1 = li[0:2]
return(li1)
m = func1([11,22,"ddw",4])
print(m)#相当于返回值
6、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def func1(li,tup):
l1 = []
t1 = []
for i in range(len(li)):
if i % 2 == 1:
l1.append(li[i])
print(l1)
for p in range(len(tup)):
if p % 2 ==1:
t1.append(tup[p])
print(t1)
return (l1,t1)
m = func1([11,22,33,55,64],(156,1321,54,5663,11))
print(m)
7、写函数,检查传入字典的每一个value的长度,如果大于2,那么仅保留前两个长度的内容,并将新内容返回给调用者。
dic = {"k1": "v1v1", "k2": [11,22,33,44]}
PS:字典中的value只能是字符串或列表
方法一
dic = {"k1": "v1v1",
"k2": [11,22,33,44]
}
dic1 = {
}
m = dic["k1"]
n = dic["k2"]
if len(m) > 2:
p = m[0:2]
print(p)
if len(n) > 2:
q = n[0:2]
print(q)
dic1["k1"] = p
dic1["k2"] = q
print(dic1)
方法二
def f5(arg):
ret = {}
for key,value in arg.items():
if len(value) > 2:
ret[key] = value[0:2]
else:
ret[key] = value
return ret
dic = {"k1": "v1v1",
"k2": [11, 22, 33, 44]
}
r = f5(dic)
print(r)