zoukankan      html  css  js  c++  java
  • Python学习 第5天 函数

    一、函数定义

    def xx():
      print '1';

    def xx1():
      pass;

    def xx2(a):
      return a;

    xx();
    xx1()
    xx2('a')

    二、与C#区别

    C#中方法的参数有四种类型:
    
    (1) 值参数不含任何修饰符
    (2) 引用型参数以ref 修饰符声明(Python中没有对应的定义方式)
    (3) 输出参数以out 修饰符声明(Python中不需要,因为函数可以有多个返回值)
    (4) 数组型参数以params 修饰符声明
    
    Python中函数参数的形式也有四种类型:
    
    (1) f(arg1,arg2,...) 这是最常用的函数定义方式
    (2) f(arg1=value1,arg2=value2,...,argN=valueN) 这种方式为参数提供了默认值,同时在调用函数时参数顺序可以变化,也称为关键字参数。
    (3) f(*arg) arg代表了一个tuple,类似C#中的params修饰符作用,可以接受多个参数
    (4) f(**arg) 传入的参数在函数内部是保存在名称为arg的dict中,调用的时候需要使用如f(a1=v1,a2=v2)的形式。
    如果形参表中有一个形为**name的形参,在调用时这个形参可以接收一个字典,字典中包含所有不与任何形参匹配的关键字参数
    def cheeseshop(**keywords): for kw in keywords.keys(): print kw, ':', keywords[kw] cheeseshop(a="1", b="2");

    三、函数注释:函数第一行的文本即为注释,类似于C#的<summary>注释头,使用__doc__获取注释

    def a():
      "此处为函数注释"
      print 1

    print a.__doc__

    四、lambda,下次再练练吧,和C#差不多意思

    五、map、filter、reduce

    和Jquery非常像,就是遍历元素,对各元素进行处理,类似Jquery的map和each等

  • 相关阅读:
    Spring Boot缓存实战 Redis 设置有效时间和自动刷新缓存
    快速排序
    JDK,JRE,JVM区别与联系
    RocketMQ
    IO、NIO、AIO 内部原理分析
    java设计模式-回调、事件监听器、观察者模式
    Spring源码相关
    java单例模式几种实现方式
    RabbitMQ学习笔记二:Java使用RabbitMQ
    RabbitMQ学习笔记一:本地Windows环境安装RabbitMQ Server
  • 原文地址:https://www.cnblogs.com/liuyouying/p/6427227.html
Copyright © 2011-2022 走看看