python模板的本质是什么文件 python 类模板_模块化


01 类(class)的简介

1、 我们所学习的对象都是Python的内置对象,但是内置对象并不能满足所有的需求,所以我们在开发中经常需要自定义一些对象。

类,简单理解它就相当于一个图纸,在程序中,我们需要根据类来创建对象。所以类就是对象的图纸!

我们也称对象是类的实例,如果多个对象是通过一个类创建的,我们称这些对象是一类对象。像int(),float(),bool(),str(),list(),dict()……这些都是类。

例如:

a=int(10)等价于a=10

2、 我们自定义的类都需要使用大写字母开头,使用大驼峰命名法(帕斯卡命名法)来对类命名。

例如:

a=int(10)#创建一个int类的实例b=str('hello')#创建一个str类的实例print(a,type(a))print(b,type(b))

3、 定义一个简单的类,使用class关键字来定义类,语法和函数很像!

语法:

class 类名([父类]):

代码块

例如:

class MyClass():passprint(MyClass)#MyClass是一个主函数

例如:

class MyClass():passmc = MyClass()mc_2=MyClass()mc_3=MyClass()mc_4=MyClass()print(mc,type(mc))#MyClass这个类创建完成,mc, mc_2, mc_3, mc_4都是MyClass的实例,它们都是一类对象。

4、 isinstance()用来检查一个对象是否是一个类的实例。

例如:

result=isinstance(mc,MyClass)print('result=',result)

5、 类也是一个对象。

类就是一个用来创建对象的对象。

类是一个type类型的对象,定义类实际上就是定义了一个type类型的对象。

现在我们通过MyClass这个类创建的对象是一个空对象,也就是对象中实际上什么也没有,我们可以通过向对象添加变量,对象中的变量称为属性。

语法:对象.属性名=属性值

例如:

mc.name='你好' print(mc.name)

02 类的定义

1、 类和对象都是对现实生活中事物或程序中的内容的抽象,实际上所有的事物都有两部分构成:

  • (1)数据(属性);
  • (2)行为(方法)。

2、 尝试定义一个表示人的类。在类中也可以定义函数,类中定义的函数,我们称为方法。这些方法可以通过该类的所有实例来访问。

例如:

class Person:name='黎明'#在类的代码块中,我们可以定义变量和函数b=20p1=Person()#创建一个Person的实例p2=Person()print(p1.name,p2.b)#所有实例都可以访问这些变量

03 模块

1、 模块(module)

模块化指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序。

不采用模块化,是统一将所有的代码编写到一个文件中。

采用模块化,将程序分别编写到多个文件中。

2、 模块化的优点:

  • (1)方便开发;
  • (2)方便维护;
  • (3)模块可以复用!

3、 模块的创建:

在python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件。

注意:模块名要符合标识符规范。

4、 在一个模块中引入外部模块:

import 模块名,(模块名就是python文件的名字,注意不要py)。

例如:import text_module ,可以引入同一个模块多次,但是模块的实例只会创建一个。

5、 第二种引入模块的方法:

import 模块名 as 模块别名

例如:

import text_module as text print(text)

text是给text_module起的别名

6、 import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头。

在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字, __name__属性值为 __main__的模块是主模块,一个程序中只会有一个主模块。

主模块就是我们直接通过Python执行的模块。

例如:

import text_module as textprint(text.__name__)print(__name__)

7、 可以在模块中定义变量,在模块中定义的变量,在引入模块后,就可以直接使用了。

例如:

import text_module as text print(text.a,text.b)

8、 也可以只引入模块中的部分内容

语法:from 模块名 import 变量,变量……

例如:

from text_module import a print(a)

或者:

from text_module import a,b print(a,b)

或者:

from text_module import* print(a,b)#星号表示引入所有内容

9、添加了下划线的变量,只能在模块内部访问,在通过import*引入时,不会引入下划线开头的变量。

例如:

from text_module import* print(_c)from text_module import _c print(_c)