我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python的系统管理_10_pytho

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python的系统管理_10_pytho

01类和对象:

面向过程和面向对象的编程:

面向过程的编程:函数式编程,C程序等。

面向对象的编程:C++,Java,Pyton 等

类和对象:是面向对象中的两个重要概念

类:是对事物的抽象,比如:汽车模型

对象:是类的一个实例,比如:QQ轿车,大客车

范例说明:

汽车模型可以对汽车的特征和行为进行抽象,然后可以实例化为一台真实的汽车实体出来。

02 Python类定义:

使用class关键字定义一个类,并且类名的首字母要大写;

当程序需要创建的类型不能用简单类型表示时就需要创建类;

类把需要的变量和函数组合在一起,这种包含也称之为“封装”。

Python 类的结构

class类名:

成员变量

成员函数

classTest:

first= 123

second= 456

deff(self):

return‘test’

类的创建:

类的方法中至少有一个参数self

类方法也分为:公有方法和私有方法

私有方法:不能被外部的类和方法调用,私有方法的定义和私有属性的定义都是一样的,在方法前面加上“__”双下线就可以了;

类方法:被classmethod()函数处理过的函数,能被类所调用,也能被对象所调用(是继承的关系);

静态方法:相当与“全局函数”,可以被类直接调用,可以被所有实例化对象共享,通过staticmethod()定义静态方法没有“self”语句;

self参数:

用于区分函数和类的方法(必须有一个self),self参数指向对象本身。


对象的创建:

创建对象的过程称之为实例化;当一个对象被创建后,包含三个方面的特征:对象的句柄,属性和方法。

句柄用于区分不同的对象

对象的属性和方法与类中的成员变量和成员函数对应

if__name___==”__main__”:

myClass1=MyClass()#创建类的一个实例(对象)


Python对象的体系结构

经典对象-内部由属性和方法组成,属性可以是数据类型也可以是函数类型。如属性为函数则该属性就是一个方法。

类的内部方法-Python类当中提供了一些内部方法,方法名油前后连个下划线加字母组成。例如:Python的构造函数__init__.

新型对象-定义新型对象,必须继承object方法class_name(object)新型对象提供了对类方法和静态方法的支持。

类的属性:

类由属性和方法组成,类的属性是对数据的封装,类的方法是对类的行为的封装。类的属性按使用范围分为公有属性和私有属性,类的属性范围取决于属性的名称

公有属性:所谓公有属性就是在类中和类外调用的属性

私有属性:不能被类以外的函数调用

(可以通过instance.__classname__attribute方式访问,但只用于调试程序,定义方式:以“__”双下划线开始的成员变量就是私有属性,否则是公有属性。)

内置属性:由系统在定义类的时候默认添加的,由前后两个下划线构成__dict__ , __module__

#!/usr/bin/python

#coding:utf8

name = “global”

class Ren(object):

name= “人”

high= “一人高”

wight=”一人重”

__money= “我有时块钱”

defrun (self):

printself.name

print“跑步”

defsay (self):

lie= “我很欣赏你”

printself.__money

printlie

defmoRi(self):

print“世界末日”

mr= classmethod(moRi)

mi= staticmethod(moRi)

if __name__ == ‘__main__’:

zhangsan= Ren()

zhangsan.say()



@classmethod类的装饰器

@statcmethod


练习:

#!/usr/bin/env python

#-*- coding:utf-8 -*-

class Myclass:

var1= “类的属性”

def__init__(self):

self.var1= “对象的属性1”

self.var2= “对象的属性2”

deffunc(self):

print“对象方法”

fs= classmethod(func)

deffunc2(self):

print“对象的方法2”

print Mclass.var1

Myclass.fs()

mys= Myclass()

print mys.var1

mys.vunc()

print Myclass.var1


构造- 析构

内部类:

所谓内部类,就是在类的内部定义的类,主要目的是为了更好的抽象现实世界,

内部类的举例:

汽车是个类,汽车底盘,轮胎也可以抽象为类,将其定义到汽车类中,则形成内部类,更好的描述汽车类,因为底盘,轮胎是汽车的一部分。

一般不赞同使用内部类,会使程序结构复杂,但是理解内部类有助于理解模块的调用。

class Milo():

classTest():

var1=”我是内部类”

内部类的实例化方法:

方法1:直接使用外部类调用内部类

调用格式:

object_name= outclass_name.inclass_name()

outclass_name表示外部类的名称,inclass_name表示内部类的名称,

object_name表示内部类的实例

方法2:先对外部类进行实例化,然后在实例化内部类

调用格式:

out_name= outclass_name()

in_name=out_name.inclass_name()

in_name.method()

out_name()表示外部类的实例,in_name表示内部类的实例


构造函数与析构函数:



构造函数:

用于初始化类的内部状态,Python提供的构造函数是__init__();

__init__()方法是可选的,如果不提供,Python会给出一个默认的__init__方法;

一般对数据的获取需要自定义的get和set方法。

析构函数:

用于释放对象占用的资源,Python提供的析构函数是__del__();

__del__()也是可选的,如果不提供,则Python会在后台提供默认析构函数

如果要显式的调用析构函数,可以使用del关键字,方式如下:del对象名。

def __init___(self,n=”xx”):

sel.name=n

def __del__(self):

p.close()

print‘释放资源!’

垃圾回收机制:

Python采用垃圾回收机制来清理不再使用的对象;Python提供gc模块释放不再使用的对象Python采用“引用计数”的算法方式来处理回收,即:当某个对象在其作用域内不再被其他对象引用的时候,Python就自动清除对象;Pyton的函数collect()可以一次性收集所有待处理的对象(gc.collect())

属性例题:

#!/usr/bin/env python

#coding:utf8

var 4 = “全局变量”

class Milo():

var1= “类属性,公有属性var1”

__var2= “类的私有属性 __var2”


deffun(self):

self.var2= “对象的公有属性var2”

self.var3=”对象的私有属性__var3”

var4= “函数fun的局部变量var4”

printvar4

printself.__var3

defother(self):

printvar4

printself.__var3

zou = Milo()

zou.other()

print “#”*50


方法例子:

#!/usr/bin/python

#coding:utf8

class Milo():

name= “csvt”

deffun1(self):

printself.name

print“我是公有方法”

self.__fun2()

def__fun2(self):

print“我是私有方法”

@classmethod

def classFun(self):

print self.name

print“我是类方法”

classnewfun =classmethod(classfun)

@staticmethod

def staticFun():

print Milo.name

print“我是静态方法”

staticnewfun= staticmethod(staticFun)

zou = Milo()

zou.fun1()

zou.__fun2() #私有方法不能访问。


Milo.fun1() #不可直接访问公有方法。

Milo.name#可以直接访问公有属性

Milo.classnewfun()#可以类直接调用。

Milo.staticfun()#可以直接调用。


类间关系:

当多个类被设计完成时,一般都会有类与类之间的相互关系;

类之间存在继承,组合,依赖等关系;

继承是面向对象的重要特性之一;

继承关系:继承是相对两个类而言的父子关系,子类继承了父类的所有公有属性和方法;继承实现了代码的重用。


使用继承:

继承可以重用已经存在的数据和行为,减少代码的重编写。Python在类名后使用一对括号来表示继承的关系,括号中的类即为父类。

格式:

ClassMyclass(ParentClass)

注意:

如果父类定义了__init__方法,子类必须显示调用父类的__init__方法

(”BaseClass.__init__(self,[args…])”).

如果子类需要扩展父类的行为,可以添加__init__方法的参数;




范例代码:

#!/usr/bin/env python

#-*-coding:utf-8 -*-

class Parent():

deffun(self):

print“我是父类”

class Myclass (Parent):

deffunc(self):

print“我是子类”

test = Myclass()

test.fun()

test.func()


多重继承,按前后顺序解决冲突问题。



免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python的系统管理_10_pytho

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python的系统管理_10_pytho

01类和对象:面向过程和面向对象的编程:面向过程的编程:函数式编程,C程序等。面向对象的编程:C++,Java,Pyton 等类和对象:是面向对象中的两个重要概念类:是对事物的抽象,比如:汽车模型对象:是类的一个实例,比如:QQ轿车,大客车
2023-01-31

Python系统管理

在Linux操作系统上编写shell脚本时, 主要涉及到执行系统命令, 目录和文件操作. 那么在python中怎么办呢, 这主要是几个模块的使用: os, os.path, shutil和sys...os模块包含了大部分的Linux命令,
2023-01-31

Python的系统管理_03_pytho

收录下流程控制语句方便查看和使用:if 语法 if <表达式>:if expression :else:Statement(s)statement(s)如果在条件表达是成立执行IF下语句,不成立执行ELSE下语句。嵌套方式:If... ..
2023-01-31

Python的系统管理_07_pytho

一个通过正则匹配来下载指定页面图片的示例,几个可能出错的地方都用print打印出来,可以观察是否正确。目标站点::http://www.tupian.com/tag/xinggan#引入数据包import reimport urllib#定
2023-01-31

Python的系统管理_02python

上一节,起了几个简单例子,目的是解释Python其实并难,特别适用了Ipython这样一个利器,既然是Python的系统管理,面向系统管理员,Python的优点之一是其交互式解释器,也称作shell,和BASH很像,很符合管理员的操作习惯,
2023-01-31

Python的系统管理_06_pytho

import subprocessres =subprocess.Popen(['uname','-sv'],stdout=subprocess.PIPE)uname = res.stdout.read().strip()find()和in
2023-01-31

Python的系统管理_04_pytho

函数:工具集:排序:极值:自定义函数-用户自己编写的预定义的函数-系统自带为什么使用函数:降低编程的难度,代码重用。定义形式:def 函数名(参数列表): #可以没有参数函数体Defadd ():#定义函数C= a+bPrintcAdd()
2023-01-31

Python 系统管理利器Fabric

一、简介Fabric是基于Python 2.5及以上版本实现的SSH命令行工具,简化了SSH了应用程序部署及系统管理任务,它提供了系统基础的操作组件,可以实现本地或远程shell命令,包括命令执行,文件上传,下载及完整执行日志输出等功能。F
2023-01-31

通过python socket 管理系统

目的:通过服务端更改多客户端系统时间,可以通过socket有很多扩展应用下面是script部分一,服务端   #!/usr/bin/python# -*- coding:utf-8 -*- #Version:1.0.
2023-01-31

【19】Python工资管理系统

实验名称:工资管理系统实验要求:Alex 100000Rain 80000Egon 50000Yuan 30000-----以上是info.txt文件-----实现效果:从info.txt文件中读取员工及其工资信息,最后将修改或增加的员工工
2023-01-31

系统财务管理系统的

系统财务管理系统的简介系统财务管理系统是一种用于管理企业财务的软件工具,可以帮助企业实现财务信息的集中管理和控制,提高财务管理效率和准确性。该系统通常包括财务管理模块、会计核算模块、财务报表模块等子系统,可以满足企业的不同财务管理需求。系统财务管理系统的详细说明1.财务管理模块财务管理模块是系统财务管理系统的主体部分,
系统财务管理系统的
2024-01-22

python写一个cmdb管理系统

在人生苦短,我用Python的号召下,自己也学习了python这门语言,也自己写了一个简单cmdb系统,简单说一下这个系统,功能就是资产的增删改查,excel导出、多文件上传、基于密码的终端登录,资产信息自动更新,用户管理,批量命令执行,历
2023-01-31

Python学生管理系统示例

import osstus = [] # 学生信息列表(每个学生的信息以字段存储)def add_stu():sid = input('输入学生学号:')sname = input('输入学生姓名:')sage = input('输入学生
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录