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种参数都可以一起使用,或者只用其中某些,但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数和关键字参数。

  • 相关阅读:
    浅谈GET和POST请求方式
    浅淡建立bitmap实例
    从.NET1.1升级到.NET2.0时出现的PInvokeStackImbalance错误
    为RichTextBox添加快捷功能菜单(复制,粘贴,全选等)
    针对解决sql server数据库中不区分大小写问题.
    <转>用C#创建可拖动窗体
    如何:对 Windows 窗体控件进行线程安全调用
    正则
    <转>反射的第二部分:Emit
    『励志』一些普通又具有深刻哲理的警句(转载)
  • 原文地址:https://www.cnblogs.com/max-hu/p/6217008.html
Copyright © 2011-2022 走看看