【转载】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