zoukankan      html  css  js  c++  java
  • 第十六章 函数基础

    #1.
    #A:python的def语句实际上是一个可执行语句,当他运行的时候,它创建一个新的函数对象并将其赋值给一个变量名
    #B:因为def语句是一个语句,所以一个def可以出现在任一语句可以出现的地方,比如说嵌套在其他的语句中
    #C:函数除了调用以外,还允许任意的属性附加到记录信息,以供使用
    def FunA(Value):
        if Value:
            def FunB() : return 10
        else:
            def FunB() : return 20
        return 10 + FunB()
    b0 = "aaa" in dir(FunA)     #b0 = False
    FunA.aaa = "1"
    b1 = "aaa" in dir(FunA)     #b1 = True
    
    value0 = FunA(True)          #value = 20
    value1 = FunA(False)         #value = 30
    value2 = FunA.aaa            #value2 = '1'
    
    #2.
    #A:多态
    def Fun(value0, value1) : return value0 * value1
    str0 = Fun(4, 's')          #str0 = 'ssss'
    value0 = Fun(1, 4)          #value0 = 4
    try:
        Fun('s', 'z')
    except:
        pass                    #执行至此 当参数类型不匹配的时候,python会自动抛出异常
    #如上,Fun函数表达式中的value0 * value1的意义完全取决于其本身的类型,这种依赖类型的行为成为多态,这也是python作为动态类型语言和静态类型语言(c++、java)至关重要的区别
    #在python中,代码不应该关心特定的数据类型,大体上,python为对象编写接口,而不是数据类型
    

      

  • 相关阅读:
    数据提交
    Python网页信息抓取
    Python语法学习
    Elasticsearch5.x 升级-插件
    LeetCode 33 搜索旋转排序数组
    按之字形顺序打印二叉树
    股票的最大利润
    LeetCode 1143 最长公共子序列
    对称的二叉树
    两个链表的第一个公共结点
  • 原文地址:https://www.cnblogs.com/szn409/p/6641519.html
Copyright © 2011-2022 走看看