zoukankan      html  css  js  c++  java
  • python函数

    1、基本语法

    python的 基本语法为:

    def func_name(arguments):
         statements  #函数体
         return x,y    #返回值
    
    x,y = func_name(para)

    2、作用域LEGB

    python的作用域一共有4种,分别为:

    • L(local)局部作用域
    • E(enclosing)闭包函数外的函数中
    • G(global)全局作用域
    • B(built-in)內建作用域

    以 L-->E-->G-->B 规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内建中找。

    闭包 (closure)

    闭包的定义:如果在一个内部函数里,对在外部函数内(但不在全局作用域)的变量进行应用,那么内部函数被认为是闭包(closure)

    3、参数

    python的参数可分为4类:

    • 必选参数
    • 默认参数
    • 可选参数
    • 关键字参数
    3.1、必选参数
    即与其他语言一样的调用方式
     
    3.2、默认参数
    例如:
    def power(x,n=2):
         if n==0:
              return 1
         else:
              return x*power(x,n-1)
    其中n=2即是默认参数,使用power(5)即使用默认参数n=2返回值25,使用power(5,3)时n使用传进去的值返回125
     
    3.3、可变参数
    即传入的参数是可变的. 定义即在参数前面加一个*
    定义方法如下:
    def calc(*numbers):
          sum = 0
          print numbers
          for n in numbers:
               sum += n
               return sum
    >>> calc(1,9)
    (1, 9) #在内部numbers接收到的是一个tuple
    10
    在函数内部,参数numbers接收到的是一个tuple
     
    3.4、关键字参数
    关键字参数允许你传入0个或者任意个含参数名的参数,这类关键字参数在函数内部自动组装为一个dict。关键字参数的定义方法是在参数前面加两个*。
    def person(name,age,**others):
          print others
          print 'name:',name,'age:',age,'others:',others
    >>> person('huzh',24,city='BeiJing')
    {'city': 'BeiJing'}
    name: huzh age: 24 others: {'city': 'BeiJing'}
     

    4、参数组合

    在Python中定义函数,可以用必选参数、默认参数、可变参数和关键字参数,这4种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

  • 相关阅读:
    FFmpeg源码分析:avcodec_find_decoder
    FFmpeg源码分析:解码器流程
    05Linux网络编程基础 ---- 定时器
    04Linux网络编程基础 ---- 信号
    03Linux网络编程基础 ---- IO复用
    SRS流媒体服务器04 ---- st-thread框架
    react-render()
    react开发学习
    php代码运行提速的20个小技巧(转)
    Symfony2 资料篇
  • 原文地址:https://www.cnblogs.com/max-hu/p/6217008.html
Copyright © 2011-2022 走看看