函数是可以用来反复调用的代码块,往往是具有某一特定功能。
通常的函数形式
def myUpper(mystr): # 定义 def 函数名(形参):
""" 这是函数的文档注释 """
tempstr=mystr.upper() #偷个懒没有自己实现变大写函数
return tempstr
print( myUpper('great') ) #函数调用,'great'是参数,实参
# result: GREAT
#多个参数时 有1)位置实参,即按位置对应
def xxxxxfx(x1,x2):
xxxxxxxx
xxxxxfx(1,2) # 调用函数,此时1传给x1, 2传给x2
# 2)关键字实参 使用参数名称-值 配对的形式,可任意顺序
def xxxxxfx(x1,x2):
xxxxxxxx
xxxxxfx(x2=2,x1=1) #指定参数名的形式调用函数
# 3)默认值 给参数设定一个默认值,调用时没有给这个参数值时使用默认值
def xxxxxfx(x1,x2=10):
xxxxxxxx
xxxxxfx(x1=1) #调用,此时函数内x2的值为默认值10
#函数返回值也包括大多数类型,列表及字典都可以
#此外,传给函数的参数如果是简单类型,如数字,字符串等,在函数中修改不影响原来的实参
#然而 如果实参是列表或者字典类型,在函数中修改则原来作为实参的字典或列表也被同步修改
#当然,也可以使函数运行不改变实参的列表或者字典,即将列表的副本作为实参即可
def xxxxfx(stulist):
xxxxxx
stus=['s1','s2','s3']
xxxxfx(stus[:]) # 讲列表以副本的形式(stus[:])作为参数
#任意数量参数 (一个形参,将多个实参转化为一个元组,注意符号*)
def xxxxfx(*something):
xxxxx
xxxxfx('mm')
xxxxfx('aa','ww','mm')
#位置实参与任意数量实参
def xxxxfx(num,*something):
xxxxx
xxxxfx(60,'cat','dog','pig')
模块
及类似于c的函数库
首先可以在同目录下创建一个名为myfunction.py的文件,其中里面是自己写好的函数,例如包含下面这个函数:
def printtext():
print("Hi!")
print(" I'm your module function .")
那么在你的主文件中可以调用这个函数,只需要在文件开头引入这个模块
然后就可以使用了
import myfunction #注意没有.py
myfunction.printtext() #调用函数,注意形式是 模块名.函数名()
#当然也可以只引用这一个函数
from myfunction import printtext #注意这里函数名不加括号
printtext() #现在只用函数名就可以调用函数
#模块名太长可以起别名
import myfunction as mf
mf.printtext() #调用函数
#同理也可以给函数起别名
from myfunction import printtext as pt
本文深入探讨Python函数的定义与调用方式,包括位置实参、关键字实参、默认值参数、任意数量参数等概念,并讲解如何通过模块来组织和复用代码。

被折叠的 条评论
为什么被折叠?



