day3-函数介绍

一、介绍

  在我们以往的学习编程的过程当中,碰到的最多的两张编程方式或者说编程方法:面向过程和面向对象。其实不管是哪一种,其实都是编程的方法论而已。但是现在有一种更古老的编程方式:函数式编程,以它的不保存的状态,不修改变量等特性,重新进入我们的视野。

  1. 面向对象 --->类 ---->class
  2. 面向过程 --->过程--->def
  3. 函数式编程-->函数--->def

二、函数定义

  我们上初中那会也学过函数,即:y=2x,说白了,这里面总共就两个变量x和y,x是自变量,y是因变量(因为x变而变),y是x的函数。自变量的取值范围,叫做这个函数的定义域。

  说了这么多,我们还是来讲讲,编程中的函数定义吧!!!

1、函数定义:

def test():
    "the funcation details"
    print("in the test funcation")
    return 0

def #定义函数的关键字
test #函数名
() #定义形参,我这边没有定义。如果定义的话,可以写成:def test(x): 其中x就是形式参数
"the funcation details" # 文档描述(非必要,但是强烈建议你为你的函数添加详细信息,方便别人阅读)
print #泛指代码块或者程序逻辑处理
return #定义返回值

 2、过程定义:

#定义过程
def test_2():
    "the funcation details"
    print("in the test funcation")

 注:从上面两个例子看出来,函数和过程,无非就是函数比过程多了一个return的返回值,其他的也没什么不一样。

3、两者比较:

#定义函数
def test_1():
    "the funcation details"
    print("in the test funcation")
    return 0

#定义过程
def test_2():
    "the funcation details"
    print("in the test funcation")

a = test_1()
b = test_2()
print(a)
print(b)

#输出
in the test funcation
in the test funcation
#输出返回值
0
#没有return ,返回为空
None

 小结:不难看出,函数和过程其实在python中没有过多的界限,当有return时,则输出返回值,当没有return,则返回None

三、使用函数原因

 至此、我们已经了解了函数,但是我们为啥要用函数啊,我觉的我们以前的那种写法挺好的呀!其实不然,我给使用函数总结 了两点好处:

  • 代码重复利用
  • 可扩展性
  • 保持一致性

1、代码重复利用

   我们平时写代码的时候,最讨厌的就是写重复代码,这个无疑是增加我们的工作量,所以代码重用性是非常有必要的。下面我们就举个简单的例子吧,使用函数和不使用函数的区别。

①优化前

#假设我们编写好了一个逻辑(功能),用来打印一个字符串
print("高高最帅")

#现在下面有2个函数,每个函数处理完了,都需要使用上面的逻辑,那么唯一的方法就是拷贝2次这样的逻辑
def test_1():
    "the funcation details"
    print("in the test1")
    print("高高最帅")
    
def test_2():
    "the funcation details"
    print("in the test2")
    print("高高最帅")

那么假设有n个函数,我们是不是也要拷贝n次呐?于是,我们就诞生了下面的方法

②优化后

def test():
    print("高高最帅")
    
def test_1():
    "the funcation details"
    print("in the test1")
    test()

def test_2():
    "the funcation details"
    print("in the test2")
    test()

2、可扩展,代码保持一致性

#代码逻辑变了
def test():
    print("高高一直都很帅")
    
def test_1():
    "the funcation details"
    print("in the test1")
    test()

def test_2():
    "the funcation details"
    print("in the test2")
    test()

 注:如果遇到代码逻辑变了,用以前拷贝n次的方法,那什么时候拷贝完啊,而且中间有遗漏怎么办,如果用了函数,我们只需要改这个函数的逻辑即可,不用改其他任何地方。

 

转载于:https://www.cnblogs.com/zhangqigao/articles/6495253.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值