Python函数基础(一)函数的定义调用

定义函数的好处

        最重要的是,如果你遇到需要该需求的情况,函数的好处就能体现出来了,你只需要修改一些对应的函数功能,不需要大动干戈全部的代码文件。

        1.提高了代码的可维护性。一个程序员的可控代码在2w行左右,封装成函数便于程序猿的维护。

        2.减少了代码的冗余。很多重复的部分,如果改成函数,只需要调用,可以少些很多行代码。

        3.提高代码的重用性。很多功能写的很好,遇到下一个需要这个功能,可以直接拿来使用,加快了开发的效率。

        4.提高代码的灵活性。如果别人想用你写的这些功能,他只需要知道你函数的输入是什么,输出是什么就能使用,不需要关心你是怎么实现这个功能(这里写成你用别人的代码会不会心里好点)。


函数的概念

        函数是由一段代码构成,能够完成一个特定的任务。

函数的定义

        函数的关键词 def

        def 函数名(形式参数):

                函数体

                return 返回效果

函数的调用

                函数名(实际参数)

写到这里,写个小栗子大家稍微感受一下函数

栗子:A和B玩两个骰子,比大小,两个骰子结果相加,谁大谁赢。函数随机生成两个数字,然后将数字相加,返回它们的和

import random


# 函数随机生成两个随机数然后将数字相加,返回它们的和
def pointGet():
    point1 = random.randint(1, 6)
    point2 = random.randint(1, 6)
    point = point1 + point2
    return point

# A调用函数得到一个结果
A = pointGet()
# B调用函数得到一个结果
B = pointGet()
if A>B:
    print("A赢了")
elif A==B:
    print("平手了")
else:
    print("B赢了")

下面是不用函数写的代码

import random


# A投掷两次投掷,得到结果
point1 = random.randint(1, 6)
point2 = random.randint(1, 6)
A = point1 + point2
# B投掷两次投掷,得到结果
point1 = random.randint(1, 6)
point2 = random.randint(1, 6)
B = point1 + point2


if A>B:
    print("A赢了")
elif A==B:
    print("平手了")
else:
    print("B赢了")

你们可以感受一下,上面只是调用一下函数部分,一行结束,下面每个人都要写一遍功能,函数部分要是越长,越能对比出来。

函数的运行机制

        一个程序写完之后,运行时,要先经过 编译流程 再到 执行流程。

        那么函数在程序中的运行机制呢?

        编译流程:

                1> 寻找def关键字 创建一个函数对象

                2> 创建一个函数体(但是并不执行)

        执行流程:

                1> 执行函数的调用

                2> 根据函数名跳转到函数定义的位置

                3> 执行函数体

                4> 返回到函数调用处,继续向下执行。

函数注意事项:

        虽然不是说函数必须写在一个程序块的最上面,但是函数必须要在调用之前定义好,所以为了不弄乱,也为了能够有更好的可读性以及书写习惯,把函数一般都定义在最上面。

        函数名一定要好好命名,这样方便你去调用,可读性也能更好。

        函数名开头必须小写,但是“小驼峰”还是用“_”分隔开,书写上面都不会报错,但是网络上说python有人说“小驼峰”规范有人说“_”规范,不太能确定。

总结:

        函数是写出“好看”代码的基础,一定要练习好函数的使用,但并不说一定要写成函数,只有一行两行代码的写在流程里一样漂亮。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值