zoukankan      html  css  js  c++  java
  • 函数的使用

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

    函数能提高应用的模块性,和代码的重复利用率。

    函数定义:

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

    语法格式:

    def functionname( parameters ):
        "函数_文档字符串"
        function_suite
        return [expression]

    示例:

    #!/usr/bin/env python
    def fun():
        "打印一个字符"
        print("hello world".title())
    fun()

    函数参数传递的四种方式:

         位置参数  ==>  fun(x,y)

         关键字参数   fun(y=1,x=2)

         默认参数  fun(x,y=2)

         不定长参数 fun(x,y,*args,**kargs)

    位置参数

    示例:

    #!/usr/bin/env python
    def fun(x,y):
        print("x:",x)
        print("y:",y)
    fun(1,2)
      输出:
         x: 1
         y: 2

    关键字参数

    示例:

    #!/usr/bin/env python
    def fun(x,y):
        print("x:",x)
        print("y:",y)
    fun(y=1,x=2)

      输出:
         x: 2
         y: 1

    默认参数

    示例:

    #!/usr/bin/env python
    def fun(x,y=2):
       print("x:",x)
       print("y:",y)
    fun(x=2)

      输出:
         x: 2
         y: 2

    #需注意默认参数进行参数传递时,位置参数需在关键字参数之前。

    错误示例:

    #!/usr/bin/env python
    def fun(y=2,x):
       print("x:",x)
       print("y:",y)
    fun(x=2)
    
    输出:
       SyntaxError: non-default argument follows default argument

     不定长参数

    示例:

    #!/usr/bin/env python
    def fun(x,y,*args,**kargs):
       print("x:",x)
       print("y:",y)
       print("args:",args)
       print("kargs:",kargs)
    fun(1,2,3,4,m=5,n=6)

      输出:
         x: 1
         y: 2
         args: (3, 4)  #元组格式
         kargs: {'m': 5, 'n': 6} #字典格式

    匿名函数(lambda)

    lambda 表达式返回可调用的函数对象。 

    语法格式:

                lambda [arg1[,arg2,...argn]]:experssion

    示例:a=lambda x,y:x+y  执行 a(3,5) 输出: 8

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    codeforces #601 div2 ABC~E1
    codeforces #600 div2 ABCD
    图形学 三次Hermite曲线绘制实现代码 javascript:es6+h5:canvas
    最小生成树(Prim / Kruskal)
    拓扑排序【Kahn算法(bfs)和dfs求拓扑序列及判环】
    Cow Traffic(正反向建图+DAG拓扑排序)
    JAVA大数
    【C/C++】关于strstr函数和c_str()函数
    【C/C++】关于函数调用传递实参
    2019上海icpc网络赛B. Light bulbs(思维+差分)
  • 原文地址:https://www.cnblogs.com/imcati/p/9497262.html
Copyright © 2011-2022 走看看