摘要:# 1.异常只能用来处理指定的异常取代,如果非指定异常则无法处理# 2多分支:被监测的代码块抛出的异常有多种可能性,并且我们需要针对每一种异常类型都定制专门的处理逻辑try: print(' >1') # name print(' >2') l = [1, 2, 3] # l[100] print(
阅读全文
摘要:'''一什么是异常:异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有出题它,则会爆出该异常,程序的运行也随指终止),在python中错误触发异常如下:''''''Traceback (most recent call last):File "D:/project/me
阅读全文
摘要:面向对象的软件工程包括下面几个部: 1.面向对象分析(object oriented analysis, OOA) 软件工程中的系统分析阶段,要求分析员和用户结合在一起,对用户的需求做出精确的分析和明确的表述,从大的方面解析软件系统应该做什么,而不是怎么去做。 面向对象的分析要按照面向对象的概念和方
阅读全文
摘要:# 单例模式:# 实现方式一:class Mysql: __instance=None # __instance=obj def __init__(self): self.host = '127.0.0.1' self.port = 3306 @classmethod def singleton(c
阅读全文
摘要:# 知识储备: __call__ 方法class Foo: def __call__(self, *args, **kwargs): print(self) print(args) print(kwargs)obj = Foo()obj(1, 2, 3, a=1, b=2, c=3) # obj._
阅读全文
摘要:# Chinese = Mymeta(class_name,class_bases,class_dic)# 创建元类如下:class Mymeta(type): def __init__(self, class_name, class_bases, class_dic): # print(class
阅读全文
摘要:'''储备知识exec 参数1:字符串形式的命令 参数2:全局作用域(字典形式),如果不指定默认就使用globals() 参数3:局部作用域(字典形式),如果不指定默认就使用locals()'''g = { 'x': 1, 'y': 2}l = { }exec('''global x,mx = 10
阅读全文
摘要:# isinstance class Foo: passobj = Foo()print(isinstance(obj,Foo)) # 结果为True# issubclass class Foo: passclass Bar(Foo): passprint(issubclass(Bar,Foo))
阅读全文
摘要:# 反射:通过字符串映射到对象的属性class People: country = 'china' def __init__(self,name,age): self.name=name self.age=age def talk(self): print('%s is talking' % sel
阅读全文
摘要:'''name = 'alex'age = 18sex = 'female''''# import setingsimport hashlibimport timeclass People: def __init__(self,name,age,sex): self.id= self.create_
阅读全文
摘要:'''在类内部定义的函数,分为两大类: 一:绑定方法:绑定给谁,就应该有谁来调用,谁来调用就会把调用者当第一个参数自动传入 绑定到对象的方法:在类内定义的没有被任何装饰器修饰的 绑定到类的方法:在类内定义的被装饰器classsmethod修饰的方法 二:非绑定方法:没有自动传值这么一说了,就类中定义
阅读全文
摘要:# BMI指数(bmi是计算而来,但很明显它听起来像是一个属性而非方法,如果我们将其做成一个属性,更便于理解)'''成人的BMI数字值: 过轻:低于18.5 正常:18.5-23.9 过重:24-27 肥胖:28-32 非常肥胖:高于32体质指数(BMI)= 体重(kg)/身高^2(m)EX:70k
阅读全文
摘要:class Room: def __init__(self,name,owner,weight,length): self.name=name self.owner=owner self.__weight=weight self.__length=length def tell_area(self)
阅读全文
摘要:1、封装数据属性:明确的区分内外,控制外部对隐藏的属性的操作行为 2、封装方法:隔离复杂度 # 一:封装数据属性:明确的区分内外,控制外部对隐藏的属性的操作行为class People: def __init__(self,name,age): self.__name=name self.__age
阅读全文
摘要:class A: __x = 1 # _A__x = 1 def __init__(self,name): self.__name=name # self._A__name = name def __foo(self): # _A__foo print('run foo')# print(A.__d
阅读全文
摘要:# 多态指的是一类事物有多种形态,比如动物有多种形态:人,狗,猪# 文件也有多种形态:文本文件,可执行文件'''多态性:一、什么是多态动态绑定(在继承的背景下使用时,有时也称为多态性)多态性是指在不考虑实例类型的情况下使用实例,多态性分为静态多态性和动态多态性静态多态性:如任何类型都客园用运算符+进
阅读全文
摘要:import abcclass Animal(metaclass=abc.ABCMeta): # 只能被继承,不能被实例化 @abc.abstractmethod def run(self): pass @abc.abstractmethod def eta(self): passclass Pop
阅读全文
摘要:#!/usr/bin/env python# -*- coding: utf-8 -*-class Pople: school = '路飞学城' def __init__(self,name,age,sex): self.name = name self.age = age self.sex = s
阅读全文
摘要:# 在子类派生出的新的方法中重用父类的方法,有两种实现方式# 方式一:指名道姓(不依赖继承)# 方式二: super()(依赖继承)并且super 是按照mro顺序找的# 方式一:class Hoer: def __init__(self,nickname,life_value,aggresivit
阅读全文
摘要:#!/usr/bin/env python # -*- coding: utf-8 -*-class Hoer: def __init__(self,nickname,life_value,aggresivity): self.nickname = nickname self.life_value
阅读全文