• 一起入门python6之函数


    今天我们来学习新的一篇吧,那便是“函数(function)
    我们用def来定义一个函数,以案例说话。
    >>> def name(x):          #定义一个“name”的函数
    ...     print x + ",是一个帅哥!"           #加号就当作一个连接符了,连接x跟后面的字符串
    ...
    >>> name("二狗哥")
    二狗哥,是一个帅哥!
    >>>
    >>>#求三角形面积。
    >>> def sanjiaoxing(di,gao):
    ...     s = di * gao / 2
    ...     return s
    ...
    >>> sanjiaoxing(31,54)
    837
    >>>#再来一个小案例教大家认识一下啥事局部作用于跟全局作用域,其实跟别的语言一样,就是全局变量跟局部变量而已。
    >>> a = 2
    >>> b = 4
    >>> def test(b):
    ...     test = a * b
    ...     return test          #return是返回的意思,返回test
    ...
    >>> #大家猜一下输出多少?
    >>> print test(12)
    24
    >>>#def 里面的是叫做局部变量,而def外面的是全局变量。局部的只能在局部用,当然了,局部的也可以调用全局的,但是全局是不能调用局部。所以打印出来是24,即2*12
    >>>
    >>> a = 2
    >>> b =[12,23]
    >>> def test(a,b):
    ...     a = 5
    ...     b[0] = 45
    ...     print a,b
    ...
    >>> test(a,b)
    5 [45, 23]
    >>>#上面的一个案例你明白了吗?明白了的话,那就是真的懂了。
    再给大家传授一个函数。那便是lambda函数
    lambda只是一个表达式,函数体比def简单很多。其主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
    lambda是起到一个函数速写的作用。允许在代码内嵌入一个函数的定义。
    用lamdba会比def定义的函数来的简单多。来看一下下面的案例。
    >>>def python(x,y,z):
    .......     return x+y*z
    .......
    >>>python(1,2,3)
    7
    如果用lambda的话是这样的
    >>>s = lambda x,y,z:x+y*z  #直接一行就解决了,有没有很高效,在编程中能用一行解决的,就绝对不要用多行解决。
    7
    >>>
    函数的话相对还是比较简单,大家有不会的就尽量问。

  • 相关阅读:
    jeecg接口开发及权限实现原理
    Jeecg中通过Spring_AOP+注解方式实现日志的管理
    Jeecg踩坑不完全指南
    在jeecg中如何配置多对一和多对多的关系
    一致性哈希算法
    到底什么是哈希Hash?
    如何正确实现 Java 中的 HashCode
    Hash和HashCode深入理解
    关于源码
    MySQL存储过程的创建及调用
  • 原文地址:https://www.cnblogs.com/xishaonian/p/6031592.html
Copyright © 2020-2023  润新知