码迷,mamicode.com
首页 > 其他好文 > 详细

第十六章 函数基础

时间:2017-03-29 21:10:41      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:抛出异常   pre   异常   附加   关心   特定   logs   意义   except   

#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为对象编写接口,而不是数据类型

  

第十六章 函数基础

标签:抛出异常   pre   异常   附加   关心   特定   logs   意义   except   

原文地址:http://www.cnblogs.com/szn409/p/6641519.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!