zoukankan      html  css  js  c++  java
  • python学习笔记(9)--函数

    函数定义:

    def <函数名>(<参数(0个或多个)>):
      函数体
      return <返回值>

    参数有非可选参数,和可选参数,可选参数放在参数列表的最后,可以为可选参数指定默认值。如下:

    def fact(n,m=1):
        s = 1
        for i in range(1,n+1):
            s *= i
        return s//m
    >>> fact(10)
    3628800
    >>> fact(10,5)
    725760

    函数定义时可以设计可变数量参数,既不确定参数总数量。

    def <函数名>(<参数>,*b):
      函数体
      return <返回值>

    举例如下;

    def fact(n,*b):
        s = 1
        for i in range(1,n+1):
            s *= i
        for item in b:
            s *= item
        return s

    结果如下:

    >>> fact(10,3)
    10886400
    >>> fact(10,3,5,8)
    435456000

    函数的返回值,可以返回多个返回值,如下代码:

    def fact(n,m=1):
        s = 1
        for i in range(1,n+1):
            s *= i
        return s//m, n, m

    结果如下:

    >>> fact(10,5)
    (725760, 10, 5)
    >>> a,b,c=fact(10,5)
    >>> print(a,b,c)
    725760 10 5

    函数的局部变量和全局变量,如果函数内部使用的局部变量为组合数据类型且未创建,等同于全局变量。

    >>> ls=["F","f"]
    >>> def func(a):
        ls.append(a)
        return
    
    >>> func("c")
    >>> print(ls)
    ['F', 'f', 'c']

    类似于C语言中的指针操作。如果函数内部又定义了一个同名的ls列表,那么ls就属于局部变量。

    >>> ls = ["F", "f"]
    >>> def func(a):
        ls=[]
        ls.append(a)
        return
    
    >>> func("c")
    >>> print(ls)
    ['F', 'f']

    lambda函数是一种匿名函数,即没有名字的函数,返回的是函数名,lambda函数用于定义简单的,能够在一行内表示的函数。

    <函数名> = lambda<参数>:<表达式>

    >>> f = lambda x,y:x+y
    >>> f(10,15)
    25
    >>> f = lambda:"hello"
    >>> print(f())
    hello

    lambda函数主要用作一些特定函数或方法的参数。

  • 相关阅读:
    linux 查看数据库和表
    使用Java实现发送email邮件
    kafka使用说明书
    关于hadoop各种项目中用到的maven依赖
    阿里云服务器快速搭建自己的个人网站
    CentOS7命令大全
    solr中文分词
    windows安装MySQL详细图解过程
    spark数据倾斜分析与解决方案
    浅谈KMlib(机器学习)
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8946160.html
Copyright © 2011-2022 走看看