今天我们来学习新的一篇吧,那便是“函数(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
>>>
函数的话相对还是比较简单,大家有不会的就尽量问。

一起入门python6之函数的更多相关文章

  1. Python入门篇-生成器函数

    Python入门篇-生成器函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.生成器概述 1>.生成器generator 生成器指的是生成器对象,可以由生成器表达式得到, ...

  2. Python入门篇-匿名函数

    Python入门篇-匿名函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.匿名函数概述 1>.什么是匿名函数 匿名,即没有名字 匿名函数,即没有名字的函数 2>. ...

  3. es6入门3--箭头函数与形参等属性的拓展

    对函数拓展兴趣更大一点,优先看,前面字符串后面再说,那些API居多,会使用能记住部分就好. 一.函数参数可以使用默认值 1.默认值生效条件 在变量的解构赋值就提到了,函数参数可以使用默认值了.正常我们 ...

  4. Python趣味入门9:函数是你走过的套路,详解函数、调用、参数及返回值

    1.概念 琼恩·雪诺当上守夜人的司令后,为训练士兵对付僵尸兵团,把成功斩杀僵尸的一系列动作编排成了"葵花宝典剑法",这就是函数.相似,在计算机世界,一系列前后连续的计算机语句组合在 ...

  5. python入门练习题3(函数)

    1.写函数: 如有以下两个列表 l1 = [...] l2 = [] 第一个列表中的数字无序不重复排列,第二个列表为空列表 需求: 取出第一个列表的最小值 放到第二个列表的首个位置, 取出第一个列表的 ...

  6. 一起入门python7之函数参数

    上一节课简单的讲了一下函数.那么今天来给大家讲一下函数参数.用案例说话哈.上一节课只是让大家有比较简单的了解,那么这节我们来细化一下哈.>>>def hello(x):        ...

  7. 2016.9.13 JavaScript入门之六基础函数

    1.Math.random()函数: 2.math.floor(x)返回小于参数x的最大整数,即对浮点数向下取整. 例如:random本身只产生(0~1)之间的小数,random()*10 意思是产生 ...

  8. swift:入门知识之函数与闭包

    1.swift中使用关键字func来声明和定义一个函数.调用函数使用它的名字加上小括号中的参数列表. 2.swift使用->方向符号分隔参数的名字和返回值类型 3.swift使用元组(tuple ...

  9. ES6入门之Generator函数

    Generator Generator函数是ES6提供的一种异步编程解决方案,Generator函数是一个状态机,封装了多个内部状态. 执行Generator函数会返回一个遍历器对象,也就是说,Gen ...

随机推荐

  1. Java 毫秒转换为日期类型、日期转换为毫秒

    /毫秒转换为日期 public static void main(String[] args) { DateFormat formatter = new SimpleDateFormat(" ...

  2. Div内有ul li元素,Div设置高度100%,谷歌IE下li过多会显示滚动条,而火狐下就会滚动条就不起作用,li会撑大Div

    产品上也许是用了过多iframe问题,自己做了demo没有这种情况 解决办法: 设置Div的display样式为-moz-inline-grid -moz-代表火狐私有属性,使用自己的div样式就可以 ...

  3. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  4. Http请求之--C#的HttpWebRequest实现POST方式请求

    1.添加头信息和请求方法.有两种方式添加             req = (HttpWebRequest)WebRequest.Create("http://zhidao.baidu.c ...

  5. .NET Reflector Visual Studio Extension

    https://visualstudiogallery.msdn.microsoft.com/95789cdb-08f9-4dae-9b2f-fc45a452ad77/

  6. JavaWeb学习总结(三)——Tomcat服务器学习和使用(二) 包含https 非对称秘钥 NB

    JavaWeb学习总结(三)--Tomcat服务器学习和使用(二) 一.打包JavaWeb应用 在Java中,使用"jar"命令来对将JavaWeb应用打包成一个War包,jar命 ...

  7. Python开发【第四篇】:Python基础之函数

    三元运算 三元运算(三目运算),是对简单的条件语句的缩写. ? 1 2 3 4 5 # 书写格式   result = 值1 if 条件 else 值2   # 如果条件成立,那么将 “值1” 赋值给 ...

  8. Java多线程编程核心技术---拾遗增补

    线程状态验证 public class MyThread extends Thread { public MyThread() { System.out.println("构造方法中的状态: ...

  9. Android Studio-设置放大代码编辑区

    原有的快捷键是ctrl+shift+F12,现在我修改成了Ctrl+M.

  10. Java byte位移操作 注意事项

    Java对byte 的 + - * / >> >>> << & | ^ (加,减,乘,除,右移,左移,无符号右移,位与,位或,位异或)操作,均会是首先 ...