第十六章 函数基础

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

  

时间: 2024-08-06 16:01:07

第十六章 函数基础的相关文章

《Python 学习手册4th》 第六章 动态类型简介

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书)“重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 : 摘要 动态类型是Python语言灵活性的根源(尤其是其提供的多态性) 一. 缺少类型声明语句的情况 在Python中,类型是在运行过程中自动决定的,而不是通过代码声明. 二. 变量.对

【WPF学习】第三十六章 样式基础

原文:[WPF学习]第三十六章 样式基础 前面三章介绍了WPF资源系统,使用资源可在一个地方定义对象而在整个标记中重用他们.尽管可使用资源存储各种对象,但使用资源最常见的原因之一是通过他们的保存样式. 样式是可应用于元素的属性值集合.WPF样式系统与HTML标记中的层叠样式表(Cascading Style Sheet,CSS)标准担当类似的角色.与CSS类似,通过WPF样式可定义通用的格式化特性集合,并且为了保证一致性,在整个应用程序中应用他们.与CSS一样,WPF样式也能够自动工作,指定具体

《Python 学习手册4th》 第十六章 函数基础

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 函数是Python为了代码最大程度的重用和最小化代码冗余而提供的最基本的程序结构.一. 为何使用函数 最大化的代码重用和最小化代码冗余 流程的分解 本章习题: 1. 编写函数有什么

《Python 学习手册4th》 第十三章 while和for循环

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 摘要 while语句,提供了编写通用循环的一种方法 for语句,用它来遍历序列对象内的元素,并对每个元素运行一个代码块 一. While 循环While循环是Python语言中最通用的迭

《Python 学习手册4th》 第四章 介绍Python对象类型

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容(每天看42页内容,可以保证月底看完此书) ''' 摘要 Python程序可以分解成模块.语句.表达式和对象: 程序由模块构成: 模块包含语句: 语句包含表达式: 表达式建立并处理对象. 一. 为什么使用内置类型  #了解即可 内置对象使程序更容易编写 内置对象是扩展的组件 内置对象往往比定制的数据结构更高效 内置对象是语言的标准的一部分 二. Py

《Python 学习手册4th》 第十一章 赋值、表达式和打印

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 一.赋值语句 通过赋值语句,吧对象赋给一个名词,特性如下: 赋值语句建立对象引用值 变量名在首次赋值时会被创建 变量名在引用前必须先赋值 执行隐式赋值的一些操作 二. Python3.0

流畅python学习笔记:第十四章:迭代器和生成器

迭代器和生成器是python中的重要特性,本章作者花了很大的篇幅来介绍迭代器和生成器的用法. 首先来看一个单词序列的例子: import re re_word=re.compile(r'\w+') class Sentence(object):     def __init__(self,text):         self.text=text         self.word=re_word.findall(text)     def __getitem__(self, item):   

python 学习笔记day06-错误和异常、函数基础

错误和异常 基本概念 错误 从软件方面来说,错误是语法或是逻辑上的 - 语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译,这些错误必须在程序执行前纠正 - 逻辑错误可能是由于不完整或是不合法的输入所致,还可能十逻辑无法生成.计算,或是输出结果需要的无法执行 异常 当python检测到一个错误时,解释器就会指出当前流已经无法继续执行下去,这时候就出现了异常 异常是因为程序出现了错误而在正常控制流以外采取的行为 这个行为又分为两个阶段: - 首先是引起异常发生的错误 - 然后是检

《Python 学习手册4th》 第十九章 函数的高级话题

''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 一. 函数设计概念 耦合性: 对于输入使用参数并且对于输出使用return语句 1 耦合性: 只有在真正必要的情况下使用全局变量 耦合性: 不要改变可变类型的参数,除非调用者希望这样做