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)
  • 相关阅读:
    番茄土豆:小小生产力工具
    ubuntu下thrift的安装
    番茄工作法:试试看?
    python利用thrift连接hive
    如何预测用户query意图 « 搜索技术博客-淘宝
    笔记:Ubuntu下快速开始使用Python Thrift | 孙立文的博客
    hive使用
    checkout centos is x86_64 or 32bit
    溢泰的休閒世界 溢泰的 CentOS 5.x 系統與內建軟體安裝筆記整理
    番茄工作法_Feisky_新浪博客
  • 原文地址:https://www.cnblogs.com/lipijin/p/3297734.html
Copyright © 2011-2022 走看看