【转载】python中对象,类,函数,方法,包,库和模块等区别

一,对象和类
Python是面向对象程序设计(Object Oriented Programming, OOP),其思想主要针对大型软件设计而提出。其软件设计更加灵活,能够很好地支持代码复用和设计复用。并且使得代码具有更好的可读性和可扩展性。

面向对象程序设计的思路:
比如生产一台计算机,不是按顺序生产每一个部件,而是分别生产各个部件,然后再将其组装起来,这些部件通过设计好的接口连接,以便协调工作。

现实生活的每个相对独立的事物都可以看作一个对象,如一个人,一辆车。对象是具有某些特性和功能的具体事物的抽象,都具有描述其特征的属性及附属于它的行为,如一辆车有颜色等属性,一个人有姓名等属性。

 

1、类

每个对象都有一个类,类是创建对象实例的模板,是对对象的抽象和概括。它包含对所创建对象的属性描述和行为特征的定义。

定义:创建类时用变量形式表示的对象属性称为数据成员或属性(成员变量),用函数形式表示的对象行为称为成员函数(成员方法),成员属性和成员方法统称为类的成员。

1   class 类名:
2         属性(成员变量)
3         属性 
4         ...
5         成员函数(成员方法)

 

2、对象

对象 = 属性(特征) + 方法(行为)

python中具有相同属性和方法的对象归为一个类(class),类是对象的抽象化,对象是类的实例化。

对象的创建

1 对象名 = 类名()

 

3、对象和类的使用示例

所有类都有一个名为__init__()的函数,它始终在启动类时执行。使用__init__()函数将值赋给对象属性。对象也可以包含方法。对象中的方法属于该对象的函数。

实例 创建Person类

 1   class Person:
 2         def __init__(self,name,age):
 3               self.name = name
 4               self.age = age
 5 
 6         def myfunc(self):
 7               print('Hello my name is' + self.name)
 8 
 9   p1 = Person('Bill',63)
10 
11 
12   p1.myfunc()
13   print(p1,name)
14   print(p1.age)

 

二,函数和方法
1、函数的分类
内置函数:python内嵌的一些函数

 

1 匿名函数:一行代码实现一个函数功能
2 递归函数:直接或间接调用函数本身的函数
3 自定义函数

 

 

2、方法分类

1 普通方法:直接用self调用的方法
2 私有方法:_函数名,只能在类中被调用的方法
3 属性方法:@property,将方法伪装成为属性,让代码看起来更合理
4 特殊方法(双下划线):用来封装实例化对象的属性,如__init__
5 类方法:通过类名的调用去操作公共模板中的属性和方法
6 静态方法:不用传入类空间、对象的方法。 可以完全独立类外的一个方法,但是为了代码的一致性统一的放到某个模块(py文件)中

 

3、函数作用域

1 从函数调用开始至函数执行完成,返回给调用者后,在执行过程中开辟的空间会自动释放。
2 也就是说函数执行完成后,函数体内部通过赋值等方式修改变量的值不会保留,会随着返回给调用者后,开辟的空间会自动释放。

 

4、方法作用域

1 通过实例化的对象进行方法的调用,调用后开辟的空间不会释放。也就是说调用方法中对变量的修改值会一直保留。

 

5、调用方式

函数:通过“函数名()”的方式进行调用。

方法:通过“对象.方法名()”的方式进行调用。

1 类的内部调用:self.<方法名>(参数列表)
2 类的外部调用:<实例名>.<方法名>(参数列表)
3 注意:以上两种调用方法中,提供的参数列表中都不用包括self

 

三、包,模块和库

包:

1   在模块之上的概念,为了方便管理而将文件进行打包。
2   包目录下第一个文件便是 __init__.py,然后是一些模块文件和子目录,假如子目录中也有 __init__.py,那么它就是这个包的子包

package_a

├── init.py
├── module_a1.py
└── module_a2.py

 

模块:

1 就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块。

 

库:

1 具有相关功能模块的集合。分为标准库、第三方库以及自定义模块
2 标准库:就是下载安装的python里那些自带的模块(python安装后自带的库)
3 第三方库:就是由其他的第三方机构,发布的具有特定功能的模块(python安装后需要下载安装的库)
4 自定义模块:用户自己可以自行编写模块,然后使用。

 

感谢笔者的知识分享,本文转自:https://blog.csdn.net/qq_41952762/article/details/109093361

posted @ 2020-12-27 15:20  furichan  阅读(1723)  评论(0编辑  收藏  举报