函数基础

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

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

  定义函数

       函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()

      任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。

函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。

       函数内容以冒号起始,并且缩进。

                 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None.

  语法:  

    def functionname( parameters ):
     "函数_文档字符串"
    function_suite
    return [expression]
  
  示例:
 #!/usr/bin/env python
#coding:utf-8 def add_function(x,y): #定义函数 """
This is a function that adds x and y. #函数文档
""" result =x + y return result # 返回值 if __name__ =="__main__": #__name__ 是当前模块名,当模块被直接运行时模块名为 __main__ 。这句话的意思就是,当模块被直接运行时,以下代码块将被运行,当模块是被导入时,代码块不被运行。 a = 4
b = 9
c = add_function(a,b) #调用函数 或者 c =add_function(x=a,y=b) print "a + b = {0} + {1} ={2}".format(a,b,c)

  函数的命名方式:

    用小写字母、下划线组成  两个单词之间用下划线连接 add_function

    驼峰命名法  第一个单词首字母小写,之后的单词首字母大写

  调用函数

    降低编程的难度,将一个复杂的大问题分解成一系列更简单的小问题。

    代码重用

  示例:

 #!/usr/bin/env python
#coding:utf-8 def fibs(n): """
This is the Fibonacci sequence.
""" result =[0,1]
for i in range(n-2):
result.append(result[-2]+result[-1]) return result if __name__ =="__main__": lst=fibs(10) print lst

 其他示例:

 >>> def my_fun(): #定义一个函数
return 1,2,3 >>> a =my_fun() #返回一个元组
>>> a
(1, 2, 3)
>>> type(a)
<type 'tuple'>
>>> b,c,d =my_fun() #定义一个函数,返回多个值
>>> b
1
>>> c
2
>>> d
3
>>> x,y=1,2
>>> x
1
>>> y
2
>>> def my_fun(): #定义一个没有返回值的函数
print "this is my function" >>> a =my_fun()
this is my function
>>> a
>>> print a
None
>>> my_fun
<function my_fun at 0x0000000003BCF518>
>>> my_fun()
this is my function
>>> def my_fun():
print "before return"
return #遇到return,后面的操作不在执行
print "after return" >>> my_fun()
before return
>>>

 函数文档

    function.__doc__ 查看文档

    help(function)  查看文档

最新文章

  1. easyui combotree的使用
  2. Perst常用命令
  3. AngularJS 指令(使浏览器认识自己定义的标签)
  4. Node.js建站笔记-使用react和react-router取代Backbone
  5. java web 学习八(HttpServletResponse对象2)
  6. Android -------- 用XmlPullParser解析器解析XML文件
  7. CREATE PROCEDURE
  8. Android开发5:布局管理器2(表格布局TableLayout)
  9. JAVA面向对象的多态性
  10. Objc生成搜索引擎查询字符串
  11. [M$]重装或更换主板后提示“由于指定产品密钥激活次数“ office 2016
  12. 外媒:比特币大陆将于9月IPO 规模或高达180亿美元
  13. Fantacy团队周一站立会议
  14. 【C#】详解C#事件
  15. 安装opencv2.4.9
  16. 2019寒假练题计划——LibreOJ刷题计划 &amp;《信息学奥赛一本通》提高版题目
  17. [置顶] Android系统移植与调试之-------&gt;build.prop文件详细赏析
  18. spring 原理
  19. 细说Cookie(转)
  20. [javaSE] 基本数据类型对象包装类

热门文章

  1. JavaWeb学习总结(一):基本概念
  2. C# 读写txt文件方法
  3. JS读取本地IP地址信息
  4. js 判断 复选框全选、全不选、反选、必选一个
  5. 关于UNITY3D的各种各样。
  6. QTreeView/QTableView中利用QStandardItem实现复选框三种形态变化
  7. 个人总结-9-session的使用,十天免登陆
  8. 从零开始——JSON ARRAY&amp;JSON OBJECT
  9. 避免jar依赖冲突的一种办法
  10. 【Oracle】数据库中sql%notfound的用法