Python内建函数(C)

2019-03-06 12:52|来源: 网络

  • callable(object)

说明:检查对象object是否可调用。如果返回True,object任然可能调用失败,但如果返回False,调用对象ojbect绝对不会成功。注意:类是可调用的,而类的实例实现了__call__()方法才可调用。

示例:

>>> callable(0)
False
>>> callable("mystring")
False
>>> def add(a, b):
…     return a + b
…
>>> callable(add)
True
>>> class A:
…      def method(self):
…         return 0
…
>>> callable(A)
True
>>> a = A()
>>> callable(a)
False
>>> class B:
…     def __call__(self):
…         return 0
…
>>> callable(B)
True
>>> b = B()
>>> callable(b)
True

 

  •  chr(i)

说明:返回整数i对应的ASCII字符。与ord()作用相反。

参数x:取值范围[0, 255]之间的正数。

示例:

>>> chr(97)
'a'
>>> ord('a')
97

 

  • classmethod()

说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法,使用方法如下:

class C:
    @classmethod
    def f(cls, arg1, arg2, ...): ...

类方法既可以直接类调用(C.f()),也可以进行实例调用(C().f())。

示例:

>>> class C:
...     @classmethod
...     def f(self):
...             print "This is a class method"
...
>>> C.f()
This is a class method
>>> c = C()
>>> c.f()
This is a class method
>>> class D:
...     def f(self):
...             print " This is not a class method "
...
>>> D.f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unbound method f() must be called with D instance as first argument (got nothing instead)
>>> d = D()
>>> d.f()
This is not a class method

 

  • cmp(x, y)

说明:比较两个对象x和y,如果x < y ,返回负数;x == y, 返回0;x > y,返回正数。

示例:

>>> cmp(1, 2)
-1
>>> cmp(3, 3)
0
>>> cmp(4, 3)
1
>>> cmp('abc','a')
1

 

  • compile(source, filename, mode[, flags[, dont_inherit]])

说明:将source编译为代码或者AST对象。代码对象能够通过exec语句来执行或者eval()进行求值。

参数source:字符串或者AST(Abstract Syntax Trees)对象。

参数 filename:代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。

参数model:指定编译代码的种类。可以指定为 ‘exec’,’eval’,’single’。

参数flag和dont_inherit:这两个参数暂不介绍,碰到时再具体介绍。

示例:

>>> code = "for i in range(0, 10): print i"
>>> cmpcode = compile(code, '', 'exec')
>>> exec cmpcode
0
1
2
3
4
5
6
7
8
9
>>> str = "3 * 4 + 5"
>>> a = compile(str,'','eval')
>>> eval(a)
17

 

  • complex([real[, imag]])

说明:创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

参数real: int, long, float或字符串;

参数imag: int, long, float。

示例:

>>> complex(3, 4)
(3 + 4j)
>>> complex(3)
(3 + 0j)
>>> complex("3")
(3 + 0j)
>>> complex("3 + 4j")
(3 + 4j)

相关问答

更多

python的内建函数和库函数的区别是什么?

【区别】: 标准库函数都需要import xxx才能取得。 内建函数都在__builtins__里面,在global里直接就能用。 【补充】: 1.python中,我们可以通过对内建的比较函数进行自定义,来实现运算符重载。 我们常用的比较运算符有 大于 > 对应的内建比较函数为 __gt__() 大于等于 >= 对应的内建比较函数为 __ge__() 等于 == 对应的内建比较函数为 __eq__() 小于 < 对应的内建比较函数为 __lt__() 小于等于 <= 对应的内建比较函数为 __le ...

python 最常用的内建函数。

writer = open(‘/tmp.log', 'a', encoding='utf-8') # 以追加模式打开tmp.log文件,编码为utf-8 writer.write('开始处理...') # 写入内容 writer.write('%(tile)s %(author)s %(size)d %(summary)s' % book) writer.write('处理完毕') writer.flush() # 刷新缓存 writer.close() # 关闭文件

python的内建函数源码在什么地方

/usr/lib/python2.7 2.7也可能是3.* 文件夹里面 很多 .Py 的文件 和 .pyc 的文件 前者是源文件,后者已经进行了预编译 这是模块,模块中设计的函数就在里面。 比如 re、socket、string。 内建函数可能也在某个文件中,没仔细找

哪位大哥能给个python内建函数大全

不认识的函数可以在shell 下运行help(你的函数) 建议找本教程看,偏手册的有python in a nutshell

Python的标准类型内建函数有: 、 、 、 、 等。

>>> import __builtin__ >>> dir(__builtin__) ['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'Buffer Error', 'BytesWarning', 'DeprecationWarning', 'EOFError', 'Ellipsis', 'Environme ntError', 'Exception', 'False', 'FloatingPoin ...

使用python内建函数,如何分析复杂度

字典(dict)下列字典的平均情况基于以下假设: 1. 对象的散列函数足够撸棒(robust),不会发生冲突。 2. 字典的键是从所有可能的键的集合中随机选择的。小窍门:只使用字符串作为字典的键。这么做虽然不会影响算法的时间复杂度,但会对常数项产生显著的影响,这决定了你的一段程序能多快跑完。操作平均情况最坏情况复制[注2]O(n)O(n)取元素O(1)O(n)更改元素[注1]O(1)O(n)删除元素O(1)O(n)遍历[注2]O(n)O(n) 注: [1] = These operations r ...

如何查看Python内建函数的实现代码

三种⽅法可以查看内建模块的代码,以random模块为例: 1. 使⽤help(random) 2. 利⽤random.__file__查看位置,然后打开后缀名为.py的⽂件。 3. 命令⾏输⼊python -v,然后倒⼊模块时,会⾃动显⽰位置。

“方法”是不是就等于“内建函数”?

不是这样的。 方法的概念,大概等同于函数,内建函数在python中指的是,无需import即可使用的函数。 它们位于一个叫做__builtin__的模块里。

python语言中的内建函数dir()是干啥用的啊?

dir(...) dir([object]) -> list of strings Return an alphabetized list of names comprising (some of) the attributes of the given object, and of attributes reachable from it: No argument: the names in the current scope. Module object: the module attribu ...

使用排序后的内建函数对python字典的值进行排序(sorting values of python dict using sorted builtin function)

这是一个有趣的问题,因为如果键是另一个非索引类型(比如整数),那么就不会产生错误,这是由于一系列细微的事情造成的: 排序(mydict,...)尝试迭代一个字典使用相当于iter(mydict) ,它将调用mydict.__iter__() 迭代字典会产生键 ,实际上iter(mydict)和mydict.iterkeys()是一样的。 您的密钥是字符串,并且由于字符串是可索引的,因此itemgetter(1)将对字符串值起作用,从而获取字符串中的第二个字符。 如果任何字符串的长度为1个字符,那么 ...