函数
函数
1,函数的定义,def
2,函数的调用
3,函数的返回值 return
函数的参数
1,形参
位置参数,必须传
*args:可以接收任意多个位置参数
默认参数:可以不接
**kwargs :可以接受多个关键字参数
2,实参
按照位置传参
按照关键字传参
3.返回值
不写返回值
不写return
return
return None
返回一个值
结束函数可以返回任意一个值
返回多个值
多个值之间用逗号隔开,接收的时候如果用一个变量接收,则是元组,多个相应的变量接收则会拿到每个变量相应的值
函数实践代码
def count(s):
i = 0
for j in s:
i += 1
return i
s = 'bassdiuhfs'
print(count(s))
#形参可以使事先确定好的,也可以后期赋值。
def classmate(name,sex='男'):
print('{},{}'.format(name,sex))
classmate('laoda')
classmate('laoer',sex='女')
def classmate(name,sex): #name,sex是形参
print('{},{}'.format(name,sex))
classmate('laoda','男') #这里是实参
classmate('laoer',sex='女') #实参
#动态参数 我们用*args来表示。接收的是任意位置传参的值
def sum(*args):
n = 0
for i in args:
n += i
return n
res = sum(4,5,6,7)
res1 = sum(4,56,7)
print(res)
print(res1)
#动态参数 **kwargs 接收的是任意关键字传参
def text(**kwargs):
print(kwargs)
text(a=2,c=4,f=0)
#动态传参
#将*args和**kwargs组合起来,但必须吧*args放在**kwargs之前,因为我们默认是优先位置传参,还有我们特殊定义的关键值也应该放在**kwargs之前,
#故我们再使用**kwargs时,一般都放在最后。
def test(*args,defalut=1,**kwargs):
print(args,defalut,kwargs)
test('sdihsif',defalut=2,c=3,b=4)
#之前的两个作业题
li = ['alex','laoda']
s1 = ''.join(li)
print(s1)
sum = 0
for i in range(1,100):
if i%2 == 0:
sum += i
else:
sum -= i
for i in range(100,-1,-1):
print(i)
count = 0
content = input('>>>')
for i in range(len(content)):
if i%2 == 0 and content[i].isdigit():
count += 1
print(count)