鱼C论坛

 找回密码
 立即注册
查看: 2584|回复: 0

[技术交流] 《Python零基础》017、函数:Python的乐高积木

[复制链接]
发表于 2017-8-30 18:18:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
函数:Python的乐高积木


相信大家小时候应该都玩过神奇的乐高积木,只要通过想象和创意,我们可以用它拼凑出很多神奇的东西。

随着我们学习的深入,我们编写的Python代码也日益增加且越来越复杂,所以我们需要找一个方法对这些复杂的代码进行重新组织,目的是为了使代码的逻辑显得更为简单和易懂,我们说了优秀的东西永远是经典的,而经典的东西永远是简单的,不是说复杂不好,是能够把复杂的东西简单化才能成为经典。

为了使得程序代码更为简单,我们要把程序分解成较小的组成部分,这里我们会教大家三种方法来实现,分别是:函数,对象和模块。


创建和调用函数

这节课我们先来讲解函数,函数就是把代码打包成不同形状的乐高积木,以便我们可以发挥想象力进行随意拼装和反复使用。而对象和模块我们会在稍后的课程中带大家深入学习。

因为这几部分内容奠定了Python编程者的基本功底,所以小甲鱼在这几部分的准备上是花足了心思的,大家不要嫌啰嗦,经常重复的内容肯定是重要的。

简单的来讲,一个程序可以按照不同的功能实现分割成许许多多的小个体,而函数就是可以完成某个功能的代码块。在Python中创建一个函数用“def”关键字:

>>> def MyFristFunction():
        print("这是我创建的第一个函数!")
        print("我表示很鸡冻……")
        print("在此我要感谢TVB,感谢CCAV,感谢小甲鱼老湿,感谢各位鱼油……")

        
>>> MyFristFunction()
这是我创建的第一个函数!
我表示很鸡冻……
在此我要感谢TVB,感谢CCAV,感谢小甲鱼老湿,感谢各位鱼油……
>>> 
>>> def MyFristFunction():
        print("这是我创建的第一个函数!")
        print("我表示很鸡冻……")
        print("在此我要感谢TVB,感谢CCAV,感谢小甲鱼老湿,感谢各位鱼油……")

        
>>> MyFristFunction()
这是我创建的第一个函数!
我表示很鸡冻……
在此我要感谢TVB,感谢CCAV,感谢小甲鱼老湿,感谢各位鱼油……
>>> MyFristFunction1()
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    MyFristFunction1()
NameError: name 'MyFristFunction1' is not defined
>>> 


函数的参数

我们现在可以来谈谈那括号了,在函数刚开始被发明出来的时候,是没有参数的(也就是小括号里没有内容的),很快就引来了许多小伙伴们的质疑:函数不过是对做同样内容的代码进行打包,这跟使用循环有什么区别?!

所以,为了使每次调用函数可以让他有不同的实现,我们加入了参数的概念。例如你封装了一个打炮功能的函数,默认的武器是大炮,那用来打飞机是没问题的,但是你如果用这个函数来打小鸟,尤其是愤怒的小鸟,那就有点奇葩了,然后你要用在函数来打美眉,那可就有点坏坏了……

>>> def MySecondfunction(name):
        print(name+"我爱你")

        
>>> MySecondfunction("小甲鱼")
小甲鱼我爱你
>>> 
>>> MySecondfunction("小甲鱼")
小甲鱼我爱你
>>> def add(num1,num2):
        result = num1 + num2
        print(result)

        
>>> add(1, 2)
3
>>> 

函数的返回值

有些时候,我们需要函数为我们返回一些数据来报告实现的结果,例如某同学的打炮函数,我们还是希望知道射了之后到底是打中了没有?所以,我们讲讲函数如何返回值。




评分

参与人数 1鱼币 +7 收起 理由
小甲鱼 + 7

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 11:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表