定义函数的语法
def 函数名(参数)
空格 函数体
空格 return语句
注意事项
代码
def my_length(words):
counter = 0
for i in words:
counter = counter + 1
return counter
a = 'hello world'
print(my_length(a))
print(type(my_length(a)))
11
<class 'int'>
这里疑惑return 后跟的参数
为什么不是words
试了一下返回words
def my_length(words):
counter = 0
for i in words:
counter = counter+1
return words
a = 'hello world'
print(my_length(a))
print(type(my_length(a)))
hello world
<class 'str'>
是这样的结果,就有一点点懵
位置参数
参数是有位置的,但是标注好的没关系。
def meal(a,b,c='烤肉'):
print('上午'+a)
print('下午'+b)
print('晚上'+c)
return meal
meal('egg','milk','bread')
#尽管已经有了烤肉,但是还是会按照位置参数的走
上午egg
下午milk
晚上bread
标注好的,以标注好的为准;正常情况下,以位置参数为准
默认参数必须放在位置参数之后
def meal(a,b,c):
print('上午'+c)
print('下午'+b)
print('晚上'+a)
return meal
meal(a='milk',b='egg',c='bread')
上午bread
下午egg
晚上milk
return返回多个值
import random
appetizer = ['苹果','orange','xigua']
def fruit(money):
if money < 5 :
a = random.choice(appetizer)
return a
elif 5<=money <10:
b = random.choice(appetizer)
return b ,'草莓'
# 这里的 b 和草莓就是return返回了多个值
result = fruit(8)
#懂这里的【0】【1】的意思了,result在这里是一个元组,也可以print(type(result))试一下,所以是取出来的第一个元素、第二个元素这样
print(result)
print(type(result))
print(result[0])
('xigua', '草莓')
<class 'tuple'>
xigua