python继承

Python - 错误和异常 - 第十九天

时光怂恿深爱的人放手 提交于 2019-12-01 11:34:25
Python 错误和异常 作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,在前面我们没有提及,这章节我们会专门介绍。 Python 有两种错误很容易辨认:语法错误和异常。 语法错误 Python 的语法错误或者称之为解析错,是初学者经常碰到的,如下实例 >>> while True print ( ' Hello world ' ) File " <stdin> " , line 1 , in ? while True print ( ' Hello world ' ) ^ SyntaxError : invalid syntax 这个例子中,函数 print() 被检查到有错误,是它前面缺少了一个冒号(:)。 语法分析器指出了出错的一行,并且在最先找到的错误的位置标记了一个小小的箭头。 异常 即便Python程序的语法是正确的,在运行它的时候,也有可能发生错误。运行期检测到的错误被称为异常。 大多数的异常都不会被程序处理,都以错误信息的形式展现在这里: >>> 10 * ( 1 / 0 ) Traceback ( most recent call last ) : File " <stdin> " , line 1 , in ? ZeroDivisionError : division by zero >>> 4 + spam * 3

500行代码,教你用python写个微信飞机大战

。_饼干妹妹 提交于 2019-12-01 11:12:43
这几天在重温微信小游戏的飞机大战,玩着玩着就在思考人生了,这飞机大战怎么就可以做的那么好,操作简单,简单上手。 帮助蹲厕族、YP族、饭圈女孩在无聊之余可以有一样东西让他们振作起来!让他们的左手 / 右手有节奏有韵律的朝着同一个方向来回移动起来! 这是史诗级的发明,是浓墨重彩的一笔,是…… 在一阵抽搐后,我结束了游戏,瞬时觉得一切都索然无味,正在我进入贤者模式时,突然想到,如果我可以让更多人已不同的方式体会到这种美轮美奂的感觉岂不美哉? 所以我打开电脑,创建了一个 plan_game.py …… 先看效果图 操作环境 操作系统:windows10 python版本:python 3.7 代码编辑器:pycharm 2018.2 使用模块:os,sys,random,pygame 因为实现代码使用到了一个pygame的第三方模块,没有的先 pip install 一下,这里顺便提供一个比较好的pygame的教程. https://eyehere.net/2011/python-pygame-novice-professional-index/ 具体实现 首先我们先指定素材文件的文件目录.方便我们后面的使用。这些素材已经全部上传至公众号 Python专栏 ,后台回复: 飞机大战 ,即可获得。 import os # 得到当前文件夹下面的material_images目录的路径

第七章 面向对象

六眼飞鱼酱① 提交于 2019-12-01 10:23:11
7.1 面向对象基础 面向对象编程 (Object Oriented Programming, OOP ,面向对象程序设计) 优点和应用场景 : 业务功能较多时,通过面向对象归类 数据封装(创建字典存储数据) 游戏示例:创建一些角色,并根据角色需要再创建任务 封装思想 :将同一类的函数封装到同一个py文件中,以后方便使用 面向对象 :将同一类的函数封装到同一个class中,以后方便使用 对象名 :命名首字母大写 Note1(1) 函数式的应用场景 --> 各个函数之间是独立且无共用的数据 1. 基础概念 类 :具有相同方法和属性的一类事物 对象 、 实例 :一个拥有具体属性值和动作的具体个体 实例化 :从一个类得到一个具体对象的过程 # 定义一个类,Account class Account: # 方法, 哪个对象调用方法,其就是self def login(self,name): print(123) return 666 def logout(self): pass # 调用类中的方法 x = Account() # 实例化(创建)Account类的对象,开辟一块内存 val = x.login('henry') # 使用对象调用class中的方法 print(val) Note2(2) 应用场景 :用于很多函数,需要对函数进行归类和划分(封装) self :哪个对象操作

Django makemigrations报错

大兔子大兔子 提交于 2019-12-01 10:14:28
Django python manage.py makemigrations Django运行python manage.py makemigrations(记录对models.py的改动)时报错: app01.MyUser.groups: (fields.E304) Reverse accessor for 'MyUser.groups' clashes with reverse accessor for 'User.groups'. 解决办法: settings.py中添加AUUTH_USER_MODEL # settings.py # app01是我的app名字,MyUser是我继承AbstractUser的表名字 AUTH_USER_MODEL = 'app01.MyUser' 来源: https://www.cnblogs.com/17vv/p/11679629.html

day24 内置方法,异常机制

我的梦境 提交于 2019-12-01 10:06:19
目录 day24 内置方法,异常机制 今日内容 昨日回顾 今日内容详细 内置方法(魔法方法) __len__(self) 获取长度 异常处理 day24 内置方法,异常机制 今日内容 内置方法(魔法方法) 异常处理 昨日回顾 约束 在父类建立一种约束 抽象类 from abc import ABCMeta, abstractmethod abc:abstract base class,抽象基类 ABCMeta:抽象类的元类,用来构造类 abstractmethod:装饰器,用来将普通的实例方法转换为抽象方法 如果子类中没有重写被abstractmethod装饰过的方法,会报错 类方法 用classmethod修饰 第一个参数为类对象,一般用cls表示 实例对象和类对象都可以调用类方法,但一般用类对象调用 类方法是酱类本身作为对象进行操作的方法 静态方法 使用staticmethod修饰的方法 没有class和cls参数,不能调用类或实例的属性和方法 类和实例方法都可以调用静态方法 静态方法是独立的单纯的函数,仅仅托管于类的名称空间中 property property是一种特殊的属性,访问它时会执行一段功能,然后返回值 property是装饰器,装时后的方法使用起来与属性类似,不需要加括号 只有@property是只读,加上@setter定义可读可写,加上

python基础

我的梦境 提交于 2019-12-01 10:04:53
常见的类型 列表 list.count(data) data出现的次数 list.sort([reverse=False]) 升序排序 list.reverse() 翻转 list.index() 返回data第一次出现的索引 删除操作 del list[index] 删除指定索引的数据 list.remove[data] 删除第一个出现的指定数据 list.pop() 删除末尾数据,并 返回 list.pop(index) 删除指定索引的数据,并 返回 插入操作 list.insert(index, data) 在指定位置插入数据 list.append(data) 在末尾追加数据 list.extentd(list2) 将列表2的数据追加到列表1 更多方法 ipython3 中 输入列表数据,按下tab键,可智能提示 关键字: import keyword print(keyword.kwlist) 元祖 info.count info.index 列表元祖相互转换 list(tuple) tuple(list) 字典 dict.keys() 所有key列表 dict.values() 所有value列表 取值 dict[key] key不存在 会报错 dict.get(key) key不存在 不报错 删除 del dict[key] key不存在 会报错 dict.pop

Python基础 5.类

匆匆过客 提交于 2019-12-01 09:14:58
5.1 类定义和方法 1 .类的定义: 类 是一个独立存放变量(属性/方法)的空间 class 类名: pass​ 实例名 = 类名() 2.运算符“.” 调用类的属性或方法 实例可以访问类的属性类不可以访问实例的属性实例也是一个独立存放变量的空间实例和实例没有关联 本身没有这个属性 就会去类中找 3.私有属性 在python中有两私有属性,分别是在属性前加 一个下换线(_) 和两个下划线(__) 一个下滑线外部可以直接访问,二个下划线外部不可以直接访问 4.方法 就是封装在类里的一种特殊的函数 5.“实例方法” self代表实例本身 表示的是“实例”的行为给实例用的,和函数的传参一样,只是会先传一个自身的实例self,​方法总是定义在类中的,但是却叫“实例方法”,因为它表示该类所有实例所共有的行为 class persson(object): def eat(self): print('{}正在吃烦'.format(self.name)) return 100​nanbei=persson()nanbei.name='南北'a=nanbei.eat()print(a) 5.2 初始化和析构 (dir查看属性与方法) Python中有很多以双下划线开头且以双下划线结尾的固定方法。他们会在特定的时机被触发执行。 init 就是其中之一,它会在实例化之后自动被调用。以完成实例的初始化。

Python基础 7.异常

≡放荡痞女 提交于 2019-12-01 09:14:45
7.1异常 在 Python 中所有的异常都是继承自 BaseException 直接分为四大类: SystemExit:Python退出异常KeyboardInterrupt: 键盘打断(Ctrl+C)GeneratorExit: 生成器退出(下次课再讲)Exception: 普通异常(只会使用这部分的异常) 7.2处理异常 1.基本的 try … except … try: 首先写一个try ,然后把所有可能出错的代码,放到里面去。 print-"----------") #第一条正确的 print(a) #第2条错误的 print(--------3-------") #第三条正确的except : pass #下面是写捕获到异常的处理方案。 代码中会出现的异常都是 Exception 的子类, 因此在 except 中只需要在最后加上 Exception 即可 2.更加丰富的结构: try:​ print-"---------")print(a)​ print---------------")​ except Exception as result: #在这里用个as将捕获到的异常用个变量保存起来。​ print('捕获到了异常,会执行我下面的代码对异常进行处理')print(result) # 打印result,把捕获异常信息返回出去。​ else:​ print(

python从写定时器学习Thread

百般思念 提交于 2019-12-01 09:08:25
目录 python从写定时器学习Thread Timer 对象 粗陋的循环定时器 更 pythonic 循环定时器 FAQ python从写定时器学习Thread python 如何写一个定时器,循环定时做某一操作呢? Timer 对象 from threading import Timer def hello(): print "hello, world" t = Timer(10.0, hello) t.start() 10秒后输出: hello, world 重点研究 t = Timer(10.0, hello) 这句代码,python 提供了一个 Timer 对象 ,它会在指定的时间后执行某一操作;它的完整形式: class threading.Timer(interval, function, args=[], kwargs={}) interval 是时间间隔, function 是可调用的对象, args 和 kwargs 会作为 function 的参数。 注意:这里只会执行一次 function,而不会一直定时执行,且 Timer 在执行操作的时候会创建一个新的线程。 Timer 在 python2 和 python3 有点区别: # python2.7 def Timer(*args, **kwargs): return _Timer(*args, *

python 类的特殊方法

99封情书 提交于 2019-12-01 09:05:50
python对象的魔法方法 魔法方法 含义 基本的魔法方法 __new__(cls[, ...]) 1. __new__ 是在一个对象实例化的时候所调用的第一个方法 2. 它的第一个参数是这个类,其他的参数是用来直接传递给 __init__ 方法 3. __new__ 决定是否要使用该 __init__ 方法,因为 __new__ 可以调用其他类的构造方法或者直接返回别的实例对象来作为本类的实例,如果 __new__ 没有返回实例对象,则 __init__ 不会被调用 4. __new__ 主要是用于继承一个不可变的类型比如一个 tuple 或者 string __init__(self[, ...]) 构造器,当一个实例被创建的时候调用的初始化方法 __del__(self) 析构器,当一个实例被销毁的时候调用的方法 __call__(self[, args...]) 允许一个类的实例像函数一样被调用:x(a, b) 调用 x.__call__(a, b) __len__(self) 定义当被 len() 调用时的行为 __repr__(self) 定义当被 repr() 调用时的行为 __str__(self) 定义当被 str() 调用时的行为 __bytes__(self) 定义当被 bytes() 调用时的行为 __hash__(self) 定义当被 hash()