复习 模块 类 属性 方法 继承

什么是模块?


系统模块:

系统中有个sys模块

根据sys模块的path属性方法,可以获取模块的位置。

import sys

当我们导入模块的时候,会从上面目录一次查找。

我们大部分模块都在 /usr/lib64/python2.*/ 目录下能够找到

比如:

os模块


string模块


也可以自定义python的path(模块目录)

创建目录

将目录加入sys.path

查看:

另外一种方法,修改系统的环境变量:


执行使环境变量生效:

查看:

验证:




我们自己写的脚本都可以作为模块来使用:

脚本名字一般都和脚本内容联系比较紧密

vim  wc.py

 

导入模块wc

执行


使用模块中的函数:


修改 wc.py 文件

结果:

表示执行这个模块的时候,是在执行wc这个模块。

执行2.py的时候:

main变成模块名了

所以,我们改写wc.py

表示如果名字是main的话,调用wordCount()函数。

怎么做包?

在目录下创建空文件

有这个文件后,包的名字就是目录的名字

使用包的方法:

另外一种方法:

使用:

导入包的 wordCount 方法并执行:

导入的时候顺便给函数起个名字:


总结:


面向对象的介绍

类和对象:


面向对象的思想:



python类的定义

类就是封装

如果类的名称是由多个单词组成,类的首字母和其他单词的首字母都是大写


定义一个类:


类添加动态方法:

 

self 表示类的自己,或者类的本身。

类的属性

对象的创建

类的属性

执行

要想调用私有属性,方法如下,这种方法一般在测试的时候使用,正式情况不用:

私有属性的用途就是不被外部调用,所以这种方法只用于代码测试。

或者把私有属性写入方法里就可以获取到私有属性的值了:

各种调用方法,包含一些内置方法的调用:

结果:

类的方法:



私有方法:__talk




通过类去访问方法:

占用的资源很少。


静态方法:

参数里面没有self



装饰器


python 类的内置方法(内部类):

创建一个内部类:


内部类的实例化方法:

举例:


第二种方法调用内部类:


魔术方法(内置方法):

我们把这些双下滑下开头和结尾的方法,叫类的内置方法,或者叫魔术方法。

创建内置方法:__str__


直接这样输出:

类直接调用__str__内置方法的值。


构造函数:

__init__ 用于初始化的内部状态

通过对象访问和 类访问:


初始化函数里面不仅可以放一些属性,还可以放一些方法:

析构函数:

用来释放资源的函数

打开链接、socket、文件,都可以通过__del__将其清除。

通常在脚本的最后执行这个方法:

在__del__里面把他关掉:



python的垃圾回收机制


使用:

import gc

结果:如果是0的话,表示没有可回收的。

类的继承

继承最大的好处,代码重用

传统格式:

子类只要这么去写,就能够继承父类,父类的方法,子类一样可以执行。



继承父类:super格式

通过super这个函数继承父类


查看说明


用法:

这样继承好后,子类就能使用父类中的共有属性和公有方法了。



多重继承

注意第三条:

当父类中出现多个自定义的__init__方法时,多重继承只执行第一个类的__init__方法,其他的不执行。






时间: 2024-11-03 07:47:42

复习 模块 类 属性 方法 继承的相关文章

5.Swift枚举|结构体|类|属性|方法|下标脚本|继承

1. 枚举: ->在Swift中依然适用整数来标示枚举值,需搭配case关键字 enum  Celebrity{  case DongXie,XiDu,Nandi,BeiGai }  // 从左到右对应0,1,2,3 enum CompassPoint { case North case South case East case West //enum中可以定义方法 func show(){ print(self) } } //定义enum 变量 var p = CompassPoint.Nor

2016/1/15 面向对象练习 1,创建类 属性 方法 构造方法 2,自定义图书类 3温度单位转换工具

1 public class Factory { 2 3 //属性 4 //品牌 5 String pinpai; 6 //设备 7 int machine; 8 //材料 9 double material; 10 //资金 11 double money; 12 //人工 13 int rengong; 14 //产品 15 int goods; 16 17 void product(int xiaohao1){ 18 machine=xiaohao1; 19 System.out.prin

14 PHP 类的继承 [public protected private] parent 构造方法 析构方法 重写 最终类和方法 设计模式

类的继承 简单理解: 某个类A具有某些特征,另一个类B,也具有A类的所有特征,并且还可能具有自己的更多的一些特征,此时,我们就可以实现:B类使用A的特征信息并继续添加自己的一些特有特征信息. 基本概念 继承:一个类从另一个已有的类获得其特性,称为继承. 派生:从一个已有的类产生一个新的类,称为派生. 继承和派生,其实只是从不同的方向(角度)来表述,本质上就是一个事情. 父类/子类:已有类为父类,新建类为子类.父类也叫"基类",子类也叫"派生类" 单继承:一个类只能从

类属性、实例属性

属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性.实例属性在每创造一个类是都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同.从而减少内存. 1:实例属性: 最好在__init__(self,...)中初始化 内部调用时都需要加上self. 外部调用时用instancename.propertyname 2:类属性: 在__init__()外初始化 在内部用classname.类属性名

Python:类属性,实例属性,私有属性与静态方法,类方法,实例方法

From: http://www.cnblogs.com/pengsixiong/p/4823473.html 属性分为实例属性与类属性 方法分为普通方法,类方法,静态方法 一:属性: 尽量把需要用户传入的属性作为实例属性,而把同类都一样的属性作为类属性.实例属性在每创造一个类是都会初始化一遍,不同的实例的实例属性可能不同,不同实例的类属性都相同.从而减少内存. 1:实例属性: 最好在__init__(self,...)中初始化 内部调用时都需要加上self. 外部调用时用instancenam

python-静态方法staticmethod、类方法classmethod、属性方法property

Python的方法主要有3个,即静态方法(staticmethod),类方法(classmethod)和实例方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def foo(x):     print "executing foo(%s)"%(x)   class A(object):     def foo(self,x):         print "executing foo(%s,%s)"%(self,x)       @

复习 类的属性总结 类的方法总结

1.类的属性总结 脚本练习: 2.打印各种类的属性 (1)访问类的公有属性 执行结果: (2)访问类的私有属性 执行结果: 不建议使用这种方式访问类的私有属性,只是为了测试. (3)访问对象的公有属性 执行结果: 结论:必须要先调用方法,才能使用方法里面的属性. (4)访问对象的私有属性 执行结果: 结果:这样访问是不行的,不能再类外面访问对象的私有属性. (5)访问函数的局部变量 执行结果: 结果:也不能用这种方法访问函数的局部变量. 总结:类的公有属性,可以通过对象访问 类的私有属性,也可以

对Objective-C相关的类、方法、属性、成员变量介绍

类的定义@interface FirstClass :NSObject@end//@interface表示声明的是一个类,“:”表示继承关系,@end类的结束类的实现@implementation FirstClass方法的声明+(void)print;-(id)init;//"+"表示声明的是一个类方法,由雷鸣调用//“-”表示声明的时实例方法,必须由类的对象来调用//不带参数的方法在调用时,会使用隐藏的self参数来访问实例变量的属性.声明带参数的方法:+(void)initWit

Objective-C——类、方法、属性、成员变量

有过相关编程语言基础,了解C++/java的相信对类的类.对象等概念是了解的.在此我也不做过多地赘述. 关于OC中类的定义及方法使用这块,OC定义了一套自己的规范 类的定义: @interface FirstClass :NSObject @end //@interface表示声明的是一个类,":"表示继承关系,@end类的结束 类的实现 @implementation FirstClass 方法的声明: +(void)print; -(id)init; //"+"