首页 > 编程语言 > 详细

Python入门基础(7)

时间:2019-07-17 23:40:33      阅读:93      评论:0      收藏:0      [点我收藏+]

  这一篇来介绍一下函数里面的一些东西

  • 函数的参数
  1. 必须参数:必须参数必须以正确的顺序传入函数.调用时的数据必须和声明时的一样
  2. 如果根据参数名来传入参数值,则无须遵守定义形参的顺序,这种方式被称为关键字(keyword)参数
  3. 调用函数时,缺省参数的值如果没有哦传入,则被认为是默认值.
  4. Python 允许在形参前面添加一个星号(*),这样就意味着该参数可接收多个参数值,多个参数值被当成元组传入
#函数参数
def name(name,age,sex):
    print(姓名: %s  年龄: %d  性别: %s %(name,age,sex))

#必须参数
name(李白,100,)
#关键字参数
name(name=大废物,age=88,sex="哈麻皮")

#默认参数
def pro(school,family,cos = 高一(1)班):
    print(school,family,cos)

pro(华中师范大学附属中学,湖北襄阳,高三(5)班)

#不定长参数
def le(name,*age):
    print(name,age)

le(fi,18,shab1,999)

运行结果为:

姓名: 李白  年龄: 100  性别: 公
姓名: 大废物  年龄: 88  性别: 哈麻皮
华中师范大学附属中学 湖北襄阳 高三(5)班
fi (18, shab1, 999)
  • 函数的作用域

  函数的作用域分为四种情况:

  L:local 局部作用域,即函数中定义的变量; E:enclosing 嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的

  G:global 全局变量就是模块级别定义的变量; B:builtin 系统固定模块里面的变量,比如int,bytearray等

  • 递归函数

  我们知道,在一个函数内部可以调用其他函数,如果一个函数在内部调用自己本身,那这个函数就是递归函数

  例如:

#使用函数递归实现阶乘
def func(number):
    if number == 1:
        return 1
    return number*func(number - 1)

print(func(5))

#斐波那契数列的实现
def fibo_new(n):

    if n <= 1:
        return n
    return (fibo_new(n-1) + fibo_new(n-2))
print(fibo_new(3))

运行结果

120
2
  • python 中lambda(匿名函数)表达式及用法
def add(x,y):
    return x+y
print(add(3,7))

print(*******************)

#使用匿名函数
c = lambda x,y:x+y
print(c(4,8))

运行结果:

10
*******************
12

lambda表达式的语法结构如下;

  lambda 参数:返回值

  从lambda的语法格式我们可以看出它的几个要点:

    1.lambda表达式必须使用lambda关键字定义

    2.在lambda关键字之后,冒号左边是参数列表,可以没有参数,也可以有多个参数,如果有多个参数,则需要使用逗号隔开,

      冒号右边是该lambda表达式的返回值\

lambda表达式使用起来更加方便,也可以是代码更加简洁,希望大家熟练掌握

Python入门基础(7)

原文:https://www.cnblogs.com/xy-l/p/11204323.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!