zoukankan      html  css  js  c++  java
  • 初识python

    5.3 函数小高级

    a = 123
    name = '老男孩好'
    nums = [11,22,33,4]
    data = nums

    def func():
       pass # 100行代码

    # func = 函数

     

    5.3.1函数名当变量来使用

    def func():
       print(123)
       
    v1 = func

    func()
    v1()
    def func():
       print(123)
       
    func_list = [func, func, func]
    # func_list[0]()
    # func_list[1]()
    # func_list[2]()
    for item in func_list:
       v = item()
       print(v)
    def func():
       print(123)

    def bar():
       print(666)

    info = {'k1': func, 'k2': bar}

    info['k1']()
    info['k2']()

    混淆

    def func():
       return 123

    func_list1 = [func,func,func]
    func_list2 = [func(),func(),func()]

    print(func_list1)
    print(func_list2)

    info = {
       'k1':func,
       'k2':func(),
    }

    print(info)

     

    5.3.2函数可以当做参数进行传参

    def func(arg):
       print(arg)
       
    func(1)
    func([1,2,3,4])

    def show():
       return 999
    func(show)
    def func(arg):
       v1 = arg()
       print(v1)
       
    def show():
       print(666)
       
    func(show)
    def func(arg):
       v1 = arg()
       print(v1)
       
    def show():
       print(666)
       
    result = func(show)
    print(result)

    5.3.3 lambda表达式

    用于表达简单的函数。

    # 三元运算,为了解决简单的if else的情况,如:
    if 1 == 1:
       a = 123
    else:
       a = 456

    a =  123  if 1 == 1 else 456

    # lambda表达式,为了解决简单函数的情况,如:
    def func(a1,a2):
       return a1 + 100

    func = lambda a1,a2: a1+100

    #lanbda+三元运算
    func5 = lambda n1,n2: n1 if n1 > n2 else n2
    v = func5(1111,2)
    print(v)

     

  • 相关阅读:
    spring揭秘读书笔记----spring的ioc容器之BeanFactory
    spring启动加载过程源码分析
    java线程数过高原因分析
    spring揭秘读书笔记----ioc的基本概念
    git merge rebase的区别及应用场景
    spring实现定时任务
    jetty.xml解析
    Hackthebox--------irked
    CTF之信息泄漏
    CTF web题型解题技巧
  • 原文地址:https://www.cnblogs.com/jhui104/p/11443816.html
Copyright © 2011-2022 走看看