分享

Python基础知识储备,小白都能看懂的Python函数,实战操作演示

2020-02-28  保存文章的

前面我们在Python中编写程序遵循的原则是根据需求从上到下实现功能,所以经常会使用一长段代码来实现某个功能,在编程过程中最常见的操作就是复制粘贴,也就是将之前实现的代码块复制到现在所需功能的地方,这种编程方式虽然可以应付一般性简单的问题,但是不能对付大多数问题。

因此就需要用到函数,有了函数,函数本身只需要写一次,就可以多次调用。

Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接被用户调用。

python函数

一、什么是函数

函数(function) 是实现某个特定功能的代码块的集合,组成为一个小模块,在需要的时候直接调用,函数在JAVA和C#中称为方法(method),函数是开发中最基本的一个模块,如图在Python通过def来定义的函数:

Python基础知识储备,小白都能看懂的Python函数,实战操作演示

函数

函数的概念来源于数学上的函数,在数学中,当数据具有一定的规律时,就是用一个函数来代表该数字的规律,如图所示:

Python基础知识储备,小白都能看懂的Python函数,实战操作演示

函数的概念

二、如何定义一个函数

1)函数的语法格式

函数的使用包含两个步骤:

  • 定义函数——封装独立的功能
  • 调用函数——享受封装的成果

定义函数的格式:

def 函数名称(参数列表):

"函数的功能说明"

函数具体代码

return[expression]

  • def是英语define的缩写
  • 函数名称 应该能够表达 函数封装代码的功能,方便后续的调用
  • return 当函数执行完毕后,可以给调用者返回数据
def get_number(num01): # num01是形参
"""
函数功能:用来返回num01*num01 - num01值
:param num01: 参数
:return: 返回结果
"""
return num01*num01 - num01

def get_add_result(num01, num02):
return num01 + num02

def get_sub_result(num01, num02):
return num01 - num02

def get_mul_result(num01, num02):
return num01 * num02

def get_div_result(num01, num02):
return num01 / num02

if __name__ == "__main__":
print(get_number(10)) # 10是实参
print(get_number(100))
print(get_number(1000))
print(get_add_result(100, 50)) # 调用两数相加的结果
print(get_sub_result(100, 50)) # 调用两数相减的结果
print(get_mul_result(100, 50)) # 调用两数相乘的结果
print(get_div_result(100, 50)) # 调用两数相除的结果

执行结果:

Python基础知识储备,小白都能看懂的Python函数,实战操作演示

函数的创建

2)创建函数的规则

  • 函数代码块以def关键词开头,后接函数标识符名称【函数名称】和圆括号()参数列表,如果没有参数可以不写。
  • 任何传入参数和自变量必须放在圆括号()中间,圆括号()中间可以用于定义参数
  • 函数的第一行语句可以选择性地使用文档字符串,用于存放函数说明
  • 函数内容以冒号起始,并且缩进
  • return[表达式]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回None

3)使用函数的好处

1)分而治之:方法允许将程序分为不连续的逻辑单元。调用单独的单元与调试不包含过程的整个程序相比要容易

2)代码重用:反复实现某一个功能的代码,不需要进行多次书写,大大减少代码量

3)可读性强

4)代码的封装:使用方法的使用者不需要了解方法实现的细节,就可以使用方法。

函数

三、函数案例演示

需求:生成若干个整数的集合,求最大数、最小数、元素之和、元素的平均数

import random

def build_array(start_number,end_number,number):

# 功能描述:生成若干个固定范围的整数集合
# :param start_number: 指定整数范围的起始值
# :param end_number: 指定整数范围的结束值
# :param number: 生成的数量
# :return: 整数的集合

number_list = []
for i in range(number):
number_list.append(random.randint(start_number,end_number))
# 返回
return number_list

def sum_of_list(list01:list):
"""
功能描述:求所有的list元素之和
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:param list01: 要求的list名称
:return: 返回所有元素之和
"""
sum = 0
for i in list01:
sum += i
# 返回sum
return sum

def max_of_list(list01:list):
max_number = list01[0]
for i in list01:
if i > max_number:
max_number = i
return max_number

def min_of_list(list01:list):
min_number = list01[0]
for i in list01:
if i < min_number:
min_number = i
return min_number


if __name__=="__main__":
# 生成集合
list_number = build_array(100, 200, 10)
# 生成的集合
print("生成的集合为:", list_number)
# 求和
print("所有的元素之和为:", sum_of_list(list_number))
# 所有元素的最大值
print("所有的元素最大值:", max_of_list(list_number))
# 所有元素的最小值
print("所有的元素最小值:", min_of_list(list_number))

执行结果:

Python基础知识储备,小白都能看懂的Python函数,实战操作演示

函数操作

思考:能否将函数调用放在函数定义的上方?为什么?欢迎大家留言给我

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 全屏 打印 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多