1.函数
将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集,称之为函数。
作用:使用函数可以加强代码的复用性,提高程序编写的效率。
结构:def 函数名():
函数体
此处的函数名不要是中文拼音,要符合标识符规范。(这里只是列举一下主要规则,不包含全部)
def func():
print("hello world")
func()
func()
函数名被调用几次,里面的代码就会执行几次,代码的执行顺序是从上往下执行,所以定义必须在调用函数之前。
2.返回值:return
函数执行结束之后,最后会给调用者的一个结果
作用:
1.return会给函数的执行者返回值
def buy():
print("小姐,请问有没有半岛铁盒?")
return "有啊,你从前面右转的第二排架子上就有了"
print(buy())
2.函数中遇到return,表示此函数到此结束,不再继续执行
def buy():
print("小姐,请问有没有半岛铁盒?")
return "有啊,你从前面右转的第二排架子上就有了"
return "没有" #函数中只能有一个return语句,多余的return语句不会被执行
print(buy())
3.参数
定义格式:
def 函数名(形参a,形参b): #形参:定义函数时,括号里面的变量
函数体
调用格式:
函数名(实参1,实参2) #实参:函数调用时,括号里面的变量
def add(a,b):
return a+b
print(add(1,2))
(1).必备参数(位置参数)
含义:传递和定义参数的顺序及个数必须一致
格式:def func(a,b)
def func(name,age,gender):
print("姓名:"+name)
print("年龄:"+str(age))
print("性别:"+gender)
func("张三",25,"男")
print("----------------")
func("女",30,"张三")
(2).默认参数
含义:为参数提供默认值,调用函数时可不传该默认参数的值
注意:所有的位置参数必须出现在默认参数之前,包括函数的定义和调用
格式:def func(a=12):
设置默认值,没有传值会根据默认值来执行代码,如果传值则根据传入的值来执行代码
def func(a=12):
print(a)
func()
func(34)
func(a=56)
def func(b,a=18):
print(a)
print(b)
func(20) #只传一个值的时候,传给的不是默认参数
func(25,19)
(3).可变参数
含义:传入的值的数量是可以改变的,可以传入多个,也可以不传
格式:def func(*args) 这里的args是可以被其他名称替换的,但是我们默认使用args,你也可以使用其他名称。
def func(*args):
print(args)
print(type(args)) #以元组形式接收
func(1)
func("海绵宝宝","派大星","章鱼哥")
(4).关键字参数
格式:def func(**kwargs)
def func(**kwargs):
print(kwargs)
print(type(kwargs)) #以字典形式接收
func() #空字典
func(name="海绵宝宝",age=22,gender="男")
#作用:可以扩展函数功能,可以接收任意数量的关键字参数,并将其作为字典传入函数中
4.函数嵌套
(1)嵌套调用
含义:在一个函数里面调用另外一个函数
def study():
print("学习")
def course():
study()
print("Python课程")
course()
(2)嵌套定义
含义:在一个函数中定义另外一个函数
def study():
print("学习")
def course():
print("Python课程")
course() #注意,定义和调用的顺序以及缩进,定义和调用是同级的,调用如果在定义里面,则永远也调用不到
study()