Python基础语法(六)

一、函数的返回值

  • 返回值就是函数执行以后返回的结果
  • 通过return来指定函数的返回值
  • return后面可以跟任意对象,返回值甚至可以是一个函数
def fun1(x,y):
    print(x+y)    #打印x+yd的值
    return

result=fun1(1,6)   #调用
print(result)      #返回空值
print(type(result)) #返回空值类型

在这里插入图片描述

二、文档字符串

  • help()是Python中内置函数,通过help()函数可以查询Python中函数的用法
  • 在定义函数时,可以在函数内部编写文档字符串,文档字符串就是对函数的说明
def demo(a,b,c):
    '''

    :param a:
    :param b:
    :param c:
    :return:
    '''
help(demo)

在这里插入图片描述

三、函数的作用域

  • L(Local):最内层,包含局部变量,比如一个函数/方法内部。
  • E(Enclosing):包含了非局部(non-local)也非全局(non-global)的变量。比如两个嵌套函数,一个函数(或类) A 里面又包含了一个函数 B ,那么对于 - B 中的名称来说 A 中的作用域就为 nonlocal。
  • G(Global):当前脚本的最外层,比如当前模块的全局变量。
  • B(Built-in): 包含了内建的变量/关键字等。,最后被搜索
total1=0  #全局变量
def fun(a,b):
    total2=a+b    #局部变量
    print('函数内部的total1是',total2)
    return total2

fun(1,2)  #调用
print('函数外部的total1是',total1)

在这里插入图片描述

四、命名空间

  • 内置名称(built-in names), Python 语言内置的名称,比如函数名 abs、char 和异常名称 BaseException、Exception 等等。
  • 全局名称(global names),模块中定义的名称,记录了模块的变量,包括函数、类、其它导入的模块、模块级的变量和常量。
  • 局部名称(local names),函数中定义的名称,记录了函数的变量,包括函数的参数和局部定义的变量。(类中定义的也是)
namespace=locals()
print(namespace,type(namespace))

在这里插入图片描述

五、递归函数&匿名函数

5.1 递归函数

  • 递归是解决问题的一种方式,它的整体思想,是将一个大问题分解为一个个的小问题,直到问题无法分解时,在去解决问题
    基线条件 问题可以被分解为最小问题,当满足基线条件时,递归就不执行了
    递归条件 可以将问题继续分解的条件
def fib(n):
    a,b=0,1
    for i in range(n):
        a,b=b,a+b
        print(a)
fib(10)

在这里插入图片描述

5.2 匿名函数

  • Python使用lambda关键字创造匿名函数。所谓匿名,意即不再使用def语句这样标准的形式定义一个函数。这种语句的目的是由于性能的原因,在调用时绕过函数的栈分配。其语法是:
    lambda [arg1[, arg2, … argN]]: expression
    其中,参数是可选的,如果使用参数的话,参数通常也会在表达式之中出现。

true=lambda:True
print(true)
true()

a = lambda x, y: x + y
print(a(1,3))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值