面向对象类class类型类变量实例方法initattackbite类指针-指向父类对象对象指针实例变量self.nameslef.age组合一个对象作为一个属性self.course=python继承classFoo:passclassSon(Foo):passSon是子类\派生类Foo是父类\超类\基类继承的特点:如果多个类都用到了相同的方法\属性我们应该把这些共用的方法抽象到他们的父类中去减少代码的冗余先写子类的功能,发现重复才创建父类子类自己没有某一
系统 2019-09-27 17:56:43 1947
#!/usr/bin/envpython#-*-coding:utf-8-*-#题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个#第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下#的一半零一个。到第10天早上想再吃时,见只剩下1个桃子了。求第一天共摘了多少。#求解思路:设后一天的桃子数量为x,则前一天剩余的桃子数量为(x+1)×2#例如:第10天剩余1个#第9天剩余(1+1)×2=4个#第8天剩余
系统 2019-09-27 17:56:36 1947
单继承与多继承?单继承:一个类只能继承一个父类的方式。多继承:一个类可以继承多个父类的方式。单继承:(生物角度)人类->哺乳类动物->动物->生物->有机物…多继承:(社会角度)舞蹈老师(教舞蹈)体育老师(运动)爸爸(帅气)妈妈(打扫卫生)我(舞蹈,运动,帅气,打扫卫生)单继承案例:父类:pass子类(父类):pass多继承案例:父类1:pass父类2:pass父类3:pass子类(父类1,父类2,父类3):pass多继承的问题所在:菱形继承或者钻石继承中
系统 2019-09-27 17:56:34 1947
本文实例讲述了python求众数问题的方法,是一个比较典型的应用。分享给大家供大家参考。具体如下:问题描述:多重集中重数最大的元素称为众数...就是一个可以有重复元素的集合,在这个集合中重复的次数最多的那个数就叫它的众数...如S=[1,2,2,2,3,5]重数是2,其重数为3实例代码如下:list_num=[]list_num_count=0dict_num={}#从文件读入,文件第一行为集合中元素的个数,以后每一行为一个元素list_num_count
系统 2019-09-27 17:56:21 1947
一、正则表达式的特殊字符介绍正则表达式^匹配行首$匹配行尾.任意单个字符[]匹配包含在中括号中的任意字符[^]匹配包含在中括号中的字符之外的字符[-]匹配指定范围的任意单个字符?匹配之前项的1次或者0次+匹配之前项的1次或者多次*匹配之前项的0次或者多次{n}匹配之前项的n次{m,n}匹配之前项最大n次,最小m次{n,}配置之前项至少n次二、re模块的方法介绍1、匹配类方法a、findall方法#findall方法,该方法在字符串中查找模式匹配,将所有的匹
系统 2019-09-27 17:56:15 1947
说到WebFramework,Ruby的世界Rails一统江湖,而Python则是一个百花齐放的世界,各种micro-framework、framework不可胜数,不完全列表见:http://wiki.python.org/moin/WebFrameworks虽然另一大脚本语言PHP也有不少框架,但远没有Python这么夸张,也正是因为PythonWebFramework(PythonWeb开发框架,以下简称Python框架)太多,所以在Python社区
系统 2019-09-27 17:55:32 1947
本文实例讲述了Python原始字符串(rawstrings)用法,分享给大家供大家参考。具体如下:Python原始字符串的产生正是由于有正则表达式的存在。原因是ASCII字符和正则表达式特殊字符间所产生的冲突。比如,特殊符号“\b”在ASCII字符中代表退格键,但同时“\b”也是一个正则表达式的特殊符号,代表“匹配一个单词边界”。为了让RE编译器把两个字符“\b”当成你想要表达的字符串,而不是一个退格键,你需要用另一个反斜线对它进行转义,即可以这样写:“\
系统 2019-09-27 17:55:21 1947
#内置成员__dict__:获取类/对象的所属成员组成的集合*__doc__:获取类的文档信息*__name__:获取类名称的字符串__module__:获取当前类所在的文件的名称,如果是当前文件,显示为main(后面会讲其他的)__bases__:获取当前类的父类列表#方法的分类1.对象方法:该方法中会直接传入当前对象调用方式:对象.成员方法()特征:会将当前对象传入方法中2.类方法:在方法中会直接传入当前类@classmethod:不需要实例化,直接类
系统 2019-09-27 17:54:28 1947
一、*args的使用方法*args用来将参数打包成tuple给函数体调用defargs_test(x,y,*args):print(x,y,args)args_test(1,2,3,4,5)12(3,4,5)二、**kwargs的使用方法**kwargs打包关键字参数成dict给函数体调用defkwargs_test(**kwargs):print(kwargs)kwargs_test(a=1,b=2,c=3){'a':1,'c':3,'b':2}三.参数
系统 2019-09-27 17:54:08 1947
工厂模式,类似实际的制造车间中,根据订单的需求来生成/创建某个实例。1.应用场景:需要创建的实例不确定,由输入的数据决定;2.实现方法:实现一个独立的类,接收传入的需要创建实例的名称,在该类中实现创建某个具体实例。3.代码:#coding:utf-8classPerson(object):def__init__(self):self.name=Noneself.gender=NonedefgetName(self):returnself.namedefge
系统 2019-09-27 17:52:31 1947