callable()函数:

  检查对象是否可调用,所谓可调用是指那些具有doc string的东西是可以调用的。

函数的参数变化,可变与不可变对象:

  首先,数字 字符串 元组是不可变的,只能替换。

  对以前的形参实参的理解适用于这些不可变对象。即形参实参互不影响。

  但是对于可变对象如list dict,形参与实参就会互相影响。

  如果想拿到一个副本从而不影响原变量,用列表分割:mylist[:]

收集参数:

  func(a,*b):

    b接受除了第一个给a的余下参数,以元组形式储存

  func(a,*b,**c):

    a接受完,剩下的给b,如果有x=xx这种形式的关键字参数则给c

作用域(名字空间):

  vars():

    返回模块中所有“不可见的”字典,也就是所有变量与值的映射关系,以字典形式展示。

    类似class中的__dict__ 类名.__dict__

  globals():

    返回所有全局变量

  locals():

    返回所有局部变量

  在函数中声明或明确指定使用全局变量,要先声明:

    globals x

    x = 1

递归:

  自身调用自身

  满足两个条件:

  1.当函数直接返回值时有基本实例(最小可能性,也就是有头,有尽头从无穷递归到最小时可以完结)。

  2.递归实例,包括一个或多个问题最小部分的递归调用(有递归的条件)

  如算阶层:

    

#普通方法
def putong(n):
result = n
for i in range(1,n):
result *= i
return result #递归方法
#条件1:1的阶层是1
#条件2:大于1的n的阶层是n*n-1
def digui(n):
if n == 1:
return 1
else:
return n * digui(n-1)

python 零散记录(六) callable 函数参数 作用域 递归的更多相关文章

  1. python学习day10 函数Ⅱ(参数&作用域)

    函数Ⅱ(参数&作用域) 知识小结: py2与py3的区别 逻辑运算()>not>and>or 字符串翻转切片翻转 is与==区别 git相关 数据类型判断 操作系统:cent ...

  2. Python进阶(二)----函数参数,作用域

    Python进阶(二)----函数参数,作用域 一丶形参角度:*args,动态位置传参,**kwargs,动态关键字传参 *args: ​ 动态位置参数. 在函数定义时, * 将实参角度的位置参数聚合 ...

  3. python通过装饰器检查函数参数的数据类型的代码

    把内容过程中比较常用的一些内容记录起来,下面内容段是关于python通过装饰器检查函数参数的数据类型的内容. def check_accepts(f): assert len(types) == f. ...

  4. Python学习-函数,函数参数,作用域

    一.函数介绍 函数定义:函数时组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 我们已经知道python提供了许多内建函数,print(), type()等.我们也可以自己创建函数,这被叫 ...

  5. Python学习(六) —— 函数

    一.函数的定义和调用 为什么要用函数:例如,计算一个数据的长度,可以用一段代码实现,每次需要计算数据的长度都可以用这段代码,如果是一段代码,可读性差,重复代码多: 但是如果把这段代码封装成一个函数,用 ...

  6. python 装饰器修改调整函数参数

    简单记录一下利用python装饰器来调整函数的方法.现在有个需求:参数line范围为1-16,要求把9-16的范围转化为1-8,即9对应1,10对应2,...,16对应8. 下面是例子: def fo ...

  7. Python学习总结18:函数 参数篇

    1. 判断函数是否可调用 >>> import math >>> x = 1 >>> y = math.sqrt >>> cal ...

  8. Python学习(六)—— 函数、全局变量与局部变量

    函数 函数的定义 def test(x): "The function definition" x += 1 return x def:定义函数的关键字 test:函数名 ():内 ...

  9. Python学习札记(十三) Function3 函数参数二

    参考:函数参数 Note A.关键字参数: 1.关键字参数:**kw 可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple.而关键字参数允许你传入0个或任意个含参数名的 ...

随机推荐

  1. [转]:移动端H5页面高清多屏适配方案

    原文链接:http://www.tuicool.com/articles/YJviea 背景 开发移动端H5页面 面对不同分辨率的手机 面对不同屏幕尺寸的手机 视觉稿 在前端开发之前,视觉MM会给我们 ...

  2. javascript面向对象程序设计系列(一)---创建对象

    javascript是一种基于对象的语言,但它没有类的概念,所以又和实际面向对象的语言有区别,面向对象是javascript中的难点之一.现在就我所理解的总结一下,便于以后复习: 一.创建对象 1.创 ...

  3. autoplay media studio couldn't load

    AutoPlay Media Studio 7 (English version) is installed on target machine. Following error occurred w ...

  4. Maven多层嵌套

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  5. 理解Java中的字符串类型

    1.Java内置对字符串的支持: 所谓的内置支持,即不用像C语言通过char指针实现字符串类型,并且Java的字符串编码是符合Unicode编码标准,这也意味着不用像C++那样通过使用string和w ...

  6. 通过 ANE(Adobe Native Extension) 启动Andriod服务 推送消息(一)

    项目组用air来开发手游, 但有些在原生应用里很容易实现的功能没有办法在air中直接调用,比如说震动,服务等等.但Adobe 提供了一种方法让air间接调用本地代码(java,object-c...) ...

  7. 技术贴:asp.net实现唯一账户在线 禁止同一帐号同时在线 asp.net实现您的帐号在别处登录,您已被迫下线!

    技术要点: Application 全局变量的使用 hashtable 的使用 Session 对应唯一sessionID 标志会话状态 webpage 继承 BasePage的技术 整体比较简单,主 ...

  8. 使用css3实现文章新闻列表排行榜(数字)

    列举几个简单的文章排行榜数字效果 一:使用list-style来显示数字.圆点.字母或者图片 <style> li{width:300px; border-bottom: 1px dott ...

  9. C# 操作XML文件,用XML文件保存信息

    using System; using System.Collections.Generic; using System.Text; using System.Xml; using System.IO ...

  10. gcc向待编译源文件传入参数的方法

    gcc有两种方法向待编译源文件传入参数 第一种 利用–Dmacro=name 编译选项,详见gcc -D选项 第二种 利用链接脚本(*.lds)传入参数,类似于ADS的编译器参数可以被待编译源文件调用 ...