本节开始,我们将讨论面向对象编程的三大特征:封装、继承和多态。下面,我们将由简至难,依次讨论封装、继承、多态。一.封装enclosure封装:指隐藏类的实现细节,让使用者不用关心这些细节;目的:让使用者通过尽可能少的方法(或属性)操作对象;如何封装:通过私有属性和方法;私有属性和方法:以双下划线'__'开头,不以双下划线结尾的标识符为私有成员;私有成员只能用此类的方法进行访问和修改扩展:了解java的读者可能知道,java中使用了private、defau
系统 2019-09-27 17:54:10 2206
01问题描述这个SQL题来源于自己的Python学习交流群,具体是这样的:用一条SQL语句查询出每门课都大于80的学生姓名和总成绩。02解题思路本人使用Python来解决这个问题,大概的思路如下:首先筛选出课程成绩小于等于80的列(布尔选择)。取这些列的学生姓名的唯一值。这些学生姓名就是不符合条件的,我们反选符合条件的。最后用groupby求和即可完成。03解题代码①通过布尔选择成绩小于等于80的列。data[data['score']<=80]其实通过结
系统 2019-09-27 17:53:43 2206
glob模块说明:1、glob是python自己带的一个文件操作相关模块,用它可以查找符合自己目的的文件,就类似于Windows下的文件搜索,支持通配符操作*、?、[]这三个通配符,*代表0个或多个字符,?代表一个字符,[]匹配指定范围内的字符,如[0-9]匹配数字。glob.glob("字符串+通配符")该方法返回指定路径所有匹配的文件的列表,该方法需要一个参数用来指定匹配的路径字符串(本字符串可以为绝对路径也可以为相对路径),其返回的文件名只包括当前目
系统 2019-09-27 17:52:15 2206
前言在刚学习编程的时候总是忘记处理一些特例(尤其是动态语言可以传各种值),为了养成良好的编程和测试习惯,在编写单元测试用例的时候,我们注意考虑下如下测试用例(等价类划分):正常值功能测试边界值(比如最大最小,最左最右值)异常值(比如None,空值,非法值)实战操作defbinary_search(array,target):ifnotarray:return-1beg,end=0,len(array)whilebeg
系统 2019-09-27 17:50:52 2206
Python的MRO即MethodResolutionOrder(方法解析顺序),也就是在Python中的类的继承顺序是怎样的。在Python2.3之前,MRO的实现是基于DFS的,而在Python2.3以后MRO的实现是基于C3算法(我这里两种算法的具体实现都不详述)。C3算法最早被提出是用于Lisp的,应用在Python中是为了解决原来基于深度优先搜索算法不满足本地优先级,和单调性的问题。本地优先级:指声明时父类的顺序,比如C(A,B),如果访问C类对
系统 2019-09-27 17:50:47 2206
print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法。打开电脑,选择python软件,下面选择python3.7为例进行介绍,点击python3.7,就进入了python的命令行界面。python函数的格式是print(),然后再括号内输入想要在屏幕上面显示的内容,如果是数字等内容,可以直接输入print(a),如下图所示。如果想连续输入内容,那么不同的变量之间可以用英文逗号隔开。如下图所示。比如想连续
系统 2019-09-27 17:50:34 2206
目录1.重点知识2.Python语言介绍2.1.Python在主要领域的应用前景2.2.Python在机构、行业巨头公司的应用3.Python的发展史4.Python的发展前景如何5.Python有哪些种类CPythonIPythonPyPyJythonIronPython6.选择:Python2还是Python3?1.重点知识了解Python语言的特点、发展史介绍Python语言广泛的应用领域和前景2.Python语言介绍Python语言的创始人是荷兰人
系统 2019-09-27 17:50:24 2206
ASCII((AmericanStandardCodeforInformationInterchange):美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC646。在python中,经常要用到它和字符的相互转换,这里做了一个例子,仅供参考:1c=input("Pleaseinputachar:")2a=int(input("Pleaseinputaascii
系统 2019-09-27 17:48:03 2206
定义代码如下importredisimportcontextlibimportpickleimportos,socket,threadingclassRedisLock:def__init__(self,lock_name,host='',port=6379,db=0):self.lock_name=lock_nameself.redis=redis.Redis(connection_pool=redis.ConnectionPool(host=host,
系统 2019-09-27 17:47:23 2206
fromkeys()方法从序列键和值设置为value来创建一个新的字典。语法以下是fromkeys()方法的语法:dict.fromkeys(seq[,value]))参数seq--这是将用于字典的键准备的值的列表。value--这是可选的,如果提供的话则值将被设置为这个值返回值此方法返回列表。例子下面的例子显示fromkeys()方法的使用。#!/usr/bin/pythonseq=('name','age','sex')dict=dict.fromke
系统 2019-09-27 17:46:49 2206
本文实例讲述了python获取目录下所有文件的方法。分享给大家供大家参考。具体分析如下:os.walk()函数声明:walk(top,topdown=True,onerror=None)1.参数top表示需要遍历的目录树的路径2.参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,返回子目录下的文件,最后返回根目录下的文件3.参数onerror的默
系统 2019-09-27 17:46:06 2206
一、闭包1.定义:当一个函数在内部定义函数,并且内部的函数应用外部函数的参数或者局部变量,当内部函数被当做返回值的时候,相关参数和变量保存在返回的函数之中,这种结果,叫做闭包。2.例子:连载17中的myF4就是一个典型的例子。3.闭包常见的坑defcount():#定义列表fs=[]foriinrange(1,4):deff():returni*ifs.append(f)#按照我们的预期,应该是fs=[f,f,f].其中f中一次包含1,4,9,这样才对,
系统 2019-09-27 17:45:44 2206
便携文档格式(PDF)是由Adobe开发的格式,主要用于呈现可打印的文档,其中包含有pixel-perfect格式,嵌入字体以及2D矢量图像。YoucanthinkofaPDFdocumentasthedigitalequivalentofaprinteddocument;indeed,PDFsareoftenusedindistributingdocumentsforthepurposeofprintingthem.可以方便的使用Python和Djang
系统 2019-09-27 17:38:47 2206
自己最近有在学习python,这实在是一门非常短小精悍的语言,很喜欢这种语言精悍背后又有强大函数库支撑的语言。可是刚接触不久就遇到了让人头疼的关于编码的问题,在网上查了很多资料现在在这里做一番总结,权当一个记录也为后来的兄弟姐妹们服务,如果可以让您少走一些弯路本人将倍感荣幸。先来描述下现象吧:importosforiinos.listdir("E:\TorchlightII"):printi代码很简单我们使用os的listdir函数遍历了E:\Torchl
系统 2019-09-27 17:38:24 2206
Python中至少有三种比较常见的方法类型,即实例方法,类方法、静态方法。它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文。首先,这三种方法都定义在类中。下面我先简单说一下怎么定义和调用的。(PS:实例对象的权限最大。)实例方法定义:第一个参数必须是实例对象,该参数名一般约定为“self”,通过它来传递实例的属性和方法(也可以传类的属性和方法);调用:只能由实例对象调用。类方法定义:使用装饰器@classmethod。第一个参数必须是当前
系统 2019-09-27 17:56:54 2205