描述符:如果一个类中包含了三个魔术方法(get,set,delete)之一或者全部的类这个类就是一个描述符描述符的作用:描述符的作用就是对类/对象中某个成员进行详细的管理操作。数据描述符:(完整)同时具备三个魔术方法的类就是数据描述符非数据描述符(不完整):没有同时具备三个魔术方法的类就是非数据描述符三个魔术方法:__get__():触发时机:在访问对象成员属性(该成员已经交给描述符管理的时候)的时候触发作用:设置当前属性获取的值参数:self描述符的对象
系统 2019-09-27 17:54:25 2266
Python面向对象编程——继承与派生一、初始继承1、什么是继承继承指的是类与类之间的关系,是一种什么“是”什么的关系,继承的功能之一就是用来解决代码重用问题。继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类,父类又可以成为基类或超类,新建的类称为派生类或子类2、python中类的继承分为:单继承和多继承classParentClass1:#定义父类passclassParentClass2:#定义父类passclassSubCl
系统 2019-09-27 17:53:48 2266
创建游戏文件2048.py首先导入需要的包:importcursesfromrandomimportrandrange,choicefromcollectionsimportdefaultdict主逻辑用户行为所有的有效输入都可以转换为"上,下,左,右,游戏重置,退出"这六种行为,用actions表示actions=['Up','Left','Down','Right','Restart','Exit']有效输入键是最常见的W(上),A(左),S(下),D
系统 2019-09-27 17:52:36 2266
一.HTTP协议1.官方概念:HTTP协议是HyperTextTransferProtocol(超文本传输协议)的缩写,是用于从万维网(WWW:WorldWideWeb)服务器传输超文本到本地浏览器的传送协议。(虽然童鞋们将这条概念都看烂了,但是也没办法,毕竟这就是HTTP的权威官方的概念解释,要想彻底理解,请客观目移下侧......)2.白话概念:HTTP协议就是服务器(Server)和客户端(Client)之间进行数据交互(相互传输数据)的一种形式。我
系统 2019-09-27 17:52:22 2266
事先在网上搜索了一大圈,头都大了,看到那么多文章写道在python里安装psycopg2的各种坑和各种麻烦,各种不成功。搜索了一下午,索性外出放松。晚饭后,又继续上psycopg2官网(http://initd.org/psycopg/docs/install.html)看了一些有关install的资料,感觉还是麻烦。最后上这个网(https://pypi.python.org/pypi/psycopg2/)上,准备用wheel的方式进行安装。不过在此网页
系统 2019-09-27 17:50:03 2266
官方的说法:classmethod(function)中文说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法,使用方法如下:classC:@classmethoddeff(cls,arg1,arg2,...):...看后之后真是一头雾水。说的啥子东西呢???自己到国外的论坛看其他的例子和解释,顿时就很明朗。下面自己用例子来说明。看下面的定义的一个时间类:classData_test(object):day=0mo
系统 2019-09-27 17:49:54 2266
前言到毕业季了,博主要寄行李,校园里很多快递提出了自己优惠的服务,如何选择最便宜的快递服务呢?思路使用python中matplotlib工具直接绘图,直观看出哪家快递更适合自己代码importmathimportnumpyasnpimportmatplotlib.pyplotaspltdefsunfeng(x):#分段函数低于40斤均为30元高出部分使用0.9元/斤money=[]forx_numinx:#这里注意一下由于x是list,因此需要循环,而py
系统 2019-09-27 17:49:37 2266
下标索引a='123456'#注意下标从0开始print(a[0])#输出结果为1切片操作a='123456'#注意切片是左闭右开print(a[0:6:2])【起始值:结束值:步长】#输出结果为1351.find()检测str是否包含在mystr中如果是返回开始的索引值否则返回-1str='a'mystr='小马是最棒的a'mystr1='小马是最最棒的'print(mystr.find(str))#可选参数startend指明查找的区间默认整个字符串#
系统 2019-09-27 17:49:20 2266
python第三方库安装速度慢或安装失败解决方法解决方法解决方法1.访问https://www.lfd.uci.edu/~gohlke/pythonlibs/#pytorch2.在键盘上按Ctrl+F,出现窗口3.在窗口中输入要安装的库(这里以xgboost为例)4.点击橙色的xgboost5.出现以下画面,接着按照自己的电脑选择不同版本的库。0.90表示库的版本,cp37表示python3.7,amd64表示64位系统6.点击后就会开始下载7.打开cmd
系统 2019-09-27 17:48:38 2266
PYTHON-COOKBOOK文章目录PYTHON-COOKBOOK一:数据结构和算法1、Heapq取出最大或最小的几个元素优先级队列2、字典多值字典字典排序字典列表排序字典共同点和不同点3、collections保留最后几个元素频率统计命名元组字典(映射)联合查找4、其他解压赋值去重且保持顺序切片分组一:数据结构和算法三个基本的写法:列表生成式字典生成式迭代器生成式1、Heapq取出最大或最小的几个元素#最大或者最小的n个元素importrandomfr
系统 2019-09-27 17:46:20 2266
假设在python中有一字典如下:x={‘a':'1,2,3',‘b':'2,3,4'}需要合并为:x={‘c':'1,2,3,4'}需要做到三件事:1.将字符串转化为数值列表2.合并两个列表并添加新的键值3.去除重复元素第1步通过常用的函数eval()就可以做到了,第2步需要添加一个键值并添加元素,第3步利用set集合的性质可以达到去重的效果,不过最后需要再将set集合转化为list列表。代码如下:x={'a':'1,2,3','b':'2,3,4'}x
系统 2019-09-27 17:45:34 2266
本文实例讲述了Python怎么实现无限元素列表的方法,具体实现可使用Yield来完成。下面所述的2段实例代码通过PythonYield生成器实现了简单的无限元素列表。1.递增无限列表具体代码如下:defincrement():i=0whileTrue:yieldii+=1forjinincrement():printiif(j>10):break2.斐波那契无限列表具体代码如下:deffibonacci():i=j=1whileTrue:result,i,
系统 2019-09-27 17:38:30 2266
函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。$$x_1+x_2+x_3+x_4=8$$事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想到这一点问题的答案就呼之欲出了。$$C_M^N=\frac{M!}{N!(M-N)!},\text{(M=7,N=3)}$$可以用Python的程序来计算出这个值,代码如下所示。"""输入M和N计算C(M,N)"""m=int(input('m=
系统 2019-09-27 17:38:21 2266
原文链接:https://edu.csdn.net/bundled/detail/49?utm_source=topic「超级星推官/每周分享」是一个围绕程序员生活、学习相关的推荐栏目。CSDN出品,每周发布,暂定5期。关键词:靠谱!优质!本期内容,我们将抽1人送出由我司程序员奉为“超级神作”的《疯狂Python讲义》1本,并在文章内隐藏了5门好课,敬请关注。2019年,有人说是Python元年,背靠AI和大数据,连续半年拿下TOP1编程语言,这些都给了P
系统 2019-09-27 17:56:09 2265
Python自动生成代码-通过tkinter图形化操作并生成代码框架背景脚本代码Demo_CodeGenerator.pydisplay.pyFileHandler.py:脚本运行结果:脚本代码目录其它好玩的Python脚本背景在写代码过程中,如果有频繁重复性的编码操作,或者可以Reuse的各类代码,可以通过Python写一个脚本,自动生成这类代码,就不用每次手写、或者copy了。比如新建固定的代码框架、添加一些既定的软件逻辑,通讯协议、消息模板等等,再编
系统 2019-09-27 17:54:25 2265