文档章节

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

raylee2015
 raylee2015
发布于 2015/10/21 08:10
字数 452
阅读 0
收藏 0

这一章节我们来讨论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-目录

 

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

本文转载自:http://blog.csdn.net/raylee2007/article/details/48580919

共有 人打赏支持
raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
私信 提问
Python基础总结成千行代码,让Python入门更简单!

只要学会这千行代码,不管你是零基础还是弱基础或是没有接触过编程,都可以快速入门Python!当时我就不信邪啊,等我看完之后,即使作为一个Python老鸟了,还是领会到了很多教授他的独特见解!...

糖宝lsh
2018/09/10
0
0
每周一个 Python 模块 | functools

functools 是 Python 中很简单但也很重要的模块,主要是一些 Python 高阶函数相关的函数。 该模块的内容并不多,看 官方文档 也就知道了。 说到高阶函数,这是函数式编程范式中很重要的一个概...

yongxinz
2018/11/12
0
0
python核心编程--第十四章

14.1 可调用对象 许多的python对象都是我们所说的可调用的,即是任何能通过函数操作符“()”来调用的对象。要调用可调用对象,函数操作符得紧跟在可调用对象之后。python有4种可调用对象:...

fzyz_sb
2013/06/19
0
4
zg手册 之 python2.7.7源码分析(1)-- python中的对象

源代码主要目录结构 Demo: python 的示例程序 Doc: 文档 Grammar: 用BNF的语法定义了Python的全部语法,提供给解析器使用 Include: 头文件,在用c/c++编写扩展模块时使用 Lib: Python自...

东昕
2014/07/08
0
0
python核心编程-第四章-个人笔记

1.所有的python对象都拥有三个特性: ①身份:每个对象都有唯一的身份标识自己,可用内建函数id()来得到。基本不会用到,不用太关心 >>> a = 2>>> id(2)39411616L>>> id(a)39411616L 这个例子...

好好先生_1028
2015/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

刚入职阿里,告诉你真实的职场生活,兼谈P6、P7、P8的等级

一:拿下offer的人,基本上都有什么特征? 二:为什么选择阿里? 三:阿里的工作氛围什么样? 四:阿里的薪资情况? 五:阿里的晋升空间有多大? 最近部门招聘,很多工程师,包括我在内都参与...

java知识分子
15分钟前
1
0

中国龙-扬科
18分钟前
1
0
深入理解定时器系列第一篇——理解setTimeout和setInterval

很长时间以来,定时器一直是javascript动画的核心技术。但是,关于定时器,人们通常只了解如何使用setTimeout()和setInterval(),对它们的内在运行机制并不理解,对于与预想不同的实际运行状...

Jack088
20分钟前
2
0
windows 安装nvm

1、nvw-windows的官网:https://github.com/coreybutler/nvm-windows/releases 2、选择nvm-setup.zip安装 3、配置环境变量 4、检查nvm是否安装成功 使用管理员权限打开一个命令行。输入nvm v...

灰白发
31分钟前
1
0
MySQL

慢日志查询作用 慢日志查询的主要功能就是,记录sql语句中超过设定的时间阈值的查询语句。例如,一条查询sql语句,我们设置的阈值为1s,当这条查询语句的执行时间超过了1s,则将被写入到慢查...

士兵7
33分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部