1.PIL
-
PIL.Image 四种图像插值模式
- Nearest(最近相邻插值算法/最近邻法)
- Bilinear(两次线性插值算法/双线性内插法)
- Bicubic(两次立方插值算法/立方卷积法)
- Antialias(Lanczos算法)
2.call
python中一切皆对象,函数也是对象,同时也是可调用对象(callable)
关于可调用对象,我们平时自定义的函数、内置函数和类都属于可调用对象,但凡是可以把一对括号()应用到某个对象身上都可称之为可调用对象,判断对象是否为可调用对象可以用函数 callable
函数可以被调用
类本身也可以被调用,主要作用是生成实例化对象
def func():
pass
class class_test():
def __init__(self):
pass
print(callable(func))
print(callable(class_test))
>>>True
>>>True
#两者均可被调用
类的实例化对象无法被调用
a = class_test()
print(callable(a))
>>>False
>#无法被调用
增加__call__()后可被调用
class class_test1():
def __init__(self):
pass
def __call__(self):
pass
a = class_test1()
print(callable(a))
>>>True
#可以被调用
3.isinstance()
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。
-
isinstance() 与 type() 区别
- type() 不会认为子类是一种父类类型,不考虑继承关系。
- isinstance() 会认为子类是一种父类类型,考虑继承关系。
如果要判断两个类型是否相同推荐使用 isinstance()。
使用:isinstance(object, classinfo)
例子
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list)) # 是元组中的一个返回 True
True
A是B的父类
class A:
pass
class B(A):
pass
isinstance(A(), A) # returns True
type(A()) == A # returns True
isinstance(B(), A) # returns True 考虑继承关系
type(B()) == A # returns False 不考虑继承关系
4.math.floor()、math.ceil()
向下取整
import math
print(math.floor(11.8))
print(math.floor(-22.1))
>>>11
>>>-23
向上取整
import math
print(math.floor(11.8))
print(math.floor(-22.1))
>>>12
>>>-22