python 入门之 – 初识函数(二十四)

上面学完了 python 的基本数据类型和文件操作之后,今天学了一个新的知识点,函数,那么什么是函数呢?

先来看一个例子:

a = 2
if a == 1:
    print('当前的 a 等于:' + str(a))
    print('a 的值比 10 相差'+str(10-a))
elif a == 1:
    print('当前的 a 等于:' + str(a))
    print('a 的值比 10 相差' + str(10 - a))
elif a ==2:
    print('当前的 a 等于:' + str(a))
    print('a 的值比 10 相差' + str(10 - a))
elif a == 3:
    print('当前的 a 等于:' + str(a))
    print('a 的值比 10 相差' + str(10 - a))

>> 当前的 a 等于:2
	a 的值比 10 相差8

上方判断表达式里面,每个判断表达式里面的程序语句都是一样的,在没有学过函数之前这样写肯定是可以的,当然如果一个一摸一样的代码写了几百个地方,那么如果一个项目上线了之后维护出了问题需要调试代码,那么就要修改好几百个一摸一样的方法了,这样一来项目的维护成本就非常大了,而函数很好的解决了这个问题。

几乎每一门语言都有函数,如:在JavaScript 里面申明一个函数,是通过 function,如下方代码

function method(){
	console.log('调用成功')
}
method()

我在 JavaScript 里面声明了一个方法,然后在我需要的地方直接调用函数名称 mthod 就行,加上括号 () 证明这是一个方法,他就会匹配到对应的函数,然后执行这个方法里面的程序语句,这样一来如果项目上线了出现问题了需要改动代码,我只需要改变方法里面的内容,那么整个项目调用的这个方法就会全部被改变,这也就是通常意义上的 面向对象,相反面向对象就是 面向过程,同理,在我们没有学过 python 的函数之前,也就是如前面的那些章节的代码程序我们全部都是面向过程的编码,虽然功能达到了,但是代码可读性和维护性更差,那么现在就让我们走进 python 的函数世界吧。

如上方 JavaScript 函数声明以关键字 function ,在 python 里面函数以关键字 def 声明,我以上面最开始的例子来示范:

a = 2

def method():
    print('当前的 a 等于:' + str(a))
    print('a 的值比 10 相差' + str(10 - a))

if a == 1:
    method()
elif a == 1:
    method()
elif a ==2:
    method()
elif a == 3:
    method()

>> 当前的 a 等于:2
	a 的值比 10 相差8

可以看到我通过函数声明写出来的代码更加简介明了,而且可读性更强,如果程序出了问题我只要改动 method() 函数内部的程序语句,那么全局都变了,维护也更加容易了。

可能还是有朋友看不懂函数为什么要这么写,那么我就来一个一个的介绍,首先 python 里面严格规定了,声明一个函数必须要是 def 关键字开头的,def 关键字后面跟着的字母是函数的名称,关于函数名称可以随便取名,但是一定要是 英文字母,最好语义话方便别人能够读懂,英文字母后面的必须跟着一个括号 (),就像我们调用 python 内置的函数一样,后面要跟着一个括号,代表你调用的是一个函数方法,然后才是和循环以及判断表达式一样的操作。

当然你调用方法的时候如果不加括号,指向的一定不是这个函数的执行方法,而是指向这个函数的内存地址:

def method():
	print('hello word')

#如果你想查看函数 method 运行的内存地址,你可以直接 print 一下
print(method)

>> <function method at 0x10f325268>

函数在我们日常编码当中起着至关重要的作用,后面的几个章节开始都会围绕函数来进行进一步的讲解,今天就到这儿了。

猜你喜欢

转载自blog.csdn.net/weixin_43704471/article/details/84894001
今日推荐