python中number函数_如何最简单、通俗地理解Python的函数?

如何理解函数类型?

在Python中,一切皆对象,函数也是对象。在理解函数类型之前,我们先看一段简单的代码实例,计算某个区间范围内的所有合数的和:

# __desc__ = 计算某区间范围内的所有合数的和

# 定义变量sum_of_numbers用来保存所有合数的和

sum_of_numbers = 0

# 合数指自然数中除了能被1和本身整除外

# 还能被其他数(0除外)整除的数

for number in range(3, 10):

# 通过for循环和range来遍历从2到number之间的所有自然数

for _ in range(2, number):

# % 是Python中的求余计算符号

if number % _ == 0:

# number能被其他数整除时,余数为0

# 如果余数为0,说明为合数

sum_of_numbers += number

break

else:

print(sum_of_numbers)

在上文的代码中,通过for循环来计算1到10之间的所有合数的和。假设我们需要在下文中计算100到1000之间的所有合数的和?那么,该如何编写这样的程序?简单的做法是再次使用for循环来编写一段逻辑相同的代码,但这样的做法会造成代码的冗余。

在计算机编程中,可以将重复性的代码块封装到一个函数中,当需要实现相同的功能时,再调用这个函数。可以将函数通俗地理解为一个从输入到输出的转换器,例如语言翻译器就是一种函数,将一种语言输出为另外一种语言。

函数的定义

在Python中使用关键字def来定义函数,关于def的定义,可以在交互模式中执行help("def")来进行查找:>>> help("def")

Function definitions

********************

A function definition defines a user-defined function object (see

section The standard type hierarchy):

......

函数定义的基本语法:

def function_name(parameter_list):

return value

function_name表示函数名,在下文中再次调用函数时,需要通过函数名来进行引用,没有函数名的函数被称为匿名函数。Python中的函数名通常为小写的英语单词或单词的组合。在为函数取名的时候,函数名应当具备较强的可读性,即通过函数名就可以知道该函数的功能。函数名可以参考变量的命名风格。

parameter_list表示参数列表,参数列表是指函数可以包含多个参数,参数以英文逗号进行分隔。所谓的参数是指函数的输入。函数通常会有一个输出,在Python中通过return语句将输出进行返回。Python解释器在解析执行当前函数时,在执行到return语句的时候,会结束函数的运行,并将值返回给调用方。当需要返回多个值时,以逗号进行分隔。同学们可以将Python简单的理解为从输入到输出的转换,通过参数列表来定义函数的输入,通过函数的返回值,来定义输出的值。函数中的return不是必须的,这意味着函数可以没有返回值。

现在我们将计算区间范围内的合数的和来通过函数进行定义,以彻底的理解函数。

代码实例:

# __desc__ = 定义函数,计算某区间范围内的所有合数的和

# 使用def来定义函数

def sum_of_composite_numbers(start, stop):

# 函数名为sum_of_composite_numbers

# 在函数的参数列表中定义了两个形参,分别是start,stop

# start表示区间的起始位置,stop表示区间的结束位置

# 定义变量sum_of_numbers用来保存所有合数的和

sum_of_numbers = 0

# 合数指大于1的自然数中除了能被1和本身整除外

# 还能被其他数(0除外)整除的数

# 如果参数start的值大于2,那么保持原始的输入,否则赋值为3

start = start if start >2 else 3

for number in range(start, stop):

# 通过for循环和range来遍历从2到number之间的所有自然数

for _ in range(2, number):

# % 是Python中的求余计算符号

if number % _ == 0:

# number能被其他数整除时,余数为0, 如果余数为0,说明为合数,执行break退出循环

sum_of_numbers += number

break

# 通过 return将合数的和进行返回

return sum_of_numbers

在博客中系统学习Python:跟薯条老师学Python​chipscoco.comPython零基础入门指南​chipscoco.com精通Python面向对象编程​chipscoco.com轻松学会Django-django入门实战教程​chipscoco.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值