编玩边学

>

资讯中心

>

少儿编程

> 正文

Python3内置函数大全(2)

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的免费试听课程和学习资料。  

关键词阅读

Python内置函数大全

版权及免责声明

1、"编玩边学"上的内容,包括文章、资料、资讯等,本网注明"来源:编玩边学"的,其版权均为"编玩边学"或深圳市编玩边学教育科技有限公司所有,任何公司、媒体、网站或个人未经授权不得转载、链接、转贴或以其他方式使用。已经得到"编玩边学"许可的媒体、网站,在使用时必须注明"来源:编玩边学",违者本网站将依法追究责任。

2、"编玩边学" 未注明"来源:编玩边学"的文章、资料、资讯等均为转载,本网站转载出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如其他媒体、网站或个人从本网站下载使用,必须保留本网站注明的"稿件来源",并自负版权等法律责任。如擅自篡改为" 来源:编玩边学 " ,本网站将依法追究其法律责任。

3、如果本网所转载内容侵犯了您的权益,请与我们联系team@codepku.com,我们将及时处理。