笨笨的学pythonDay06

接着昨天未学完的函数,还有个偏函数和装饰器,先说一下偏函数,装饰器没有看明白

1.偏函数

偏函数可以通过将函数参数设置默认值,然后形成一个新的函数,降低函数的调用难度,使用functools模块中的functools.partical(函数名,*args,**kw)

2.模块

由于随着开发的进行,代码会越来越多,这样不便于维护。为了使代码更好的维护,可以把很多函数分组,放在不同的文件里,需要的时候直接去调用,python中.py文件就是一个模块(Module)。模块的上一级还有包(Package),每个包目录下都会有一个__init__.py的文件,这个文件是必须存在的

使用的时候import ‘模块名称’,在命令运行模块文件的时候,python解释器把特殊变量__name__置为__main__,在其他地方导入运行的话不会,所以在修改模块进行测试的时候会加上,if __name__==__main__,去运行模块,这样其他地方导入的话不会运行此处。

模块的搜索位置,‘模块名’.path

3.面向对象编程

面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递。在python中所有的数据类型都可以视为对象,也可以自定义对象,自定义的对象数据类型就是class类

(1) 类是抽象的模板,实例是根据类创建出来的一个个具体的对象,每个对象拥有相同的方法,但各自的数据会不同。创建类:class '名称‘(object),如:class  student(object),是创建student这个类,object是指所有的类都会继承的类;创建好类之后可以去创建实例:student(),类名称+(),若类中有绑定属性(__init__()),创建实例时需要将绑定属性的值传入。

(2) 类可以有多个属性,可以自动定义,在类这个对象中可以定义函数,对象发消息就是通过调用对象关联函数去实现,称之为对象的方法。类中的函数定义时与普通函数的唯一区别是,类中的函数参数第一个永远是self,调用时不用传self。通过在实例上调用方法,可以直接操作对象的内部数据,无需知道内部逻辑

(3)实例的属性可以通过外部代码直接改动,或者增加属性:bart.name='Mei',bart.age=10,有此属性即可修改,无此属性即可添加;但是当实例的属性对应的变量名称是__开头,此时就不能直接对其访问修改,需要定义获取或修改实例属性的方法

(4)类可以创建子类,与其相似,只是 class cat (animal),括号内为父类,创建的子类完全继承父类的方法,此为继承;每个子类均可以对原有方法进行改动,若存在与父类相同的方法名,运行时会调用子类的该方法,所以就会呈现出多态。定义的类就是一种数据类型,它的子类,以及实例均属于此数据类型,若定义一个外函数接受父类的数据类型,则在调用此函数时传所有的实例(包含子类的和父类的)均可以调用,只要类中有外函数的方法即可

(4)获取对象的信息

type()用来获取对象的类型,type(abs)——>;type(a)——>;type('abd')——>

isinstance()用来获取对象是否为某类型,isinstance('ABC',str)

你可能感兴趣的:(笨笨的学pythonDay06)