1.4函数

函数介绍

函数是组织好的,可以重复使用的,用来实现特定功能的代码块。

这里面分为自定义函数以及内置函数,内置函数就是Python当中已经写好的函数,不需要我们再次动手去写的,例如之前接触到的print() 、input() 、int() 、str()等等。自定义就是需要我们自行写的函数。

函数的定义

函数的定义:

def 函数名(传入参数可省略):
函数体
return 返回值(可省略)

函数的调用:

函数名(传入参数 如果有)

给出样例:(写一个自动帮忙输出hello world的函数,并使用)

def say_hello_world() :  # 函数的确立
    print("hello world")

say_hello_world() # 函数的执行

输出结果:
在这里插入图片描述
可以看出的是:函数需要先定义后使用。也就是说函数的定义需要在上面,使用放在下面。

函数的参数

这边直接给一个样例进行分析:给出的是自动帮忙计算加法的样例:

def add(data1,data2) :  # 函数的确立
    print(f"{data1}+{data2}={data1+data2}")

add(1,2) # 函数的执行

输出结果:
在这里插入图片描述
在函数的定义中,我们可以看到data1和data2属于形参,表示生存周期就在函数体内,出了函数体,它就不存在了。而又可以看出传入参数的时候,我们传入的是多个参数,就需要使用逗号隔开。

而外部传入的1,2或者说我们传入一个变量,属于实际参数,生存周期就是整个程序运行的时间,值得注意的是,传入参数的时候,按顺序传入数据,使用逗号,进行区分多个变量。

函数的返回值

函数返回值的定义

直接写一段代码进行分析,实际上也就是上述加法带有return的样例:

def add(data1,data2) :  # 函数的确立
    r = data1+data2
    return r
sum = add(1,2) # 函数的执行
print(f"1+2={sum}")

输出结果:
在这里插入图片描述

返回值实际上就是函数完成的时候,返回到主程序当中的数据。

或者说return返回值就代表着函数的结束使用,在函数return的后面,如果再次接上相关代码,是不实现的。

None类型

实际上就算函数没有使用return 返回值,他也会有返回值,他返回的实际上是None这个字面量,代表着这个函数没有返回值

样例:

def aa() :
    print("函数执行了")
result=aa()
print(result,"  ",type(result))

输出结果:
在这里插入图片描述
或者我们也可以手动的返回None,在函数的末尾写上return None,也相当于没有返回值的情况。

而对于None的应用场景:

  1. 函数没有返回值时候。
  2. 用在if判断的时候,实际上None放到if的判断语句当中,就等效于False。

例子:

def check(num) :
    if(num>=18) :
        return 1
    else:
        return None
if not check(2) :
    print("您未成年")

输出结果:
在这里插入图片描述
值得注意的是not的作用相当于C++当中的!。

  1. None可以用于声明无内容的变量。

比如:name=None

函数的嵌套调用

实际上这个操作十分的简单,哪里需要使用就哪里进行书写:

def fun1() :
    print("---2---")
def fun2() :
    print("---1---")
    fun1()
    print("---3---")
fun2()

输出的结果:
在这里插入图片描述
但这里的前提是,在使用函数之前,就需要先进行定义。

变量的作用域

局部变量:

作用在函数体内部,在函数外部无法进行使用的变量。

实际上就是在函数体内部定义的变量。

样例:

num1=1
def fun1() :
    num1=2
    print(f"这里使局部变量num1,num1的值为:{num1}")
fun1()
print(f"这里使全局变量num1,num1的值为:{num1}")

输出结果:
在这里插入图片描述
全局变量:

作用在函数内部和外部都可以使用。

实际上就是在函数体外部定义的变量。

我们可以使用global关键字进行声明,使局部变量变成全局变量。

样例:

num1=1
def fun1() :
    global num1
    num1=2
    print(f"这里使局部变量num1,num1的值为:{num1}")
fun1()
print(f"这里使全局变量num1,num1的值为:{num1}")

输出结果:
在这里插入图片描述
实际上global num1就相当于对于num1的全局声明,声明其是一个全局变量,方便去使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值