zoukankan      html  css  js  c++  java
  • Python-函数

    Python函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

    函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

    定义一个函数

    你可以定义一个由自己想要功能的函数,以下是简单的规则:

    • 函数代码块以def关键词开头,后接函数标识符名称和圆括号()。
    • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
    • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
    • 函数内容以冒号起始,并且缩进。
    • Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

    语法

    def 函数名(参数):
         
        ...
        函数体
        ...

    1. return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 可写函数说明
    def sum( arg1, arg2 ):
       # 返回2个参数的和."
       total = arg1 + arg2
       print "函数内 : ", total
       return total;
     
    # 调用sum函数
    total = sum( 10, 20 );
    print "函数外 : ", total 

    以上实例输出结果:

    函数内 :  30
    函数外 :  30

    2.  参数

    必备参数

    必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    #可写函数说明
    def printme( str ):
       "打印任何传入的字符串"
       print str;
       return;
     
    #调用printme函数,不传入参数会报错
    printme();

    输出结果:

    Traceback (most recent call last):
      File "test.py", line 11, in <module>
        printme();
    TypeError: printme() takes exactly 1 argument (0 given)

    默认参数

    调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    #可写函数说明
    def printinfo( name, age = 35 ):
       "打印任何传入的字符串"
       print "Name: ", name;
       print "Age ", age;
       return;
     
    #调用printinfo函数
    printinfo( age=50, name="miki" );
    printinfo( name="miki" );

    输出结果:

    Name:  miki
    Age  50
    Name:  miki
    Age  35

    动态参数

    你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名。基本语法如下:

    def functionname([formal_args,] *var_args_tuple ):
       "函数_文档字符串"
       function_suite
       return [expression]

    加了星号(*)的变量名会存放所有未命名的变量参数。选择不多传参数也可。如下实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 可写函数说明
    def printinfo( arg1, *vartuple ):
       "打印任何传入的参数"
       print "输出: "
       print arg1
       for var in vartuple:
          print var
       return;
     
    # 调用printinfo 函数
    printinfo( 10 );
    printinfo( 70, 60, 50 );

    输出结果:

    输出:
    10
    输出:
    70
    60
    50

    **args: 字典格式

    匿名函数

    python 使用 lambda 来创建匿名函数。

    • lambda只是一个表达式,函数体比def简单很多。
    • lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 可写函数说明
    sum = lambda arg1, arg2: arg1 + arg2;
     
    # 调用sum函数
    print "相加后的值为 : ", sum( 10, 20 )
    print "相加后的值为 : ", sum( 20, 20 

    输出结果:

    相加后的值为 :  30
    相加后的值为 :  40
  • 相关阅读:
    初涉线性基
    Codechef December Challenge 2018 Division 2
    【贪心】bzoj1592: [Usaco2008 Feb]Making the Grade 路面修整
    请求库之requests
    爬虫基本原理
    Flask-SQLAlchemy
    虚拟环境
    自定义验证规则以及中间件简单介绍
    Form组件归类
    分页与中间件
  • 原文地址:https://www.cnblogs.com/kingleft/p/5180429.html
Copyright © 2011-2022 走看看