python 函数 的参数
关于函数参数
大多数情况下:
parameter(形参)
arguments(实参)
传参数时,如果传默认参数,要写在没有默认参数的参数后面
eg:
def s (a,b=10):
print("这是正确的写法")
def (a=10,b):
print("这是错误的写法")
关键字参数,为指定的参数赋值
def test (a=100,b=1000)
print(a)
print(b)
test(b=1)
结果
a=100
b=1
位置参数一定要在关键字参数后面
可变参数
def sum(*args):
sums=0
for num in args :
sums += num
print(sums)
sum(1,2,3,4)
结果如下 ,args 里面是元组,通过遍历实现循环出每一个参数
(1, 2, 3, 4)
1
3
6
10
可变参数一定在位置参数的后面
在进行定义的时候,关键字参数要放在可变参数后面
字典参数
def diccs(**kwargs):
print(kwargs)
diccs(a=1,b=3) #结果:{'a': 1, 'b': 3}
def dic(**kwargs):
print(kwargs)
for key in kwargs.keys():
print(key ,end="")
print(kwargs[key] ,end="")
dic(a=1,b=2,c=3,d="ss")
# 结果:a1c3dssb2
案例:
#定义函数findall,要求返回符合要求的所有位置的起始下标,如字符串"helloworldhellopythonhelloc++hellojava",
#需要找出里面所有的"hello"的位置,返回的格式是一个元组,即:(0,10,21,29)
def findall(s,s1):
# # 定义一个空列表
# my_list = []
# # 要查询的字符串的长度
# l = len(s1)
# while True:
# # 获取查询的字符串在原字符串中第一次出现的下标
# index = s.find(s1)
# # 原字符串中存在要查找的字符串
# if index != -1:
# # 列表中有元素
# if len(my_list) != 0:
# # 添加的是要查找的字符串在最原始的字符串中的下标
# my_list.append(my_list[-1]+index+l)
# # 列表是空,表示第一次查询
# else:
# my_list.append(index)
# # 截取原字符串,把要查找的字符串之前的字符切掉,形成新的字符串
# s = s[index+l:]
# else:
# break
# return tuple(my_list)
# print(findall("helloworldhellopythonhelloc++he