欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python教程——函数的使用

程序员文章站 2022-05-13 12:46:09
Python教程——函数的使用本篇介绍使用Python来封装函数代码块,使得程序的模块化设计可以有效的进行使用函数的基本形式函数可多次调用,减少重复工作才是封装函数真正目的将任务分批次完成,每个步骤通过函数的封装,不仅仅能在这里完成某项工作中完成,其他的工作也能调用其中的某一步,合理的分配步骤能真正的实现代码优化可以向函数传入不同的数据类型。封装函数def addto_(a,b): return a+b以上代码封装了一个函数方法,传入参数a与b,返回a+b黑盒模型***...

Python教程——函数的使用

本篇介绍使用Python来封装函数代码块,使得程序的模块化设计可以有效的进行

使用函数的基本形式

  • 函数可多次调用,减少重复工作才是封装函数真正目的
  • 将任务分批次完成,每个步骤通过函数的封装,不仅仅能在这里完成某项工作中完成,其他的工作也能调用其中的某一步,合理的分配步骤能真正的实现代码优化
  • 可以向函数传入不同的数据类型。
封装函数
def addto_(a,b):
    return a+b

以上代码封装了一个函数方法,传入参数a与b,返回a+b

黑盒模型****

本地调用调用函数
def addto_(a,b):
    return a+b
print(str(addto_(1,2)))			#3
#使用函数时直接使用函数名输出即可

上述将调用的函数通过转化为字符串的形式输出

在不同的py文件下调用函数

express.py:

def addto_(a,b):
    return a+b

test.py:

import express
print(str(express.addto_(1,2)))		#3

以上代码通过import从express.py文件中直接调用addto_的方法,可以直接进行使用,实际上我们在一般的情况下,将每个方法分成多个模块,就需要不同的py文件封装,从而使得代码更加规范化

实参和形参

  • 实参:调用函数时传递给函数的信息
  • 形参:函数完成工作所需的信息
位置实参
  • 每个实参都要对应着函数中的实参,而在上面的代码,实现的就是默认位置的调用
  • 上述代码中:a=1,b=2
  • 位置的顺序在很多情况下很重要,因此在多参数的情况下,位置实参并不是一个很好的选择。
关键字实参
def addto_(a,b):
    return a+b
print(str(addto_(b=1,a=2)))				#3

上述代码展示了关键字实参的用法,对原有的顺序不置可否,关键的还是要看形参与实参的关系。

以上代码与上面代码块不同的是,b=1,a=2,是通过我直接将实参赋给形参带入运行的

值得引起我们重视的是,通过上述的方法需要你清楚的记得函数中的形参的形参的拼写

默认值
def addone_(a,b=1):
    return a+b
print(str(addone_(1)))  			#2

以上b通过默认值设置,我们不必再输入b的值,因为其已经默认为1,同样我们可以通过位置参数、关键字参数对其进行修改

因此在使用默认值时,在形参中必须先通过关键字参数列出没有默认值的形参,再列出有默认值的形参。这让Python依然能正确地解读位置参数

传入的列表不修改内容
  • 通过def XXX(数组[ : ]),即通过备份来完成实现对列表的备份
传入任意数量的实参
def addto_(*nums):
    sums = 0
    for num in nums:
        sums = sums + num
    print(str(sums))
addto_(1,2,3,4,5)				#15

通过“*”来表示可以输入任意数量的实参

需要注意的是,其中的值都为元组

接收任意数量的键—值对
def people(name,**message):
    print("name:"+name)
    for key,value in message.items():
        print(key+":"+ str(value))
people("Lindan",age=37,nationality="China")
'''
name:Lindan
age:37
nationality:China
'''

通过传入的键—值对实现对字典的输出,同样,以上也能看出位置实参与任意数量实参的灵活运用

在编写程序时,你可以灵活使用位置实参、关键字实参和任意数量的实参

模块化灵活运用函数

  • 上面我们简单介绍过在其他py文件中直接调用函数,现我们再进一步拓展

express.py:

def addto_(a,b):
    return a+b

以上是我需要导入的函数

导入py文件中特定函数
from express import addto_
print(str(addto_(1,2)))				#3

我们从express文件中导入addto_的函数,这可直接在当前文件中使用该函数

使用as定义别名
from express import addto_ as addnum_
print(str(addnum_(1,2)))			#3

通过as可以重新给函数命名,变成你喜欢的名字,但是值得注意的是,定义别名后,原函数名不可使用

import express as add_to
print(str(add_to.addto_(1,2)))		#3

通过as也可以对模块进行重命名

导入所有的函数
from express import *
print(str(express.addto_(1,2)))

一个模块中不止一个函数,因此想要导入所有的函数,就可以通过 “ * ” 实现

本文地址:https://blog.csdn.net/weixin_46139709/article/details/107469195

相关标签: python教程 python