00.比99%的用户所担心的魔力要更深。如果你犹豫是否需要他们,那你不需要它们(真正需要元类的人,能够确定地直到需要它们,并且不需要说明为什么需要)。“因为某物很酷”而编写它,似乎不是一种合理的判断,除非你在做试验或者学习。01.元类就是用来创建类的“东西”。你创建类就是为了创建类的实例对象。02.03.元类的主要目的就是为了当创建类时能够自动地改变类。04.元类修改:内省属性:__class__和__dict__这样的特殊属性允许我们查看Python对象
系统 2019-09-27 17:57:31 1953
枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期、月份、状态等。Python的原生类型(Built-intypes)里并没有专门的枚举类型,但是我们可以通过很多方法来实现它,例如字典、类等:MiracleLove={'MON':'林志玲','TUS':'陈意涵','WEN':'张柏芝','THU':'辛芷蕾','FRI':'周冬雨'}classMiracleLove:MON='林志玲'TUS='陈意涵'WEN='张柏
系统 2019-09-27 17:56:49 1953
#把解决一类问题的模块放在同一个文件夹里——包policy.get()importosos.makedirs('glance/api')os.makedirs('glance/cmd')os.makedirs('glance/db')l=[]l.append(open('glance/__init__.py','w'))l.append(open('glance/api/__init__.py','w'))l.append(open('glance/api
系统 2019-09-27 17:56:42 1953
1、概述1.1场景我们在使用Python中的方法method时,经常会看到参数中带有self,但是我们也没对这个参数进行赋值,那么这个参数到底是啥意思呢?2、知识点2.1成员函数(m)和普通方法(f)Python中的"类方法"必须有一个额外的第一个参数名称(名称任意,不过推荐self),而"普通方法"则不需要。m、f、c都是代码自动提示时的左边字母(method、function、class)#-*-coding:utf-8-*-classTest(obj
系统 2019-09-27 17:56:05 1953
1.新式类与经典类在Python2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性;反之,即不由任意内置类型派生出的类,则称之为“经典类”。“新式类”和“经典类”的区分在Python3之后就已经不存在,在Python3.x之后的版本,因为所有的类都派生自内置类型object(即使没有显示的继承object类型),即所有的类都是“新式类”。官方文档https://www.pytho
系统 2019-09-27 17:55:48 1953
如果需要把大量实验跑完,最好用批量处理操作,直接使用shell写shell文件来操作也行,但是需要学习shell脚本的语法,不如直接用python调用shell,把python如何调用shell学会,就直接在python里边把需要的命令写成字符串,传递给python的调用shell的模块就行了importosos.system('ffmpeg-version')#将在shell中打印出ffmpeg的版本str='ffmpeg-version'os.syst
系统 2019-09-27 17:55:28 1953
优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。减少冗余数据如用上三角或下三角的方式去保存一个大的对称矩阵。在0元素占大多数的矩阵里使用稀疏矩阵表示。合理使用copy与deepcopy对于dict和list等数据结构的对象,直接赋值使用
系统 2019-09-27 17:54:58 1953
常见算法:一、排序引入1.排序与搜索排序算法(英语:Sortingalgorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。2.排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。18385672(4,1)(3,1)(3,7)(5,6)(3,7)(3,1)如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。不稳定排序算法可能会在相等的键值中改变纪录的相
系统 2019-09-27 17:54:46 1953
目录基础知识学习(MOOC嵩天+零散知识)无基础不能高楼,合抱之木,生于毫末,九层之台,起于累土1.1PythonMOOC练习31.2PythonMOOC练习41.3python中的随机函数random的用法示例1.4Python文本词频统计的编码问题-MOOC嵩天1.5Python中的复数和误区1.6Python计算圆周率的两种方法1.7Python实现七段数码管显示效果1.8Python实现科赫图形设计1.9Python基本统计值计算1.10Pytho
系统 2019-09-27 17:53:52 1953
Python面向对象编程——封装从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子。照这种逻辑看,封装=‘隐藏’,这种理解是相当片面的。一、先看如何隐藏在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的形式:classA:__N=0#类的数据属性就应该是共享的,但是语法上是可以把类的
系统 2019-09-27 17:53:36 1953