函数基础

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

     函数能提高应用的模块性,和代码的重复利用率。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. BZOJ1053 [HAOI2007]反素数 & BZOJ3085 反质数加强版SAPGAP

    BZOJ 1053 Description 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4.如果某个正整数x满足:g(x)>g(i) 0<i<x ,则称x ...

  2. Win10安装docker步骤

    最近使用docker部署spring boot项目,写篇文章记录下步骤. 1. 确保本机win10系统虚拟化已启动启动,否则需要去BIOS设置(方法可百度) 2. 到docker网站下载DockerT ...

  3. C#-求int数组中连续偶数列的个数

    例如:[3, 3, 2, 2, 2, 4, 3, 5, 4, 6, 3]=>2,2,2,4;4,6 结果为2     [3, 3, 2,3, 2, 2, 4, 3, 5, 4, 6, 3]=&g ...

  4. 一些 Mysql 维护命令

    ----------------------------------------------------------------------------使用mysql客户端程序------------ ...

  5. Linux下vim(文本编译器)的使用

    vim (文本编译器): Vim是从 vi 发展出来的一个文本编辑器. vim的一些命令操作: 插入命令: a 在光标所在字符后插入 A 在光标所在行尾插入 i 在光标所在字符前插入 I 在光标所在行 ...

  6. HTTP状态码和HTTP请求头

    HTTP报文是在Web服务器和浏览器之间进行交换的文本数据,一种是从浏览器发出的请求,一种是服务器发出的响应. 请求报文的第一行包括:1.请求方法 2.当前使用的HTTP协议版本 3.请求地址 GET ...

  7. js重名的处理

    ### 关于重名的处理 > 在变量提升阶段,如果名字重复了,不会重新的进行声明,但是会重新的进行定义(后面赋的值会把前面赋的值给替换掉) ```javascript //=>变量提升:fn ...

  8. Android沉浸式状态栏

    private void initWindows() { Window window = getWindow(); int color = getResources().getColor(androi ...

  9. Linux下部署redis以及相关简介

    什么是redis? Redis是一个高性能的key-value数据库.key-value分布式存储系统查询速度快.存放数据量大.支持高并发,非常适合通过主键进行查询,但不能进行复杂的条件查询.key ...

  10. Sqlserver新建随机测试数据

    USE Test --使用数据库Test(如果没有则需要新建一个) ----1.新建一个users表 create table users( uId int primary key identity( ...