`
李灵晖-raylee
  • 浏览: 128663 次
博客专栏
Group-logo
从头认识java
浏览量:0
文章分类
社区版块
存档分类
最新评论

零基础学python-18.5 函数的内建工具与函数的属性

阅读更多

这一章节我们来讨论python函数的另外两个方面:函数的内建工具与函数的属性

1.函数的内建工具

函数作为是对象,他也可以使用内建函数来管理,例如:

>>> def test():
	pass

>>> test.__name__
'test'
>>> dir(test)
['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__get__', '__getattribute__', '__globals__', '__gt__', '__hash__', '__init__', '__kwdefaults__', '__le__', '__lt__', '__module__', '__name__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__']
>>> test.__code__
<code object test at 0x0133B7A0, file "<pyshell#2>", line 1>
>>> test.__class__
<class 'function'>
>>> 


我们上面的代码只是建立了一个空函数,然后我们使用dir()这个内建函数检测test的时候,其实test还包括很多其他的属性

我们可以利用这些属性来管理函数,特别是后面我们将会讲到的装饰器

2.函数的属性

由于函数就是对像,所以我们可以为它附加属性,作为函数的静态属性

>>> def test():
	pass

>>> test.count=0
>>> test.count
0
>>> test.count +=2
>>> test.count
2
>>> test()


从上面的代码可以看见,我们为test附加了count的属性,然后对count进行运算等操作

但是有一点需要注意的是:如果test在建立的时候就想着对count操作,但是又不建立count,而是在后来附加,这个时候就会报错

>>> def test():
	print(count)

	
>>> test.count=0
>>> test()
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    test()
  File "<pyshell#16>", line 2, in test
    print(count)
NameError: name 'count' is not defined
>>> 


总结:这一章节简单介绍了函数的内建工具与函数的属性

这一章节就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Python 核心编程 第二版

     5.6 内建函数与工厂函数   5.7 其他数字类型   5.8 相关模块   5.9 练习   第6章 序列:字符串、列表和元组   6.1 序列   6.2 字符串   6.3 字符串和操作符   6.4 只适用于字符串的操作...

    Python核心编程第二版

     5.6 内建函数与工厂函数   5.6.1 标准类型函数   5.6.2 数字类型函数   5.6.3 仅用于整型的函数   5.7 其他数字类型   5.7.1 布尔“数”   5.7.2 十进制浮点型   5.8 相关模块   5.9 ...

    Python核心编程第二版(ok)

     5.6 内建函数与工厂函数   5.6.1 标准类型函数   5.6.2 数字类型函数   5.6.3 仅用于整型的函数   5.7 其他数字类型   5.7.1 布尔“数”   5.7.2 十进制浮点型   5.8 相关模块   5.9 ...

    Python编程入门经典

    第Ⅰ部分 初步了解Python 第1章 编程基础和字符串 3 1.1 编程与使用计算机的区别 3 1.1.1 编程的一致性 3 1.1.2 编程的可控性 4 1.1.3 程序要应对变化 4 1.1.4 小结 4 1.2 准备工作 4 1.2.1 在非Windows系统上安装 ...

    像计算机科学家一样思考Python(第2版).pdf

    本书的第2版与第1版相比,做了很多更新,将编程语言从Python 2升级成Python 3,并修改了很多示例和练习,增加了新的章节,更全面地介绍Python语言。 这是一本实用的学习指南,适合没有Python编程经验的程序员阅读,...

    Python Cookbook

    16.6 使用内建的Tokenizer给Python源码上色 572 16.7 合并和拆解Token 575 16.8 检查字符串是否有平衡的圆括号 577 16.9 在Python中模拟枚举 580 16.10 在创建列表推导时引用它自身 583 16.11 自动化py2exe将...

    dive into python

    18.5. 优化列表操作 18.6. 优化字符串操作 18.7. 小结 A. 进一步阅读 B. 五分钟回顾 C. 技巧和窍门 D. 示例清单 E. 修订历史 F. 关于本书 G. GNU Free Documentation License G.0. Preamble G.1. ...

    Python基础教程(第3版)-201802出版-文字版

    久负盛名的 Python 入门经典针对 Python 3 全新升级十个出色的项目,让你尽快可以使用 Python 解决实际问题目录第 1章 快速上手:基础知识 ........................ 1 1.1 交互式解释器 .............................

    RED HAT LINUX 6大全

    第一部分 Red Hat Linux的介绍与安装 第1章 Red Hat Linux和UNIX简介 1 1.1 Linux的优点 2 1.2 版权和保证 3 1.3 在哪里可以获取Red Hat Linux 3 1.4 系统需求 3 1.5 小结 4 第2章 Red Hat系统的安装 5 2.1 准备,...

    算法心得:高效算法的奥秘(原书第2版).[美]Henry S.Warren,Jr(带详细书签).pdf

    5.3.3 与对数函数的关系 96 5.3.4 应用 97 5.4 后缀0计数 97 5.5 习题 105 第6章 在字组中搜索位串 106 6.1 寻找首个值为0的字节 106 6.1.1 0值字节位置函数的一些简单推广 110 6.1.2 搜索给定范围内的值 110...

    Dive Into Python 中文版

    3.7. 连接 list 与分割字符串 ......................................................................................................................35 3.8. 小结 ............................................

    MySQL中文参考手册

    o 4.15 安装后期(post-installation)的设置与测试 + 4.15.1 运行mysql_install_db 的问题 + 4.15.2 启动 MySQL 服务器的问题 + 4.15.3 自动启动和停止 MySQL + 4.15.4 选项文件 o 4.16 升级和降级...

    精通qt4编程(源代码)

    \——QDialog 卢传富介绍了Qt的对话框类QDialog,实现了一个自定义的登录对话框,举例说明了Qt提供的内建对话框类的应用。 14 \ 第3章 基础窗口部件——QWidget 卢传富 \蔡志明首次引入Qt设计器的使用,绘制并实现了...

    精通Qt4编程(第二版)源代码

    \——QDialog 卢传富介绍了Qt的对话框类QDialog,实现了一个自定义的登录对话框,举例说明了Qt提供的内建对话框类的应用。 14 \ 第3章 基础窗口部件——QWidget 卢传富 \蔡志明首次引入Qt设计器的使用,绘制并实现...

    MYSQL

    7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 其他函数 7.4.13 与GROUP BY子句一起使用的函数 7.5 CREATE DATABASE ...

    MySQL中文参考手册.chm

    7.4.4 逻辑运算 7.4.5 比较运算符 7.4.6 字符串比较函数 7.4.7 类型转换运算符 7.4.8 控制流函数 7.4.9 数学函数 7.4.10 字符串函数 7.4.11 日期和时间函数 7.4.12 ...

    代码之美(中文完整版).pdf

    第18章 Python的字典类:如何打造全能战士 18.1. 字典类的内部实现 18.2. 特殊调校 18.3. 冲突处理 18.4. 调整大小 18.5. 迭代和动态变化 18.6. 结论 18.7. 致谢 第19章 NumPy中的多维迭代器 19.1 N维数组操作中的...

    疯狂JAVA讲义

    1.2.3 Python的简介和优势 5 1.3 Java程序运行机制 5 1.3.1 高级语言的运行机制 6 1.3.2 Java程序的运行机制和JVM 6 1.4 开发Java的准备 7 1.4.1 安装JDK 8 学生提问:不是说JVM是运行Java程序的虚拟机吗?那...

    VEX:Houdini Sublime Text附加组件

    带参数的函数自动完成。 通过样式化弹出窗口的功能文档。 对特殊支持。 错误报告,请求,建议等的未。 屏幕截图 设置 首选项→程序包控制→安装程序包→VEX 要求: Sublime Text的最新版本。 包装控制 工具→...

Global site tag (gtag.js) - Google Analytics