Python(六)函数

函数是一个工具,在输入和输出之间构造一个关系;使用函数方便了代码的复用,避免重新造轮子;

目录

函数的分类

内置函数

自定义函数

函数几种格式对比

无参数,无返回值

有参数,无返回值

无参数,有返回值

有参数,有返回值

局部函数

变量作用域

局部变量

全局变量

方式一:在函数体外定义的变量

方式二:在函数体内定义全局变量,使用 global 关键字对变量进行修饰后,该变量就会变为全局变量


函数的分类

内置函数:python自身带有的,实践中使用非常频繁的一些函数;

自定义函数:通常指程序员自己定义自己使用的函数;

模块函数:把一些函数,单独地放在被成为模块的文件中,这些函数就被称为模块函数。这些函数可能是python自带的,也可能是由第三方开发的一些函数;

 

内置函数

python内置函数有哪些?整理到了7大分类48个函数,都是工作中常用的函数 - 知乎

 

自定义函数

def 函数名(参数):#参数可选

    函数体

    [return 返回值]       #可选

函数几种格式对比

通过案例了解自定义函数的几种情况:半径为10,计算圆面积

如果没有return返回值,直接调用函数;如果有return返回值,函数的运行结果作为一个值使用;

如果没有参数,只能计算半径为10的情况;如果有参数,通过修改参数可以计算不同半径;

无参数,无返回值
def area1():
    print(3.14*10*10)

area1()                 #314.0
有参数,无返回值
def area1(r):
    print(3.14*r*r)

area1(10)                 #314.0
无参数,有返回值
def area1():
    return 3.14*10*10

print(area1())                #314.0
有参数,有返回值
def area1(r):
    return 3.14*r*r

print(area1(10))                #314.0

局部函数

Python 支持在函数内部定义函数,此类函数又称为局部函数,默认情况下局部函数只能在其所在函数的作用域内使用。

def jisuan(type,n):
    def add(n):
        return n+n
    def double(n):
        return n*3
    def el(n):
        return n

    if type == 'add':
        return add(n)
    elif type == 'double':
        return double(n)
    else:
        return el(n)

print(jisuan('add',20))     #40
print(jisuan('double',20))  #60
print(jisuan('addd',20))    #20

变量作用域

Python变量作用域(全局变量和局部变量)

一个程序的所有的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的

局部变量

在函数内部定义的变量,它的作用域也仅限于函数内部,出了函数就不能使用了,我们将这样的变量称为局部变量(Local Variable)。

当函数被执行时,Python 会为其分配一块临时的存储空间,所有在函数内部定义的变量,都会存储在这块空间中。而在函数执行完毕后,这块临时存储空间随即会被释放并回收,该空间中存储的变量自然也就无法再被使用。

全局变量

除了在函数内部定义变量,Python 还允许在所有函数的外部定义变量,这样的变量称为全局变量(Global Variable)。

和局部变量不同,全局变量的默认作用域是整个程序,即全局变量既可以在各个函数的外部使用,也可以在各函数内部使用。

方式一:在函数体外定义的变量
x = '认识全局变量'

def str1():
    x = '认识局部变量'
    print(x)

print(x)     #认识全局变量
str1()       #认识局部变量
print(x)     #认识全局变量
方式二:在函数体内定义全局变量,使用 global 关键字对变量进行修饰后,该变量就会变为全局变量
x = '认识全局变量'

def str1():
    global x
    x = '认识局部变量'
    print(x)

print(x)     #认识全局变量
str1()       #认识局部变量
print(x)     #认识局部变量

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值