一、定义一个函数:

 def test():             #用def关键词开头
print('*****') def test2(a,b): #a,b为形参
print(a,b)
return a,b # return 返回方法运行的结果 可以是返回函数、元组、字符串、列表、字典等;返回后,得到一个元组
7 test2(1,2)       # 回调函数

二、需要注意的地方:

  回调时带参数的关键点:

  def定义函数的时候,括号里面的变量叫形参,引用内存空间;

  调用函数的时候,括号里面的变量叫实参,内存数据;

  形如(variable1,variable2),叫位置参数;

  形如(variable1=value1,variable2=value2),叫关键字参数;

  关键字参数一定要在位置参数后面;

  没特别指明,形参和实参必须一一对应,多一个少一个都报错;

全局变量与局部变量:

    函数体外定义的变量称为全局变量,在函数体内也生效,前提是先定义全局变量,后定义函数;

    函数体内定义的变量称为局部变量,只在当前函数体内生效;

  非固定参数,当传入的参数不确定个数的时候:

    非固定参数*args,传入的参数变成元组,元组可为空;

    非固定参数**kwargs,传入的参数变成字典;

    *args与**kwargs可同时使用

  嵌套函数,函数中调用函数,但是只能调用同级的函数,不能隔级调用

  递归函数

    ***必须有一个明确的结束条件

    每递归一次,问题规模比上一次都应有减少

    效率不高,下面这个越到后面效率越低

  匿名函数:高阶函数,变量指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就称之为高阶函数。

python3 函数注意要点的更多相关文章

  1. python3函数

    一.python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.可以自己创建函数,这被叫做用户自定义函数. 1.定义函数规则 函 ...

  2. python015 Python3 函数

    Python3 函数函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段.函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也可 ...

  3. Python3函数中特殊形参的使用:*、*args、**kwargs

    Python3函数中特殊形参的使用:*.*args.**kwargs ==用法1:不定长参数== 当函数需要的参数数量不确定的时候,可以使用*args 和 **kwargs , 所有的位置参数保存在* ...

  4. 07 . Python3函数

    Python3函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print().我们可以直接调用 ...

  5. 汉诺塔python3函数编写和过程分析

    !/usr/bin/env python3 -- coding: utf-8 -- 利用递归函数计算阶乘 N! = 1 * 2 * 3 * ... * N def fact(n): if n == 1 ...

  6. Python3 函数注解

    Python3提供一种语法,用于为函数声明中的参数和返回值附加元数据.下面的例子是注解后的版本,特点在第一行: 1 def clip(text : str, max_len : 'int > 0 ...

  7. 5 Python3 函数进阶&迭代器与生成器

    1.函数进阶 1.1.名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的 ...

  8. Python3 函数作用域

    一 LEGB 什么是LEGB? L:local 函数内部作用域 E:enclosing 函数内部与内嵌函数之间 G:global 全局作用域 B:build-in 内置作用域 顺序是什么? 跟名字一样 ...

  9. python系列十:python3函数

    #!/usr/bin/python #-*-coding:gbk-*- '''函数的简单规则:    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ().    任何传入参数和自变量必 ...

随机推荐

  1. 实习初步认识_1:部署renren-fast v2.0遇到的问题及解决方案

    部署renren-fast v2.0可参考官方文档https://www.renren.io/guide/#fornt(注意红色部分) 部署后台时一切正常,一下是官方文档内容: 2.1.后端部署 环境 ...

  2. magento 2.2.3 -/.gitignore -/.htaccess 分享

    /.htaccess ############################################ ## overrides deployment configuration mode v ...

  3. C# http 性能优化500毫秒到 60 毫秒

    偶然发现 C# 的 HttpRequest 要比 Chrome 请求同一Url 慢好多.C# HttpRequest 要500毫秒 而Chrome 只需要 39ms. 作为有责任感的 码农.这个 必须 ...

  4. ubuntu上安装multi-mechanize步骤

    第一步:先安装pip pip 是 Python 包管理工具,该工具提供了对Python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包,则是已经自带了该工 ...

  5. elasticsearch 介绍

    一.什么是elasticsearch Elasticsearch是一个基于Lucene的高度可伸缩的分布式的开源全文搜索和分析引擎.它允许您快速.实时地存储.搜索和分析大量数据.它通常用作底层引擎/技 ...

  6. HBase RowKey与索引设计

    1. HBase的存储形式 hbase的内部使用KeyValue的形式存储,其key时rowKey:family:column:logTime,value是其存储的内容. 其在region内大多以升序 ...

  7. 【转】关于Tomcat下项目线程启动两次的问题

    最近遇见了一个很搞得事情,在tomcat下启动项目时自己写的定时程序被执行了两次,导致程序启动了两个线程,使定时任务在几秒间隔内执行了两次,后来通过日志查到,原来是tomcat将项目启动了两次,为什么 ...

  8. selenium定位方式-Xpath使用方法

    什么是Xpath? XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 一. 在火狐浏览器上安装Xpath 方法如下: 1.使用 Firefox 访问 https://a ...

  9. idea如何快速查看接口的实现类

    查找接口的实现类: IDEA 风格 ctrl + alt +B 在按F2查看详细文档注解 查看类或接口的继承关系: ctrl + h

  10. Asp.net 项目部署的两个问题

    1:关于MVC中BundleCollection压缩js css文件 发布后获取失败的问题 原因是: 默认本地vs里面调试的时候,因为web.config文件里面有一个debug属性,当有此属性时,默 ...