Python由放弃到入门,基础篇六(函数)

函数——定义和调用函数、函数的重要概念

有感于现在python教程多如牛毛,且大多高不可攀,多次拜读而不得其门道,遂由入门到放弃。偶有机缘,得一不错教程,得以入门,现博客分享,想要获取完整教程,ff17328081445。

函数是什么

print('Hello World')
print('万物的终极答案')
print(42)
>>>>>>>>>>>>>>>>>>>>>>>>
Hello World
万物的终极答案
42

在这里插入图片描述
在这里插入图片描述

定义函数

#!/usr/bin/python3
# 第一个函数
def pika1():
    print('我最喜爱的国学大师')


# 第二个函数
def pika2(name):
    print('我最喜爱的国学大师' + name)


# 第三个函数
def pika3(name, person):
    print('我最喜爱的国学大师' + name)
    print('我最喜爱的儒学大师' + person)
PS:定义函数,并不输出

调用函数

def pika1():
    print('我最喜爱的国学大师')
# 该函数没有参数,直接调用函数名。记得英文括号一定不能少
pika1()
def pika2(name):
    print('我最喜爱的国学大师' + name)
# 需要给参数name赋值,每次调用都可以给参数赋不同的值
pika2('易中天')
pika2('白居易')
def pika3(name, person):
    print('我最喜爱的国学大师' + name)
    print('我最喜爱的儒学大师' + person)
# 需要给两个参数分别赋值,并用逗号隔开,否则会报错
pika3('易中天', '白居易')

>>>>>>>>>>>>>>>>>>>>>>>>
我最喜爱的国学大师
我最喜爱的国学大师易中天
我最喜爱的国学大师白居易
我最喜爱的国学大师易中天
我最喜爱的儒学大师白居易

函数的重要概念

在这里插入图片描述

参数类型

位置参数
#!/usr/bin/python3
def  menu(appetizer,course):
    print('我喜欢的电影:'+appetizer)
    print('我喜欢的明星:'+course)
menu('功夫','周星驰')

>>>>>>>>>>>>>>>>>>>>>>>>
我喜欢的电影:功夫
我喜欢的明星:周星驰

PS:这里的'功夫''周星驰'是对应参数appetizer和course的位置顺序传递的,所以被叫作【位置参数】
默认参数
#!/usr/bin/python3
def  menu(appetizer,course,dessert='吴孟达'):
    print('我喜欢的电影:'+appetizer)
    print('我喜欢的明星:'+course)
    print('配角:'+dessert)
menu('功夫','周星驰')
#因为已经默认将'吴孟达'传递给dessert,调用时无须再传递。

>>>>>>>>>>>>>>>>>>>>>>>>
我喜欢的电影:功夫
我喜欢的明星:周星驰
配角:吴孟达

PS:其中dessert='吴孟达'为默认参数。
不定长参数
#!/usr/bin/python3
def menu(*barbeque):
    print(barbeque)
menu('烤鸡翅','烤茄子','烤玉米')
#这几个值都会传递给参数barbeque

>>>>>>>>>>>>>>>>>>>>>>>>
('烤鸡翅', '烤茄子', '烤玉米')

ps:*barbeque为不定长参数

--------------------------------
#!/usr/bin/python3
def menu(appetizer, course, *barbeque, dessert='绿豆沙'):
    print('一份开胃菜:' + appetizer)
    print('一份主菜:' + course)
    print('一份甜品:' + dessert)
    for i in barbeque:
        print('一份烤串:' + i)
menu('话梅花生', '牛肉拉面', '烤鸡翅', '烤茄子', '烤玉米')

>>>>>>>>>>>>>>>>>>>>>>>>
一份开胃菜:话梅花生
一份主菜:牛肉拉面
一份甜品:绿豆沙
一份烤串:烤鸡翅
一份烤串:烤茄子
一份烤串:烤玉米

return语句

#!/usr/bin/python3
def niduoda(age):
    if age < 12:
        return '哈,是祖国的花朵啊'
    elif age < 25:
        return '哇,是小鲜肉呢'
    else:
        return '嗯,人生才刚刚开始'
print(niduoda(30))

>>>>>>>>>>>>>>>>>>>>>>>>
嗯,人生才刚刚开始

在这里插入图片描述

#!/usr/bin/python3
def face(name):
    return name + '的脸蛋'
def body(name):
    return name + '的身材'
def main(dream_face,dream_body):
    return '我的梦中情人:' + face(dream_face) + ' + ' + body(dream_body)
print(main('刘亦菲','林志玲'))

>>>>>>>>>>>>>>>>>>>>>>>>
我的梦中情人:刘亦菲的脸蛋 + 林志玲的身材

在这里插入图片描述

变量作用域

x = 99  # 全局变量x
def num():
    x = 88  # 局部变量x
    print(x)
num()
# 打印局部变量x
print(x)
# 打印全局变量x

>>>>>>>>>>>>>>>>>>>>>>>>
88
99

在这里插入图片描述

#!/usr/bin/python3
def egg():
    global quantity
#global语句可以将局部变量声明为全局变量
    quantity = 108
egg()
def egg():
   print(quantity)
egg()
#函数内的局部作用域,可以访问全局变量
print(quantity)

>>>>>>>>>>>>>>>>>>>>>>>>
108
108
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值