2019-09-03 来源:编玩边学
callable()函数用于检查一个对象是否是可调用的。如果返回True,object仍然可能调用失败;但如果返回False,调用对象object绝对不会成功。对于函数、方法、lambda函式、类以及实现了__call__方法的类实例,它都返回True。
>>>callable(0)
False
>>> callable("runoob")
False
>>> def add(a, b):
... return a + b
...
>>> callable(add)
#函数返回
True
True
>>> class A:
#类
... def method(self):
... return 0
...
>>> callable(A)
#类返回
True
True
>>> a = A()
>>> callable(a)
#没有实现
__call__,
返回
False
False
>>> class B:
... def __call__(self):
... return 0
...
>>> callable(B)
True
>>> b = B()
>>> callable(b)
#实现__call__,返回
True
True
chr()
用一个整数作参数,返回一个对应的字符。
>>>chr(0x30)
'0'
>>> chr(97)
'a'
>>> chr(8364)
'€'
classmethod修饰符对应的函数不需要实例化,不需要self参数,但第一个参数需要是表示自身类的cls参数,可以来调用类的属性,类的方法,实例化对象等。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class A(object):
bar = 1
def func1(self):
print ('foo')
@classmethod
def func2(cls):
print ('func2')
print (cls.bar)
cls().func1() #调用foo方法
A.func2()
#不需要实例化
输出结果为:
func2
1
foo
compile()函数将一个字符串编译为字节代码。
compile(source, filename, mode[, flags[, dont_inherit]])
source --字符串或者AST(Abstract Syntax Trees)对象。
filename --代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
mode --指定编译代码的种类。可以指定为exec, eval, single。
flags --变量作用域,局部命名空间,如果被提供,可以是任何映射对象。flags和dont_inherit是用来控制编译源码时的标志。
>>>str = "for i in range(0,10): print(i)"
>>> c = compile(str,'','exec') #
编译为字节代码对象
>>> c
<code object <module> at 0x10141e0b0, file "", line 1>
>>> exec(c)
0
1
2
3
4
5
6
7
8
9
>>> str = "3 * 4 + 5"
>>> a = compile(str,'','eval')
>>> eval(a)
17
complex()函数用于创建一个值为real + imag * j的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。
class complex([real[, imag]])
real -- int, long, float或字符串;
imag -- int, long, float;
>>>complex(1, 2)
(1 + 2j)
>>> complex(1) #数字
(1 + 0j)
>>> complex("1") #当做字符串处理
(1 + 0j)
#注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错
>>> complex("1+2j")
(1 + 2j)
delattr函数用于删除属性。delattr(x, 'foobar')相等于del x.foobar。
delattr(object, name)
object --对象。
name --必须是对象的属性
#!/usr/bin/python
# -*- coding: UTF-8 -*-
class Coordinate:
x = 10
y = -5
z = 0
point1 = Coordinate()
print('x = ',point1.x)
print('y = ',point1.y)
print('z = ',point1.z)
delattr(Coordinate, 'z')
print('--删除z属性后--')
print('x = ',point1.x)
print('y = ',point1.y)
#触发错误
print('z = ',point1.z)
输出结果:
('x = ', 10)
('y = ', -5)
('z = ', 0)
--删除z属性后--
('x = ', 10)
('y = ', -5)
Traceback (most recent call last):
File "test.py", line 22, in <module>
print('z = ',point1.z)
AttributeError: Coordinate instance has no attribute 'z'
所以如果您想报名少儿编程培训课程,就请点击“少儿编程报名”,填写信息,并领取5G的免费试听课程和学习资料。
关键词阅读
关注我们的自媒体
获取更多精彩内容
编玩边学订阅号
编玩边学服务号
编玩边学广东 深圳
1、"编玩边学"上的内容,包括文章、资料、资讯等,本网注明"来源:编玩边学"的,其版权均为"编玩边学"或深圳市编玩边学教育科技有限公司所有,任何公司、媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式使用。已经得到"编玩边学"许可的媒体、网站,在使用时必须注明"来源:编玩边学",违者本网站将依法追究责任。
2、"编玩边学" 未注明"来源:编玩边学"的文章、资料、资讯等均为转载,本网站转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网站下载使用,必须保留本网站注明的"稿件来源",并自负版权等法律责任。如擅自篡改为" 来源:编玩边学 " ,本网站将依法追究其法律责任。
3、如果本网所转载内容侵犯了您的权益,请与我们联系team@codepku.com,我们将及时处理。
请输入正确的证书编号
学员姓名:孙兴民
课程:Scratch Level 1
发证日期:2019.08.15