鉴于上次很多小伙伴的反馈,所以本次代码教程打算从0开始讲,每节内容不会多到让我们赶紧到累或无法消化。 在开始之前,请确保你的电脑本地环境已经成功下载了python3和django。...,都要通过urls.py来建立映射 wsgi.py 一个wsgi兼容的web服务器的入口,以便运行我们的项目,后续基本不会动它 init.py 学python的都知道,只是告诉python这是个模块,里面东西可以...一个项目可以包含多个app,app可不仅仅是移动端才有哦~ 好的,现在开始创建第一个app!...是用来设置数据库格式的,django采用的是orm方式来和数据库进行交互,默认使用sqlite3轻量级的数据库 views.py 是web后端交互层,也叫视图逻辑层。...urls.py就是把各种url和views.py中的函数给对应起来的,这个文件我们可以复制很多个哦 migrations是存放我们orm操作数据库的实际代码的,完全是django自动配置,无需也千万不要动里面后续生成的文件哦
基于分子片段的药物发现(FBDD)是一种公认的针对多种靶点的先导化合物发现方法,已有多个获批药物是基于FBDD设计得到,另外20多个药物目前正在临床中。...本文介绍了近七年来药化领域中成功利用FBDD获得先导化合物的案例。 FBDD运用领域十分广泛,涉及G蛋白偶联受体、蛋白蛋白互作相关靶点、蛋白酶、激酶等靶点类型,如图1所示。 图1....FBDD研究靶点 片段筛选的方法也具有多样性, 包括有NMR、X-射线解析、虚拟筛选、生物测试等,各种方法占比如图2所示。 图2....FBDD筛选方法类型 FBDD成功获得先导化合物具体案例 这里展示了最近几年来利用FBDD成功发现先导化合物的28个案例: 从这些案例中可以看出FBDD适用的靶点范围广泛,而这些案例可以作为药物研发的借鉴案例
WINDOWS7 系统下 CPU 版本的安装 安装过程: 1)下载安装Anaconda; 2)打开Anaconda命令行窗口, 创建conda环境 conda create -n tensorflow...activate tensorflow 4)安装CPU版本 pip install --ignore-installed --upgrade tensorflow 然鹅,pip安装总是伴随着各种各样的ERROR...,我们不妨用一个更为简洁、直观的方法: 打开ANACONDA NAVIGATOR,在Environments页面下,选择Not installed分类,找到我们所需要的 tensorflow版本(CPU...版本已安装,故下图未显示),点击右下角的Apply即可。
在app/main/res/layout/目录下创建recyclerview_header.xml文件,在其中填充如下代码片段: <?...20sp" android:gravity="center"/> 继续新建一个recyclerview_footer.xml文件,在其中填充如下代码片段...修改后的RecyclerViewAdapter代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter; import...getItemCount()) { notifyItemRangeChanged(position, getItemCount()); } } // 点击事件接口...interface OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口
接口的好处是很明显的,我们可以用接口的实例来调用所有实现了这个接口的类。也就是说接口和它的实现是一种要宽泛许多的继承关系,大大增加了灵活性。...但是Java当中的接口有一个很大的问题就是侵入性,说白了就是会颠倒供需关系。举个简单的例子,假设你写了一个爬虫从各个网页上爬取内容。爬虫爬到的内容的类别是很多的,有图片、有文本还有视频。...假设你想要抽象出一个接口来,在这个接口当中定义你规定的一些提取数据的方法。这样不论获取到的数据的格式是什么,你都可以用这个接口来调用。...Golang当中的接口解决了这个问题,也就是说它完全拿掉了原本弱化的继承关系,只要接口中定义的方法能对应的上,那么就可以认为这个类实现了这个接口。...但不论你怎么看,这都不影响我们学习它,毕竟学习本身是不带立场的。
继续使用WidgetSample工程的advancedviewsample模块,在src/main/res/layout/目录下创建swiperefreshlayout_layout.xml文件,在其中填充如下代码片段...布局和适配器代码不变,便于集中学习这里贴出适配器RecyclerViewAdapter的关键代码,如下所示: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter...extends RecyclerView.AdapterRecyclerViewAdapter.ViewHolder> { private ArrayList mDatas...= null; private LayoutInflater mInflater = null; public RecyclerViewAdapter(Context context,...至此,Android中常用的一些UI控件暂告一段落,关于菜单、对话框等内容后续再学习。下一期差不多是国庆长假之后开始学习Android四大组件之手——Activity,敬请期待。 ?
今天开始作一些研究和学习,这不可避免的涉及到了一些自己不甚熟悉的技术,比如:Python 所以翻了一些资料,自己了解学习,顺便贴到这里,给同我一样对这些不熟悉的朋友做个参考,也给自己做个记录. __...它可以用来开发各种程序,从简单的脚本任务到复杂的、面向对象的应用程序都有大显身手的地方。Python还被当作一种入门程序员最适合掌握的优秀语言,因为它免费、面向对象、扩展性强同时执行严格的编码标准。...Python是免费的 Guido van Rossum于1990年开始开发Python,最初的目的无非是一个自娱的项目。...获取Python 你可以从http://www.python.org或者各类平台上的Python版本。...它可以开发出各种各样的应用程序,从功能齐备的邮件列表软件到各种跨平台的GUI应用程序一应俱全。
的函数,并且返回接受余下的参数、返回最终结果的新函数的技术。...,直接上实战:柯里化 && Redux 以下代码从 Redux 中摘录: // Partial file ... extraReducers: { [signup.pending.toString(...从感官上看,这样的写法 —— 太重复冗余!...为什么改变了一个传参顺序,就能做到这样的简化效果? 噢,原来最根本的原因是以下的两种写法是等价的!...,为什么会知道 x = 5、y = 7,是因为闭包记住了先前执行中传递的值,这就是二者的关联。
我很感谢 Jason Calacanis 开始了这个话题,但事实上,Mahalo 不是 Web 2.0 或者 Web 3.0。Mahalo 应该算是Web 1.1。...当你步入一个商店,你的网络转到室内的 WiFi。现在你就能在线浏览交互的 Web 提供的目录服务。...你可以举出成千上万的例子来说明一个公司怎样在网站上通过移动设备服务它的客户。 iPhone 是一个非常好的开始,并给人展示哪些将是可能的。...显然还有其他公司跟随 Apple 的步伐,并带来了他们自己的设备。 网站开始直接迎合这些新的移动设备用户只是个时间问题,那时我们才会看到一个真正的新的网络的出现。...一些行业领先的公司已经开始有所动作,Facebook(其的移动服务),(通过 SMS 关键字追踪)和 Flickr(地里编码照片),这些都是我能想到的。
helper.attachToRecyclerView(recyclerView); 在创建 ItemTouchHelper 对象时候,需要我们传入一个实现了 ItemTouchHelper.Callback 接口的对象...实现 ItemTouchHelper.Callback 接口 创建 MyItemTouchCallback 类,实现 ItemTouchHelper.Callback 接口: public class...MyItemTouchCallback extends ItemTouchHelper.Callback { private final RecyclerViewAdapter adapter...; public MyItemTouchCallback(RecyclerViewAdapter adapter) { this.adapter = adapter;...ItemTouchHelper.ACTION_STATE_DRAG) { viewHolder.itemView.setBackgroundColor(Color.BLUE); } } 相对应地,当用户手指从拖拽
,可以对点击方式按照自己的方式来实现。...首先在RecyclerViewAdapter类中分别定义2个接口OnItemClickListener和OnItemLongClickListener,然后提供2个公开方法便于Activity设置事件监听...RecyclerViewAdapter类修改后的代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter; import...setOnItemLongClickListener(OnItemLongClickListener l) { this.mOnItemLongClickListener = l; } // 点击事件接口...interface OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口
列表的数据往往会跟随业务逻辑不断刷新,所呈现出来的数据需要动态更新,那么RecyclerView是如何动态更新数据的呢?...继续使用上期的案例,首先在RecyclerViewAdapter类中新增一个插入和删除处理的公开方法,RecyclerViewAdapter类修改后的代码如下: package com.jinyu.cqkxzsxy.android.advancedviewsample.adapter...position) { mDatas.remove(position); notifyItemRemoved(position); } // 点击事件接口...interface OnItemClickListener { void onClick(View parent, int position); } // 长按事件接口...其实RecyclerView还提供了几个局部刷新的方法,只需要在删除或插入数据的同时,再刷新改变位置item下方的所有Item的位置即可。
模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。 模块可以从其他程序 输入 以便利用它的功能。这也是我们使用Python标准库的方法。...如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你 使用 。注意,初始化过程仅在我们 第一次 输入模块的时候进行。另外,“sys”是“system”的缩写。...sys模块中的argv变量通过使用点号指明——sys.argv——这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。...当你为dir()提供一个模块名的时候,它返回模块定义的名称列表。...概括 ---- 模块的用处在于它能为你在别的程序中重用它提供的服务和功能。Python附带的标准库就是这样一组模块的例子。我们已经学习了如何使用这些模块以及如何创造我们自己的模块。
我在控制台写了一段无效的代码,将print()的括号去掉,在执行这条语句的时候,系统提示语法错误,无效的语句(我百度翻译的)。这就是错误处理器所作的工作。 再换一种方式写错误: ?...我们通常把容易产生异常的语句放置在try块中,把做异常处理的语句放在except块中。...我们把所有可能引发错误的语句放在try块中,然后在except从句/块中处理所有的错误和异常。except从句可以专门处理单一的错误或异常,或者一组包括在圆括号内的错误/异常。...你需要指明错误/异常的名称和伴随异常触发的异常对象。这个异常应该是Error和Exception类的子类。这就用到了继承的思想,使用__init__方法初始一些方法和参数。...这里使用了time的sleep函数,里面的参数是它的运行间隔。 ? 这样我们就有时间去使用CTRL+c使程序发生异常。这时候我们发现finally块中的语句还是运行的,文件正常关闭了。
sequence 序列 序列是一组有顺序数据的集合。不知道怎么说明更贴切,因为python的创建变量是不用定义类型,所以在序列中(因为有序我先把它看作是一个有序数组)的元素也不会被类型限制。...,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。...从含义可以看出和数学的开区间,闭区间正好相反。所以这个地方容易记错。 ?...a3 = [1,[2,3]] #空序列 a4 = [] print(a3,type(a3)) print(a4) 序列元素的引用 这点和数组有点像了,我们可以通过下标(从0开始)去获取元素。...(a1[:5]) # 从开始到下标4 (下标5的元素 不包括在内) print(a1[2:]) # 从下标2到最后 print(a1[0:5:2])
这时候我才意识到,那么多数据源都是本地excel文件是多么的恐怖。以上截图只是少部分而已…… 而幸运的是,其实有一半的查询是直接来自于MySQL的同一个数据库,而这几十张表只需要一次验证即可。...所以衷心地建议刚开始搭建模型的同学: 尽量要从数据库导入数据! 尽量不要从excel导入数据! 所以这两天,我马上将报告中用到excel表的查询,挨个转移到MySQL中,基本转移得差不多了。...当然,在转移的过程当中,自然也会发生一些不开心的小事情,比如: 这张图在各种场景,各种方式导入到Power BI 中会发生的错误,尤其是对于很多新手来说,遇到这样的错误,往往很困惑。...今天这篇文章的后半部分就来说一下这个问题出现的原因以及解决措施。 我们导入一个包含三张sheet表的excel文件, 选中sheet1加载数据,它直接呈现了最终的结果: 但是这个过程是怎么发生的呢?...而且这样做还有个好处,就是如果你将excel文件保存为xlsb或者更改数据源从mysql中获取,查询会继续正常工作。 好了,希望各位同学以后遇到相似问题时能够快速解决。
在函数定义的时候给参数赋值使用(参数,参数=值......),从而给形参指定默认值。 注意默认参数的值是一个不可变的参数(也就是说默认参数是一个确定的值)。...#默认参数值 #对于参数 我们希望参数值是可选的智能的,如果使用者没有提供参数值的时候,程序会使用默认的参数。...重要 只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。 这是因为赋给形参的值是根据位置而赋值的。...例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的 关键参数 ---- 对于多参数的函数,我只想指定某个或某几个参数的值,这时就可以使用命名给参数赋值,这样被复制的参数时关键参数...我们是使用关键字(参数名)而不是参数的位置来给函数指定实参。 优势 1.不用担心参数的顺序,使使用函数变得简单。 2.假设其他的参数都有默认值,我们可以只给我们想要的参数赋值。
7.从0开始品牌的查询 商品分类完成以后,自然轮到了品牌功能了。 先看看我们要实现的效果: ? 接下来,我们从0开始,实现下从前端到后端的完整开发。...7.1.设计前端页面 为了方便看到效果,我们新建一个MyBrand.vue(注意先停掉服务器),从0开始搭建。 ?...我们编写一个函数来完成赋值,提高复用性: methods: { getDataFromServer(){ // 从服务端加载数据的函数 // 伪造演示数据...几乎已经达到了原来一样的效果了吧! 7.2.后台提供查询接口 前台页面已经准备好,接下来就是后台提供数据接口了。...7.3.3.小试一下 我们在组件MyBrand.vue的getDataFromServer方法,通过$http发起get请求,测试查询品牌的接口,看是否能获取到数据: ? 网络监视: ?
首先,我们来复习下数组的定义 数组是一组连续内存空间存储的具有相同类型的数据,整个排列像一条线一样,是一种线性表数据结构。 ? 那么,问题来了,数组的下标为什么要从 0 开始?从 1 开始行不行?...端好你的小茶杯,开始进入正题 数组之所以广泛使用,是因为它支持随机访问。 什么叫随机访问? 数据在内存中都是按顺序存放的,通过下标直接触达到某一个元素存放的位置。 ?...【0】位置的 `微` ② 读取上面数组的 【9999】位置的 `注` 由于基于计算的内存地址读取数据,上面两种情况的耗费的时间是一样,时间复杂度为 O(1) 注意:想要使用随机访问,一定要满足两个条件...: 1、连续的内存空间 2、相同类型的数据 知识补充: 与随机访问对应的是顺序访问 顺序访问:链表在内存中不是按顺序存放的,而是通过指针连在一起,访问某一元素,必须从链头开始顺着指针才能找到某一个元素...突然,一个奇怪的念头冒了出来,假如我们将数组的首个下标从 1 开始 ,会怎么样? ?
网络拓扑结构的定义 计算机网络中的拓扑结构是指网络中的计算机、线缆,以及其他组件的物理布局。...在结构化网络模型中,节点维护的邻居都是有规律的,P2P网络的拓扑结构是严格受到控制的,信息资源将有规则的组织存放到合适的节点,查询以较少的跳数 【跳数实际上是一个数值(振幅),简单的说就是指一个数(空间...)可以被等分成多少个另一个数(相互隔离的或抽象的或连续的空间)的值。】...这是目前拓展性最好的P2P路由方式 【路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。路由通常与桥接来对比,在粗心的人看来,它们似乎完成的是同样的事。...OSI七层模型 第7层 应用层 主条目:应用层 应用层(Application Layer)提供为应用软件而设的接口,以设置与另一应用软件之间的通信。
领取专属 10元无门槛券
手把手带您无忧上云