首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一次模块重构的总结

场景说明和重构设计 效果图中的功能为一个上报的模块,该模块需要填写的内容非常的多,上传的字段大约有80-90个,分为多个模块区, 每个模块中都可能使用到上述的这五个类型的控件, 自定义控件化后整个上报模块的页面布局和值的赋值和读取都变得非常清晰简单...而且本文中的时间的选择、照片的选择、多选框的选择在工程中都是在 BaseViewController中统一处的,这也是为了复用而做的处理。...3.在VC【众多自定义视图是 VC 的View的子视图】中定义所有自定义视图的下拉弹框的数据源和处理所有自定义视图的交互事件,使得代码耦合度更大,不符合开闭原则,很容易造成一处修改,误使其他模块出错的现象...【3】代码复用: 1.公共组件,工程中多处调用。 2.继承,在父类中统一处。 3.抽象成类中的公用方法,多处调用。...使用SDAutolayout 可以彻底解决所有情景的高度自适应问题,而不单单是 cell的高度自适应问题。 PS:重构中一定要注意低级错误。自己在这上面浪费了很多时间和精力。

61420
您找到你想要的搜索结果了吗?
是的
没有找到

Python3.9的7个特性

python3.8及更早版本中,要合并两个字典,我们可以使用 内置update方法: ? 或是表达式**: ? 这有时会带来不便和麻烦。...1.2更新字典 为了在Python3.8或更早版本中使用新的键值对更新现有字典,我们可以 使用update方法, ? 或者用iterable更新, ?...不过,它只能在安全性不重要的情况使用。 7支持IANA时区 在时区库zoneinfo中引入了一个新的支持IANA时区的模块。 考虑一个将印度标准时间转换为德里当前时间的示例。...对于zoneinfo模块,这是非常直接的。你可以直接导入ZoneInfo类。 ?...结论 除此之外,我们现在还有新的高性能的基于PEG的解析器、Graphlib模块、异步和多处理改进、HTTP状态代码和一堆冗余特性被删除。

94830

【Python】对绝对导入与相对导入的理解的补充

相对导入的常用语法: from .lib2 import func2 from . import lib2 另外还有直接导入上级的包或者模块,但是这很容易出错,建议不要使用。.../lib/python3.8/dist-packages', '/usr/lib/python3/dist-packages' ] __name__: __main__ in ..../test.py ['/home/deeao/test', '/home/alex/.local/lib/python3.8/site-packages', '/usr/local/lib/python3.8...但是这并不完美,因为: 当我们的项目比较大的时候,子模块就会比较多,这时就会有好多的路径加入到了系统路径中,搜索效率还是小问题,最大的问题是不同目录下的文件名是可能有冲突的,这时可能就会加载到错误的模块了...; 如果每个模块都加上这么一个代码也很不优雅(DRY),维护也不方便。

1.2K30

解决python报错:ModuleNotFoundError: No module named _sysconfigdata_x86_64_conda_linux_gnu

_internal.cli.main import main as _main File "/home/dechin/anaconda3/lib/python3.8/site-packages/pip...sysconfigdata_x86_64_conda_linux_gnu' 问题定位与解决 经过一圈的检索,最后对问题的出现原因定位为:在某一个版本的python中丢失了一个备份文件,通常在同一个版本的python会有两个相同的..._linux_gnu.py 这里我们发现当前使用的python3.8路径只有一个_sysconfigdata_x86_64_conda_cos6_linux_gnu.py文件而没有_sysconfigdata_x86...总结概要 在近期conda的版本更新中,有可能会删除路径的_sysconfigdata_x86_64_conda_linux_gnu模块相关备份文件,而在其他的一些软件的运行过程中有可能依赖于这个备份文件...,这就会导致运行过程报错模块无法找到的问题。

2.4K30

Python爬虫系列:安装Scrapy框架的那些事

最近小编在学Python爬虫时遇到安装Scrapy框架时出错,具体原因是安装某个模块时报错。 报错复现: ?...查看错误时发现在安装Twisted模块时出现了问题,在百度各种搜索之后以及尝试后,发现更换国内镜像源并不好使,主要还是没解决。...最后小编是在下面的网站中直接下载的模块安装包: https://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 然后在网站中直接Ctrl+F查找找到Twisted...这个模块,切记cp后面是根据你安装的Python版本下载的,比如Python3.8版本显示的就是38. ?...在安装该模块之前,还需要将你的pip更新到最新的版本:更新命令如下: pip:python -m pip install -U pip 将安装文件下载完成后,在cmd中输入:pip install 文件路径

41230

macOS M1如何配置机器学习环境(二)

版本配置的tensorflow,最近实验过程中发现些问题没办法解决,无奈之下卸载了重装,结果随便捣鼓一,整个假期就快没了 至于为什么这么点背,,可能还是因为学的多了,用的模块也多了,烦恼就随之而来了...年初安装时啥都没学,就是一个试验代码通了就通了,后来随着学习的深入,发现要用到很多模块,关键嘛,这个M1设备据说python3.9更适配一些,心理也有在作祟。...之前就是装了3.8和3.9混用,实在搞不懂为毛有些模块在我M1的3.8版本死活装不上,3.9就服服帖帖。但是要跑tensorflow的话又只能滚回3.8,之前没有交叉就瞎玩,最近偶遇交叉直接死菜。...另外,部分模块无法使用conda安装,找不到资源,改用pip安装,问题可解决。 opencv-python无法正常安装,又是捣鼓了好一阵。。...于是换一个之前的多层感知机代码跑一python3.8耗时22s,python3.9耗时39s,还是3.8版本完胜。 这就有些让人困顿了,不知道是算法没跟M1适配好,还是测试的代码不具有代表性。

1.7K21

Python进阶教程笔记(四)模块和包

导入官方模块,不需要考虑路径的问题,例如,导入系统自带的模块 math,直接导入即可。如果是导入自定义模块,则需要考虑路径问题,我们节课继续学习。...例如:本文件定义了一个pow()函数,同时从math模块也导入了一个pow()函数,这种情况就会引起冲突;事实上,这种冲突的情况经常发生。...>>> import sys >>> sys.path ['', '/data/miniconda3/lib/python3.8', '/data/miniconda3/lib/python3.8/site-packages...第二个路径是/data/miniconda3/lib/python3.8,它是Python默认模块的存放的路径,在这个路径,可以发现有os、sys等模块的代码。...第三个路径是/data/miniconda3/lib/python3.8/site-packages,它是第三方模块代码的存放路径,在这个路径,存放的是需要安装的第三方模块

48221

PyVista:一款Python的三维可视化软件

类似的还有百度的pyechart也相对美观,但是这些毕竟都是在数据层面的可视化,对于工业领域,比如一个地形,一个三维的期间等等,用这些工具来做可视化效果非常的不佳,因此我找到了pyvista这个工具,简单摸索了一给大家做个引荐...█████| 80.9 MB 3.7 MB/s Requirement already satisfied: wslink>=0.1.3 in /home/dechin/anaconda3/lib/python3.8...多模块可视化 在pyvista里面可以用MultiBlock将相关的模块都集成起来,比如这个案例中集成了两个球体,其实使用的方法也很简单,就是把创建的对象归纳到一个列表中: import pyvista...多模块可视化耗时 基于上述的MultiBlock,我们可以很方便的生成一大堆的数据,但是这里可视化的速率也是我们不得不考虑的一个因素,所以这里我们尝试一个1000个球体的可视化,并输出时间: import...总结概要 本文通过对pyvista这一相对“冷门”的python三维可视化工具的摸索,总结了安装与基本的使用示例,包括单模块、多模块、静态图、动态画板、gif和mp4视频的导出等。

3.2K40

使用line_profiler对python代码性能进行评估优化

None if __name__ == '__main__': test_profiler() 在这个案例中,我们定义了一个需要测试的函数test_profiler,在这个函数中有几行待分析性能的模块...在定义好需要分析的函数模块之后,用kernprof解析成二进制lprof文件: [dechin-manjaro line_profiler]# kernprof -l line_profiler_test.py...简单介绍一每一列的含义:代码在代码文件中对应的行号、被调用的次数、该行的总共执行时间、单次执行所消耗的时间、执行时间在该函数的占比,最后一列是具体的代码内容。...ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each) 在这个结果中我们看到排名的趋势依然跟之前的保持一致,但是由于将random模块和计算模块放在一起...另外,在测试的过程中我们还可以发现,不同形式的正弦三角函数实现,性能是存在差异的,只是在日常使用频率较低的情况是不感知的。

2.2K10

使用python编写量子线路打印的简单项目,并使用Sphinx自动化生成API文档

同时,为了展示API文档的制作过程,这里我们在类与函数内都写了一部分的示例注释代码,在下一个章节介绍一文档的效果。...23 00:04 _templates 可以参考楼主的配置方案,这里我们主要是将主题配置成了rtd的格式,同时打开了autodoc的选项以及通过sys配置了索引目录(索引目录不配置的话,有可能导致找不到模块...这些rst文件没有被自动生成的情况,可能需要使用sphinx-apidoc去手动的添加: [dechin@dechin-manjaro hiqfermion]$ sphinx-apidoc -f src...hiqfermion -o docs/source/这样的指令去生成的话,最终文档中的结构都是hiqfermion.module1和hiqfermion.module2,这样显得不太简洁,因为正常情况我们需要的是...当然,首先我们需要逐一的去执行sphinx-apidoc来生成一些模块化的rst文件:sphinx-apidoc -f src/hiqfermion/module1 -o docs/source/以及sphinx-apidoc

2.9K20

python0011 - python虚拟机的本质_cpu架构_二进制字节码_汇编语言

复制​编辑复制到shiyanlou再观察#把/usr/bin/python3这个py文件的解释器拷贝到~(当前用户文件夹)#cp的意思是copycp /usr/bin/python3 ~#确认python3...回到代码代码会有不同的​​section​​ 模块入口是​​init​​作用是初始化​​initialization​​​编辑模块里面是具体的指令比如第一句​​48 83 ec 08​​为什么48 83...查看指令集这是cpu架构规定的首先要明确到当前机器cpu的架构反汇编里面说是x86-64​编辑到shell里面验证一​编辑当前机器所用的架构指令集确实是x86_64这是谁的架构呢?...在linux+vim生产力环境,从浅入深,从简单程序学到网络爬虫。可以配合蓝桥云上实验环境操作。...在vim从浅入深,逐步学习。从基础入门学习到爬虫。视频->​​https://www.bilibili.com/video/BV1CU4y1Z7gQ​​​

95550

python0022_ python虚拟机_反编译_cpu架构_二进制字节码_汇编语言

回到代码代码会有不同的 ​​section​​ 模块入口是 ​​init​​作用是初始化​​initialization​​​编辑模块里面是具体的指令比如第一句 ​​48 83 ec 08​​为什么48...查看指令集这是cpu架构规定的首先要明确到当前机器的cpu的架构反汇编里面说是x86-64​编辑到shell里面验证一​编辑当前机器所用的架构指令集确实是x86-64这是谁的架构呢?...游乐场我们的python3.8就是这样的一系列的cpu指令可以解释py文件的python3.8 又是如何解释py文件的来着?...python3 执行过程不管是python3.8这个游乐场还是hello.py这个python程序都在我们的硬盘上​编辑先得把文件从硬盘读到内存python3 执行的过程大致是这样先把python3.8...的源文件被不同的架构的编译器 编译后被部署到 不同的cpu架构和系统上所以同样的py文件被加载之后python程序可以对py文件跨架构、跨系统进行解释执行一次编写到处运行​编辑不同的架构汇编指令都不一样怎么能正确解释执行同样的

1.2K00

【程序源代码】Pdf转Word工具

02 ———— 【源码使用说明】 一、软件开发环境和语言 首选介绍开发中主要使用的语言:Python 开发环境:Python3.8;在开发中需要注意的是Python版本必须是3.6或以上,本软件在开发时使用的是...Python3.8。...具体的python安装命令:pip install pdf2docx  其中再给大家说一,这个基础库和Python的代码库,基本是免费、开源,所以大家可以免费进行使用,不用考虑付费等情况;另外就是python...所以在开发这个小工具的时候我们就会用到python里面一个非常使用的绘制图形界面组件的基础库存:PySimpleGUI 具体的python安装命令:pip install PySimpleGUI  Python组件包含了有许多处理图形

1.3K10

使用启科QuPot+Runtime+QuSaaS进行量子应用开发及部署-调用AWS Braket计算后端

具体展示之前,先和大家简要介绍启科的量子计算相关软件:QuPot和QuSaaS和Runtime。...QuPot中Runtime是作为一个功能模块来呈现,同时Runtime也支持独立部署,本文中利用QuPot的Runtime模块自动化部署量子应用。...点击右上角个人用户名,选择个人中心,打开个人中心页面 选择我的API,可以查询当前账号的API信息,点击QuTrunk云接口前面的加号可以展开此接口的详细信息。...foo目录为程序子模块。开发者可以按以上的程序目录架构来完成应用开发。...4.使用QuSaaS调用QuPot Runtime模块自动部署量子应用 启科QuSaaS量子应用部署实现方案如下图所示:开发者通过QuSaaS操作调用QuPotRuntime模块实施自动化部署。

56320

【程序源代码】pdf转word工具及源码

02 ———— 【源码使用说明】 一、软件开发环境和语言 首选介绍开发中主要使用的语言:Python 开发环境:Python3.8;在开发中需要注意的是Python版本必须是3.6或以上,本软件在开发时使用的是...Python3.8。...具体的python安装命令:pip install pdf2docx  其中再给大家说一,这个基础库和Python的代码库,基本是免费、开源,所以大家可以免费进行使用,不用考虑付费等情况;另外就是python...所以在开发这个小工具的时候我们就会用到python里面一个非常使用的绘制图形界面组件的基础库存:PySimpleGUI 具体的python安装命令:pip install PySimpleGUI  Python组件包含了有许多处理图形

1.7K10
领券