文章目录
以下内容来自于网课学习笔记。
使用的环境:
- Window10+64位操作系统
- PyCharm+Python3.7
一、函数的定义
1. 自定义函数说明
函数是一段代码的表示
- 函数是一段具有特定功能的、可重用的语句组。
- 函数是一种功能的抽象,一般函数表达特定功能。
- 两个作用:降低编程难度和代码复用。
2. 自定义函数定义
def <函数名>(<参数(0个或多个)>):
<函数体>
return <返回值>
- 函数定义时,所指定的参数是一种占位符
- 函数定义后,如果不经过调用,不会被执行
- 函数定义时,参数是输入、函数体是处理、结果是输出(IPO)
3. 函数的调用
调用是运行函数代码的方式
函数调用过程
举例:
print("===================================================")
print("********************自定义函数**********************")
print("========打印函数=================")
def MyFunction():
print("蒹葭苍苍,白露为霜")
print("所谓伊人,在水一方")
print("-----------------")
print("窈窕淑女,君子好逑")
print("关关雎鸠,在河之洲")
MyFunction()
print("========两数相加函数==============")
def Add(a,b):
c=a+b
return c
result=Add(4,6)
print(result)
print("==========函数参数===================")
# 查看内置函数原型
help(print)
二、函数的参数传递
1. 参数个数
函数可以有参数,也可以没有,但是必须保留括号。
2. 可选参数传递
函数定义时可以为某些参数指定默认值,构成可选参数
def <函数名>(<非可选参数>,<可选参数>):
<函数体>
return <返回值>
举例:
3. 可变参数传递
函数定义时可以设计可变数量参数,既不确定参数总数量
def <函数名>(<参数>,*b):
<函数体>
return <返回值>
举例:
4. 参数传递的两种方式
函数调用时,参数可以按照位置或名称方式传递
举例:
print("------------------传参数--------------------------")
def sayTo(name,word):
print(name+'->'+word)
sayTo("Tom","Hello,this is Kangkang")
# 带关键字的传参
print("========= 关键字参数===============")
sayTo(name="WaitFoF",word="I miss you")
sayTo(word="I miss you",name="FCML")
print("===========默认值参数==============")
def sayTo(name="WaitFoF",word="I miss you"):
print(name+'->'+word)
sayTo()
sayTo("Kaed")
sayTo(word="where are you?")
sayTo("Tom","Hello,this is Kangkang")
print("=========收集参数==================")
def sayWord(*par):
print("参数长度:",len(par))
j=len(par)
for i in range(j):
print(par[i],end=" ,")
print()
sayWord("i","love","myself")
sayWord(1,2,3,"ff","gg",4,7,0)
def sayWord(*par,exp):
print("收集参数长度:",len(par)," ; exp参数:",exp)
j=len(par)
for i in range(j):
print(par[i],end=" ,")
print("exp=",exp)
print()
#出错: sayWord(1,2,3,4,5)
sayWord(1,2,3,4,exp=5)
print("========带默认值的可变参数==============")
def sayWord(*par,exp="haha"):
print("收集参数长度:",len(par)," ; exp参数:",exp)
j=len(par)
for i in range(j):
print(par[i],end=" ,")
print("exp=",exp)
print()
sayWord(1,2,3,4,5)
sayWord(1,2,3,4,exp=5)
三、函数的返回值
函数可以返回0个或多个结果
- return 保留字用来传递返回值
- 函数可以有返回值,也可以没有,可以有return,也可以没有
- return可以传递0个返回值,也可以传递任意多个返回值
函数调用时,参数可以按照位置或名称方式传递
print("输出:")
def hello():
print("hello Tom")
temp=hello()
# temp的值为 None
print("temp="+str(temp))
type(temp)
print("type="+str(type))
1. 单返回值的函数
print("--------单返回值------------")
def back():
return 1
back()
print("back()="+str(back()))
temp=back()
print("temp="+str(temp))
2. 多返回值的函数
2.1 返回列表
print("--------返回列表------------")
def back():
return [1,'hojo',1,4.3]
back()
print("back()="+str(back()))
temp=back()
print("temp="+str(temp))
print("temp[1]="+str(temp[1]))
print("temp[1:]="+str(temp[1:]))
print("temp[1][2]="+str(temp[1][2]))
2.2 返回元组
print("--------返回元组-----------")
def back():
return 1,'hojo',1,4.3
back()
print("back()="+str(back()))
temp=back()
print("temp="+str(temp))
print("temp[1]="+str(temp[1]))
print("temp[1:]="+str(temp[1:]))
print("temp[1][2]="+str(temp[1][2]))