函数基础

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

     函数能提高应用的模块性,和代码的重复利用率。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)  查看文档

Python 学习笔记(十三)Python函数(一)的更多相关文章

  1. python学习笔记(十三)-python对Excel进行读写修改操作

    日常工作中会遇到Excel的读写问题.我们可以使用xlwt 模块将数据写入Excel表格,使用xlrd 模块从Excel读取数据,使用xlutils模块和xlrd模块结合对Excel数据进行修改.下面 ...

  2. Python学习笔记之常用函数及说明

    Python学习笔记之常用函数及说明 俗话说"好记性不如烂笔头",老祖宗们几千年总结出来的东西还是有些道理的,所以,常用的东西也要记下来,不记不知道,一记吓一跳,乖乖,函数咋这么多 ...

  3. Python学习笔记010——匿名函数lambda

    1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...

  4. python学习笔记十三 JS,Dom(进阶篇)

    JS介绍 JavaScript 是属于网络的脚本语言!JavaScript 被数百万计的网页用来改进设计.验证表单.检测浏览器.创建cookies,以及更多的应用:JavaScript 是因特网上最流 ...

  5. Python学习笔记4(函数与模块)

    1.Python程序的结构 Python的程序由包(package).模块(module)和函数组成. 模块是处理一类问题的集合,由函数和类组成. 包是由一系列模块组成的集合.包是一个完成特定任务的工 ...

  6. Python学习笔记(Ⅱ)——循环/选择/函数

    一.循环结构 python中提供了for循环和while循环两种操作,没有do……while语句. 1.for循环: 与其他语言中for循环的常见的写法如for (int i=0;i<10;i+ ...

  7. python学习笔记之——python函数

    1.定义一个函数 你可以定义一个自己想要功能的函数,以下是简单的规则: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间.圆括号之间可以用于定 ...

  8. python学习笔记——高阶函数map()

    满足以下两点中任意一点,即为高阶函数: 1.函数接收一个或多个函数作为参数 2.函数返回一个函数 1 描述 用函数和可迭代对象中每一个元素作为参数,计算出新的迭代对象 map() 会根据提供的函数对指 ...

  9. Python学习笔记之Python的enumerate函数

    Python 的 enumerate() 函数就像是一个神秘的黑箱,你无法简单地用一句话来概括这个函数的作用与用法. enumerate() 函数属于非常有用的高级用法,而对于这一点,很多初学者甚至中 ...

  10. python 学习笔记 9 -- Python强大的自省简析

    1. 什么是自省? 自省就是自我评价.自我反省.自我批评.自我调控和自我教育,是孔子提出的一种自我道德修养的方法.他说:“见贤思齐焉,见不贤而内自省也.”(<论语·里仁>)当然,我们今天不 ...

随机推荐

  1. COCI2017-2018-2 San

    题意 有\(n \leq 40\)个节点,每个节点有权值\(H \leq 1e9\)和贡献\(v \leq 1e9\),从任意一个点可以向右跳到一个权值不小于它的节点,并获得该点贡献 可以从任意一个点 ...

  2. BZOJ4671:异或图

    传送门 直接求连通的不好做,考虑容斥 设 \(g_i\) 表示至少有 \(i\) 个连通块的方案数,\(f_i\) 表示恰好有 \(i\) 个的 那么 \[g_x=\sum_{i=x}^{n}\beg ...

  3. 原型链继承中的prototype、__proto__和constructor的关系

    前不久写了有关原型链中prototype.__proto__和constructor的关系的理解,这篇文章说说在原型链继承中的prototype.__proto__和constructor的关系. 通 ...

  4. \n\r 转义字符

    转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 007 \b 退格(BS) ,将当前位置移到前一列 008 \f 换页(FF),将当前位置移到下页开头 012 \n 换行(LF) ,将 ...

  5. React+antd 在限制高度内实现滚动显示多个组件(show scrolled components in a limited height with react antd)

    效果: 代码: import React from 'react'; import { Table } from 'antd'; import DatePicker1 from './DatePick ...

  6. 【Html基础】之<h1>~<h6> <p> <br> <hr>

    学习html无从下手,就在w3school的html手册按着教程学习了下. 什么是html? html是指超文本标记语言,即Hyper Text Markup Language html不是一种编程语 ...

  7. appium定位安装包启动类名称

    cmd输入:adb logcat > d:/1.txt  然后运行APP,关闭APP,到D盘查找文件1,Ctrl+F,输入LAUNCHER,定位启动类,如下图所示位置 即为,eclipse调用A ...

  8. 购物车redis存储结构

  9. mac下安装elasticsearch报错Exception BindTransportException[Failed to bind to [9300-9400]]

    解决办法:进入 config目录下 修改 vim elasticsearch.xml network.host设置为 0.0.0.0 即可外网访问.

  10. 毕向东_Java基础视频教程第20天_IO流(15~17)

    第20天-15-IO流(打印输出流) 打印输出流:PrintWriter与PrintStream 两者的区别:Since JDK 1.4 it's possible to specify the ch ...