博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
day3-函数介绍
阅读量:6412 次
发布时间:2019-06-23

本文共 2087 字,大约阅读时间需要 6 分钟。

一、介绍

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

  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 0def #定义函数的关键字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 funcationin 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

你可能感兴趣的文章
scope
查看>>
一起谈.NET技术,晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo
查看>>
一起谈.NET技术,.Net Framework源代码中的模式之Prototype(原型模式)
查看>>
[shell 命令] find 查找文件
查看>>
windows下启动mysql服务的命令行启动和手动启动方法
查看>>
VTK三维点集轮廓凸包提取
查看>>
【概率论与数理统计】小结9-3 - 区间估计
查看>>
Golang性能调优入门
查看>>
sqlloader外部表
查看>>
golang笔记——数组与切片
查看>>
屏蔽可忽略的js脚本错误
查看>>
【Vue】vue.js常用指令
查看>>
NFS学习
查看>>
MySql常用命令总结
查看>>
又一年...
查看>>
Linux VFS
查看>>
ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...
查看>>
python中print的作用*8、不能+8_在 Python 3.x 中语句 print(*[1,2,3]) 不能正确执行。 (1.0分)_学小易找答案...
查看>>
python 生成html代码_使用Python Markdown 生成 html
查看>>
axure如何导出原件_Axure 教程:轻松导出图标字体所有图标
查看>>