Python学习笔记(5)~Python基础练习之常用内置函数(11-20)

Python基础练习之常用内置函数(11-20)

11、callable()

作用
        用于检查一个对象是否是可调用的。如果返回 True,object 仍然可能调用失败;但如果返回 False,调用对象 object 绝对不会成功。对于函数、方法、lambda 函式、 类以及实现了 call 方法的类实例, 它都返回 True。
        海轰的理解:重点在是否可以被调用
测试demo

#!/usr/bin/python3

# False 易错
print(callable(0))

# False 易错
print(callable("runoob"))

# False 易错
x="xxx"
print(callable(x))

def add(a, b):
    return a+b
 # 函数返回 True
print(callable(add))


class A:
    def method(self):
        return 0
 # 类返回 True
print(callable(A))

a = A()
# 没有实现 __call__, 返回 False
print(callable(a))


class B:
    def __call__(self):
        return 0
# True
print(callable(B))

b = B()
# 实现 __call__, 返回 True
print(callable(b))

运行结果
在这里插入图片描述

12、chr()

作用
        用一个范围在 range(256)内的(就是0~255)整数作参数,返回一个对应的字符。返回值是当前整数对应的 ASCII 字符。

语法

chr(i)
参数:i -- 可以是10进制也可以是16进制的形式的数字。

测试demo

#!/usr/bin/python3
#十六进制 转acsii字符
print(chr(0x30))
print(chr(0x31))
print(chr(0x61))
#十进制 转acsii字符
print(chr(48))
print(chr(49))
print(chr(97))

运行结果
在这里插入图片描述

13、ord()

作用
        以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值,或者 Unicode 数值,如果所给的 Unicode 字符超出了你的 Python 定义范围,则会引发一个 TypeError 的异常。
测试demo

#!/usr/bin/python3

#ord 
print(ord('A'))
print(ord('a'))

运行结果
在这里插入图片描述

14、compile()

作用
        将一个字符串编译为字节代码。

测试demo

#!/usr/bin/python3

s  = "print('helloworld')"
r = compile(s,"", "exec")
print(r)
#执行s表示的代码语句
exec(r)

运行结果
在这里插入图片描述

15、complex()

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

测试demo

#!/usr/bin/python3

# 1+2j
print(complex(1,2))

#处理数字 1+0j
print(complex(1))

#处理字符串 2+0j
print(complex('2'))

# 注意:这个地方在"+"号两边不能有空格,也就是不能写成"1 + 2j",应该是"1+2j",否则会报错 1+2j
print(complex('1+2j'))

运行结果
在这里插入图片描述

16、delattr()

作用
        用于删除对象的属性

语法

delattr(object, name)

参数
object -- 对象。
name -- 必须是对象的属性。

测试demo

#!/usr/bin/python3

class Coordinate:
    x = 10
    y = -5
    z = 0
 
point1 = Coordinate() 
print('--删除 z 属性前--')
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)

运行结果
在这里插入图片描述

17、hasattr()

作用
        用于判断对象是否包含对应的属性

语法

hasattr(object, name)

参数
object -- 对象。
name -- 字符串,属性名。

返回值
如果对象有该属性返回 True,否则返回 False。

测试demo

#!/usr/bin/python3

class Coordinate:
    x = 10
    y = -5
    z = 0
 
point1 = Coordinate() 
print(hasattr(point1, 'x'))
print(hasattr(point1, 'y'))
print(hasattr(point1, 'z'))
print(hasattr(point1, 'no'))  # 没有该属性

运行结果
在这里插入图片描述

18、dict()

作用
        用于创建一个字典
语法

class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

参数说明:
**kwargs -- 关键字
mapping -- 元素的容器
iterable -- 可迭代对象

返回值:
返回一个字典

测试demo

#!/usr/bin/python3

# 创建空字典
print(dict())

# 传入关键字
print(dict(a='a', b='b', t='t'))

# 映射函数方式来构造字典
print(dict(zip(['one', 'two', 'three'], [1, 2, 3])))

# 可迭代对象方式来构造字典 
print(dict([('one', 1), ('two', 2), ('three', 3)]))


运行结果
在这里插入图片描述

19、zip()

作用
        用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
语法

zip([iterable, ...])

参数说明:
iterabl -- 一个或多个迭代器;

返回值:
返回元组列表。

测试demo

#!/usr/bin/python3

a = [1,2,3]
b = [4,5,6]
c = [4,5,6,7,8]
#在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。
print(list(zip(a,b)))
#如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
print(list(zip(a,c)))

运行结果
在这里插入图片描述

20、divmod()

作用
        把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
语法

divmod(a, b)

参数说明:
a: 数字
b: 数字

测试demo

#!/usr/bin/python3

print(divmod(7,2))
print(divmod(10,4))

运行结果
在这里插入图片描述

参考资料

https://www.runoob.com/python/python-built-in-functions.html

猜你喜欢

转载自blog.csdn.net/weixin_44225182/article/details/107662332
今日推荐