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函数主要用作一些特定函数或方法的参数。

  • 相关阅读:
    Django(app的概念、ORM介绍及编码错误问题)
    Django(完整的登录示例、render字符串替换和redirect跳转)
    Construct Binary Tree from Preorder and Inorder Traversal
    Single Number II
    Single Number
    Binary Tree Level Order Traversal II
    Binary Tree Level Order Traversal
    Binary Tree Zigzag Level Order Traversal
    Recover Binary Search Tree
    Add Binary
  • 原文地址:https://www.cnblogs.com/xingmuxin/p/8946160.html
Copyright © 2011-2022 走看看