zoukankan      html  css  js  c++  java
  • python 零散记录(六) callable 函数参数 作用域 递归

    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)
  • 相关阅读:
    hph 缓存机制
    递归调用 和 迭代
    多维数组排序
    php curl操作
    JavaScript基本数据类型
    JavaScript基础
    CSS基础布局
    CSS基础样式
    CSS选择器
    CSS3基础
  • 原文地址:https://www.cnblogs.com/lipijin/p/3297734.html
Copyright © 2011-2022 走看看