python语言编程函数_Python编程语言的函数功能

编程语言导游财报抄写员。

工具/原料

电脑

Python

工作原理

1

如果你有一定的Python基础,想必现在已经熟悉print(),input(),len()函数。Python提供这样一些内建函数。“函数就像一个程序内的小程序。

2

为了理解函数的工作原理,请按照下图输入,现在函数文件名我更喜欢加上一个数字,因为上一次存为random.py导致软件启动失败很闹心。

8db0c6a72633488460336f9addee7b7f870e456a.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

506d92f1d8a72633e454e955c02c56ee7a7f446a.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

一般来说,我们总是希望避免复制代码,因为如果一旦决定要更新代码(比如说,发现了一个缺陷要修复),就必须记住要修改所有复制的代码。

随着你获得更多的编程经验,常常会发现自己在为代码消除重复,即去除一些重复或复制的代码。消除重复能够使程序更短、更易读、更容易更新。

b1454a1bd10ff226c14a15b89c99e92abbb8a46a.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

def函数和参数

1

如果调用Print()或len()函数,你会传入一些数值,放在括号之间,在这里称为参数。也可以自己定义接收参数的函数。

49bf00425d6b04d138fabe3eb213e8e5edee0169.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

054056fe1e425d6b74026d9f11883913e9e50069.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

关于变元有一件特殊的事情值得注意:保存在变元中的值,在函数返回后就丢失了。

END

返回值和return语句

1

一般来说,函数调用求值的结果,称为函数的“返回值”。用def语句创建函数是,可以用return语句指定应该返回什么值。return语句包含以下部分:

·return关键字

·函数应该返回的值或表达式

c99358fe474ec283676a1f59be4f50b8b53e1c6f.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

f591ab03c8d246fe159be635b8bf3bef344f1e6f.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

可以将返回值作为参数传递给另一个函数调用,所以可以改写部分代码。

22c4fe36e29147e8ab351dc4b603bbea3f86586f.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2e223d85e036e291d03d1756b2723d03baea5b6f.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

Python中有一个值称为None,它表示没有值。None是NoneType数据类型的唯一值。就像True和False一样,None必须大写首字母。

在幕后,对于所有没有return语句的函数定义,Python都会在末尾加上return None。这类似于while或for循环隐式地以continue语句结尾。而且,如果使用不带值的return语句(也就是只有return关键字本身),那么就返回None。

116b1ae23ea23a4290ac84a63733ec3835bbc06f.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

关键字参数和print()

1

大多数参数是由它们在函数调用中的位置来识别的。但是关键字参数是有函数调用时加在他们前面的关键字来识别的。关键字参数通常用于可选变元。

ab966c6b0ce265e78fd440ce9f23beb9773eb771.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3b8fb4d7726b0ce2df3c10b9ef781423bfb9b671.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

局部和全局作用域

1

在被调用函数内赋值的变元和变量,处于该函数的“局部作用域”。在所有函数之外赋值的变量,属于“全局作用域”。处于局部作用域的变量,被称为“局部变量”。处于全局作用域的变量,被称为“全局变量”。

955ea0e434daf05e47fd5dc7751d96d81919e577.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

bfa52adaf05e4a2377afdaab1dd818196020e277.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

一个函数被调用时,就创建了一个新的局部作用域,这包括一个函数被另一个函数调用时的情况。

c255efc595ee41c160f888e58d88912ca4ca9b75.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

6bbfdd14f1c595ee971e939127530688902c9a75.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

全局变量可以在局部作用域中读取。

5e615d715fdb36205cd8e93fabc5260f89358d78.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

global语句

1

如果需要在一个函数内修改全局变量,就是用global语句。如果在函数的顶部有global eggs这样的代码,他就告诉Python,“在这个函数中,eggs指的是全局变量,所以不要用这个名字创建一个局部变量。”

2

如果变量在全局作用域中使用,他就总是全局变量。

如果在一个函数中,有针对该变量的global语句,他就是全局变量。

否则,如果该变量用于函数中的赋值语句,他就是局部变量。

但是,如果该变量没有用在赋值语句中,他就是全局变量。

92dd32f7dfb2dc19aec57fad95def4dca1391043.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

fb738d9c2cf7dfb283f0ea9ad01b1edef5dc1343.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

在一个函数中,一个变量要么总是全局变量,要么总是局部变量。如果想在一个函数中修改全局变量存储的值,就必须对该变量使用globa语句。在一个函数中,如果试图在局部变量复制之前就使用它,Python就会报错。

5917cb3da824d8e9e4399fd0da598540112ac840.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

0fb94656d53da824ff02e864306651598440cb40.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

异常处理

1

在Python程序遇到错误或异常时,意味着整个程序崩溃。你希望程序能检测错误,处理它们,然后继续运行。

2

比如当0作为除数时,就会发生ZeroDivisionError。

023cff37c97622bc3ac5ead1a05fd5460596285a.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

e076d77622bc7dc587670ee95e460596b814295a.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

3

通常,对于一个函数,你要知道的就是它的输入值(变元)和输出值。你并非总是需要加重自己的负担,弄清楚函数的代码实际是怎样工作的。如果以这种高层的方式来思考函数,通常大家会说,你将该函数看成一个黑盒。

这个思想是现代编程的基础。本书后面的章节将向你展示一些模块,其中的函数是由其他人编写的。尽管你在好奇地时候也可以看看源代码,但为了能使用它们,你并不需要知道它们是如何工作的。而且,因为鼓励在编写函数时不使用全局变量,你通常也不必担心函数的代码会与程序的其他部分发生交叉影响。

4

错误可以由try和except语句来处理。哪些可能发生错误的语句放在try子句中。如果错误发生,程序执行就转到接下来的except子句开始处。

a99a494afa32939c70f5fa045719ce2c5b1b1558.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

560be432939c2cf782b0f9af452c5b1b1ede1258.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

END

总结:猜数字程序

1

写完的感受是特别要注意缩进!一次就中,so boring!

bfa52adaf05e4a237475dbab1dd818196120e259.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

955ea0e434daf05e46275cc7751d96d81819e559.jpg?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_500%2Climit_1

2

函数是很好的工具,帮助你组织代码。你可以认为他们是黑盒。它们以参数的形式接收输入,以返回值的形式产生输出。它们内部的代码不会影响其他函数中的变量。

END

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。

展开阅读全部

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值