目录
包
第三方模块Pillow:非常强大的处理图像的工具库
打印图片属性
修改图片大小
理解面向对象
python类
创建一个类
实例化一个类
对象的初始状态(构造函数__init__())
self
如果不同的人编写的模块重名了怎么办,为了解决模块命名冲突,引入了按目录来组织模块的方法,称为包
特点:引入了包之后,只要顶层的包不与其他人发生冲突,那么模块都不会与别人发生冲突
注意:目录只有包含一个叫做“__init__.py”的文件才被认作是一个包,主要是为了避免一些滥芋充数的名字,基本上这个文件什么也不写
PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow
PIL可以做很多和图像处理相关的事情:
#引入三方库
from PIL import Image
#打开图片
i = Image.open(r"C:\Users\asus\Desktop\img\1.jpg")
#打印图片的格式,大小,类型
print(i.format,i.size,i.mode)
#引入三方库
from PIL import Image
#打开图片
i = Image.open(r"C:\Users\asus\Desktop\img\1.jpg")
#打印图片的格式,大小,类型
print(i.format,i.size,i.mode)
#设置图片大小
i.thumbnail((200,100))
#保存到新图片
i.save(r"C:\Users\asus\Desktop\img\0.jpg","JPEG")
面向过程:
面向对象:
面向对象是相对面向过程而言
面向对象和面向过程都是一种思想
面向过程
面向对象
面向对象是基于面向过程的。
面向对象的特点:
完成需求时:
类:一种数据类型,本身并不占内存空间,根据所学过的Boolean,string,number等类似。用类创建实例化对象(变量),对象占内存空间。
设计类:
格式:
class 类名(父类列表):
属性
行为
# object:基类,超类,所有类的父类
#一般没有合适的父类就写object
class Preson(object):
#定义属性
name = ""
age = 0
height = 0
weight = 0
#定义方法,注意方法的参数必须以self当第一个参数,self代表类的实例
def run(self):
print("run")
def eat(self,food):
print("eat "+food)
实例化对象格式:
对象名 = 类名(参数列表)
注意:没有参数,小括号也不能省略
#使用类实例化对象
a = Preson()
print(a)
a.run()
at后面的是对象a的内存地址
访问对象的属性和方法
#使用类实例化对象
a = Preson()
a.name = "kkk"
a.age = 18
a.height = 1.7
print(a.name,a.age,a.height)
a.run()
a.eat("apple")
__init__():在使用类创建对象时自动调用
注意:如果不显示的写出构造函数,默认会自动添加一个空的构造函数
class Preson(object):
#定义属性
name = ""
#定义方法,注意方法的参数必须以self当第一个参数,self代表类的实例
def run(self):
print("run")
def eat(self,food):
print("eat "+food)
def __init__(self):
print("__init__()")
#使用类实例化对象
a = Preson()
print(a)
给__init__()设置参数,在实例化对象时在类后传参
class Preson(object):
def __init__(self,name,sex):
print(name,sex)
print("__init__()")
#使用类实例化对象
a = Preson("wang","man")
print(a)
self代表类的实例,而非类
哪个对象调用方法,那么这个方法中的self就代表那个对象
可以使用__init__去定义self.name
class Preson(object):
def say(self):
print("my name is %s,my age is %s" %(self.name,self.age))
def __init__(self,name,age):
self.name = name
self.age = age
#使用类实例化对象
a = Preson("likon",20)
a.say()
也可以直接给say方法赋参数
class Preson(object):
def say(self,name,age):
print("my name is %s,my age is %s" %(name,age))
#使用类实例化对象
a = Preson()
a.say("likon",20)
self.__class__ :代表类名
打印类名:
class Preson(object):
def say(self):
print(self.__class__)
#打印类名
a = Preson()
a.say()
一起学习,一起进步 -.- ,如有错误,可以发评论