Python中的函数和函数嵌套

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值