cp名生成器网址入口,cp制作是什么

文章 1年前 (2023) admin
0

cp生成器是为客户强烈推荐的一款在线故事转化成的手机app,在这里款app上客户能够 随意键入几个字,cp生成器便会自动生成一段小故事,能够 用于调侃游戏娱乐,app自身趣味十足。

cp制作是什么?

cp生成器是为客户强烈推荐的一款在线故事转化成的手机app,在这里款app上客户能够 随意键入几个字,cp生成器便会自动生成一段小故事,能够 用于调侃游戏娱乐,app自身趣味十足。

我在找能开发一些单位的小应用工具

在我认识的所有程序员里,每个人几乎都有专属于自己的常用工具和相关资源,今天给大家奉上数十个程序员硬核工具,我相信这里总有一款工具是属于你的!

程序员生产力工具大全如下:

1. Idea-Intellij IDEA (java 编程语言 开发的集成环境)

业界排名第一的java开发工具,非常非常好用,如果还在用eclipse的朋友,赶紧来体验一把,你一定会爱上她的。

2. SecureCRT (SSH终端仿真程序)

SecureCRT是一款终端仿真程序,支持SSH(SSH1和SSH2)以及Telnet和rlogin协议。SecureCRT用于连接运行包括Windows、UNIX和VMS在内的远程系统的理想工具。

3. Termius (全平台的远程终端)

termius是一款全平台的远程终端,Termius不仅涵盖了Windows、Linux、OSX,还变态得支持Android和iOS(以后在地铁、公交上都可以随时拿出手机来排查线上问题啦,还真是广大程序员的福音呢。

4. Google Chrome (谷歌浏览器)

Google Chrome是一款由Google公司开发的网页浏览器,该浏览器基于其他开源软件撰写,包括WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

5. iTerm (为Mac OS X编写的终端仿真程序)

iTerm是一个为Mac OS X编写的,功能齐全的终端仿真程序;目标是在为用户提供OS X下最佳的命令行体验;字母i代表了本地苹果的外观和风格的程序界面,并把重点放在完整的国际支持; 它合并由两个项目, CTerminal和TerminalX ,而这两者都是基于JTerminal项目;该软件非常有实用和易用性。

6. Visual Studio Code (简称“VS Code”,编写现代Web和云应用的跨平台源代码编辑器)

重新定义和优化了代码编辑,以便生成和调试新式 Web 应用程序和云应用程序。也是著名的文本编辑器,它是轻量级的,vSCode的一大特点就是你可以通过多种,而且Vim可以和VScode集成在一起,它还带有一个集成终端,可用的扩展太多,使开发人员的工作变得更加轻松。我最喜欢的一些扩展是AWS Toolkit, ESLint,Live Server, Live Share, Prettier-代码格式化程序,YAML,Live Sass编译器,Docker等。

7. VMware Fusion & VMware workstation (为计算机开发的虚拟机管理程序)

是在计算机上无缝运行 Windows 的最佳,可确保 Windows 应用程序在计算机上实现无缝运行可以在基于 Intel 的计算机上无缝运行 Windows、Linux 以及其他 PC等多个操作系统,进而构建、测试或演示软件。

8. Navicat Premium (数据库管理工具)

Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL、SQLite、Oracle 及 PostgreSQL 资料库,让管理不同类型的资料库更加的方便。

9. Postman (api调试工具)

简单来说,四个词,简单、实用、大方、美观!postman这款网页调试工具的windows客户端,功能强大的HTTP调试与模拟插件。使用Postman可以进行API开发、请求、调试,除了它,还可以使用lnsomnia和Insomnia Designer作为API文档。

10. RedisDesktopManager (一款可视化 redis管理工具 )

Redis Desktop Manager是一款简单快速、跨平台的Redis桌面管理工具,也被称作Redis可视化工具,Redis Desktop Manager官方版是一款开源软件,支持通过SSH Tunnel连接,支持windows、mac等多平台。

11. Dash (基于MAC的 API文档浏览器和代码片段管理器)

“开发者不可或缺的杰作。”Dash 可让您的 Mac 即时离线访问 200 多个 API 文档集。立刻搜索离线文件集200层+的API ,100+备忘单和 href="">更多 功能。您甚至可以"">生成自己的文档集 或 href="">请求 包含href="">文档集 。

12. Fiddler & Wireshark (http抓包工具)

Fiddler和Wireshark都是进行抓包的工具:所谓抓包就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。作为开发者,经常想调试一下http请求发送的数据的详情,那么可以使用这2款软件。用抓包工具wireshark的人相对来说更多一些。

13. HBuilder X (HTML5的Web开发工具)

当前最快的HTML开发工具,强大的代码助手帮你快速完成开发,最全的语法库和浏览器兼容性数据让浏览器碎片化不再头痛。作为HBuilder下一代的全新编辑器,HBuilderX被定位为ide和编辑器的完美结合,除了对某种语言的语法分析、提示、转到定义、调试,同时加强了对通用文本处理能力,界面更加清爽,拥有比上一代更加有效的快捷键体系。

14. MobaXterm (远程终端控制软件,集串口,SSH远程登录和FTP传输三合一的工具)

多功能终端MobaXterm Professional Edition 是一款豪华、全功能的终端软件。MobaXterm带来了所有必要的Unix命令到Windows桌面,在开箱单便携式exe文件。MobaXterm允许您启动远程会话。远程shell,MobaXterm远比Putty好用,您可以选择创建SSH,远程登录,Rlogin,RDP,VNC,XDMCP,FTP,SFTP或串行会话。

15. Sublime Text (跨平台代码编辑器)

Sublime Text 是一款用于代码、标记和散文的精致文本编辑器。Sublime Text 中文网致力于为广大国内开发者提供详尽的中文文档、使用说明等,助力开发者快速掌握这个编辑器。

16.webstorm (专业的HTML编辑工具)

web开发的必备的一款开发神器,比如写js、页面、css,那么这款软件用起来非常顺手。此软件和idea出自于同一家公司,这家公司做了很多异常好用的软件,基本需要的各种开发相关的IDE,这家公司都生产。可以说是“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”。新版对JavaScript,TypeScript和CSS支持更好,改进了Vue.js的体验,并为Jest集成增加了新功能。

17.Xshell (功能强大的终端模拟器)

linux原创控制软件,完全免费且非常稳定的 SSH 客户端 ,支持多种远程协议,提供了很多特色与高级功能,简体中文界面也让你轻松管理远程服务器。 Xshell 的 Screen 会话不闪屏,而且可以回滚;Script 的执行顺序可以调整;可以同时发送指令到多个 session;支持布局切换等。

18. SwitchHosts (修改Hosts文件的工具)

这是用于在多个HOSTS之间进行切换。可在公用hosts文件 、当前系统hosts、本地方案和在线方案间进行切换。作为一名开发人员,经常需要修改本地host,你还是通过修改host文件来操作的么?那样太慢了,这里建议大家使用switchhosts这款软件,可以快速修改本地host,非常好用。

其他工具:

1. CodeIf(智能命名) :

大部分开发者都或多或少遇到过变量命名的烦恼,如果命名不规范,不仅会影响开发的效率,而且对后面维护的同学来说也是一个不小的挑战,因为他要去揣摩你这个变量的含义。随着项目越来越复杂,变量和函数数量越来越多,虽然每个编程语言都有各种命名规范,但是也不能解决所有的问题。

“计算机科学里两件最难的事:缓存失效和命名。” Codelf通过搜索在线开源平台Github, Bitbucket, Google Code, Codeplex, Sourceforge, Fedora Project的项目源码,帮开发者从中找出已有的匹配关键字的变量名,从而帮助为变量名苦恼的开发者命名。这个搜索服务支持直接搜索中文。

同时可以在自己用的编辑器里安装插件,支持 VS Code、Atom、Sublime Text 和 Chrome。

2. DocsChina-印记中文 :

这是一个前端中文文档合集,进入网站可以看到开发中经常使用的前端中文文档。如果你的英文实在不怎么好,还在为找中文文档而烦恼,这里将是你非常好的选择。记得放到自己的浏览器收藏夹里哦!

3. any-rule(正则表达大全): -rule

any-rule 维护了一个常用正则表达式合集,并且本身是一个支持 Web/VS Code/idea/Alfred Workflow 多平台的正则表达式工具。

4. tool.lu(在线工具):

程序员总是有很多小工具要使用,比如图片、Base64编码、Markdown编辑器时间戳转换,进制转换等,在线运行各种语言代码。这个网站包含了太多程序员需要用到的小工具了。比如你想运行点JAVA代码,又不想麻烦的在系统中安装JAVA环境,可以使用里边的在线运行代码工具,然后选择JAVA,写点JAVA代码就可以直接运行了。

5. Baomitu(前端静态源库):

这个静态资源库是支持HTTP/2的CDN服务,有了它,如果你是自己的小型项目或者是做测试就不用下载任何的代码库,直接粘贴地址过来用就可以,因为是国内的CDN库,速度还非常的快。

6. Typora-Markdown(编写工具):

一款实用的 Markdown 编写工具,所见即所得,用Markdown编写文章是一个程序员的标准配置,也就是标配。现在有很多在线工具都支持Markdown,什么有道云笔记、雀语,、印象笔记等。这种简单的界面,沉浸式的编写,清晰的大纲,它就像一件称手的兵器,让你一旦拥有就爱不释手。

7. Snipaste (简单便捷的截图软件):

一款免费的桌面截图软件,功能强大,使用方便,支持任何屏幕位置截图,支持窗口截图,支持快捷。您可通过截取贴图,使两张图合并为一张图,还能调整截图文字图像等等,是一款非常强大的贴图软件,喜欢此款贴图软件的朋友不要错过。

8. Captura (最好用的开源录屏、gif动态图片制作工具)

官网::

通过这款工具可以帮助你轻松录制各种视频。支持全屏录制、区域录制两种,全屏录制可以录制全部的电脑屏幕,将电脑屏幕上所有的动态都录制下来,该软件还拥有视频编解码器,可以对视频进行解码,支持mp4、avi、GIF、webm等格式,可以满足一般的解码需要。还支持屏幕截图、剪贴板,简单的图像编辑等功能,是一款非常好用的屏幕录像工具。

9. 向日葵 (远程控制软件):

向日葵远程控制是一款提供远程控制服务的软件。向日葵远程控制支持主流操作系统Windows、Linux、Mac、Android、iOS跨平台协同操作,在任何可连入互联网的地点,都可以轻松访问和控制安装了向日葵远程控制客户端的设备。整个远控过程,可通过浏览器直接进行,无需再安装软件。

10. Everything (本地文件检索工具):

由voidef="">tools 开发的一款文件搜索工具,这款软件是基于名称实时定位文件和目录。Everthing功能强大,体积小巧,第一次安装使用时会建立一个索引数据库,将所有文件和文件夹的名称导入其中,后续使用能够以极快的速度快速搜索,查找到你所需要的文件。

11. StarUML (UML画图工具)

画uml图的一款神器,类图、时序图、流程图、状态图等等,都可以用这款工具轻松应对。

12. uTools (生产力工具集):

一个极简、插件化、跨平台的现代化桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。这个工具,我只能说他是一款神奇,太,这款工具中汇集了很多好用的工具,可以通过这款工具秒开电脑上的各种软件。

搜索资源网站工具:

1.Bing

Bing 国际版:。

2.DuckDuckGo

DuckDuckGo:,而且没有广告。

3.Stack Overflow

Stack Overflow: Google,很多技术问题的答案就在这个网站上,如果你无法使用 Google 可以在这个网站上直接检索就好了。

4.Gitlogs

Gitlogs: 是专门针对 GitHub 项目的搜索引擎,我们通过他可以快速找到想要项目。

5.jiumo search

文档搜索引擎 jiumo search 鸠摩搜书:,很多在百度网盘里。

6.Ebooke

Ebooke: 是一个基于互联网并提供免费电子图书下载的搜索引擎网站。

7.Iconfinder

图标搜索: logo 图片。

8.TinEye

TinEye:,我们可以上传图片或输入图片的 URL 来检索。

9.SemanticScholar

SemanticScholar: 是一个免费学术搜索引擎,其检索结果来自于期刊、学术会议资料或者是学术机构的文献。

10.LibreStock

LibreStock: 上可以检索一些优质的高清图片。

Search

CC Search: Search 上搜索到的图片资源都是无版权的,我们可以免费的使用。

12.Pexels

Pexels:,可以免费使用。

13.Unsplash

Unsplash:。

14.The App Store

The App Store: App Store 是一个针对苹果手机、iPad、Mac 设备的应用搜索工具。

在线画图工具:

• 在线画图工具ProcessOn:• 在线画图工具:• 在线思维导图工具:• PlantUML在线编辑器:

在线开发辅助工具:

日常开发经常会用到一些辅助工具我总结为8大类,包括:编解码工具、转换工具、正则工具、编译工具、网络工具、格式化工具、可视化工具、在线生成器、以及其他工具等等。具体列表如下:

在线编码工具:

BASE64编解码工具:• MD5编码工具:• AES/DES加解密:• JWT解码工具:• ASCII编解码工具:-convert-ascii• Unicode编解码工具:• UTF-8编解码工具:• 字符串编解码工具:• URL编解码工具:

在线转换工具:

在线ASCII码对照表:• 通用进制转换工具:• 在线浮点数十进制转换:• RGB颜色转换:• 时间戳转换工具:• 计量单位换算工具:• 在线JSON解析:• 在线JS代码格式化工具:• SQL压缩/格式化工具:• JSON和XML在线转换:• JSON/YAML在线转换:• 大小写转换工具:

正则表达式工具:

正则表达式调试工具:• 正则表达式可视化工具:

网络工具:

IP地址归属地查询:• IP地址查询:• HTTP在线接口测试工具:

在线编译运行工具:

C#在线编译运行:• C/C++在线编译调试:• 在线编译工具套装:

可视化/格式化工具:

在线前端编辑器: • 在线数据可视化:• 在线JSON解析:• 在线CSS代码可视化工具:• XML格式化工具:• 在线JS代码格式化工具:• SQL压缩/格式化工具:• JSON和XML在线转换:• JSON/YAML在线转换:

在线生成器:

UUID在线生成器:• 随机数生成器:

其他常用工具:

在线Nginx配置工具:• 在线对比工具:• 在线Chrome浏览器插件:• 在线接口文档管理工具:

在线素材工具:

如果你写文章,或者做视频,那就一定少不了要找素材,包括各种图片、背景、emoji表情、表情包、壁纸、视频、gif图等等。• 免费透明背景图片素材:• Emoji表情搜索:• Emoji表情包下载:• open source icons:• 表情包在线网站:• 免费PNG图片库:• ICON图标在线下载:• 极简壁纸:• Wallpaper Abyss壁纸:• Pixabay图片素材库:• Unsplash图片素材库:• Pexels图片素材库:• NASA图片视频素材库:

设计制作类工具:

对于那些文章创作者和视频创作者而言,设计封面,做海报,设计LOGO,图片美化等等基本也是刚需。

这样大概率日常会用到一些简易好上手的在线设计制作类工具,比如在线P图、音/视频轻量化剪辑、logo制作、海报设计制作、图片美化、在线图片转换或生成等等。• 在线PS:• 在线音频剪辑:• 在线视频剪辑:• 免费logo在线制作:• 艺术字体在线生成:• 在线表格转换工具: • 在线海报设计工具: • 图片智能放大工具:• 二维码美化器:• 在线代码截图工具:• 在线抠图工具:• ICO图标在线生成:• SVG转PNG工具:• 视频转GIF工具:• 二维码在线生成器:• 二维码在线解码:

写辅助工具:

写文章的过程中经常会用到和写作相关的辅助工具,比方说:字数统计工具、Markdown格式的文章排版工具、图床网站、代码截图工具等等,所以下面这些在线工具就能很好地满足我的需求。• 在线字数统计:• mdnice markdown排版工具:• md2all markdown排版工具:• 在线图床神器:• 在线免费图床:• 图壳图床:• 在线代码截图工具:• 在线短链接工具:• 在线文本替换:

在线办公工具:

部分在线工具主要用来处理一些和文档以及文稿相关的事情,经常用到的比如:在线的全套pdf处理和转换工具、各种各样多媒体文件间的相互转换工具、在线识别工具、在线压缩工具等等。• pdf在线处理工具1:-tools• pdf在线处理工具2:• pdf转word在线工具:• 在线多媒体转换器合集:-converter.com/• 在线文字识别工具:• 在线文件压缩工具:

文档笔记工具:

好记性不如烂笔头,作为一个学习者,我觉得记笔记是必不可少的步骤。当然现在基本都做电子笔记和电子文档比较多。现如今各式各样优秀的文档工具和笔记软件鳞次栉比,好用的也有很多,整理成如下列表,这东西各有长处,使用哪个最合意还得看个人习惯和需求了。• 印象笔记:• 有道笔记:• OneNote:• 幕布:• 为知笔记:• 石墨文档:• Simplenote:• 语雀:

编程学习网:

• 哔哩哔哩:• C语言网:• cppreference:• 大学MOOC:• 牛客网:• 网易公开课:• CodeGym:• BeginnersBook:• JavaSED:• codecademy:• Coursera:• StackOverFlow:• LeetCode:-cn.com/• LintCode:

在线教程文档:

这部分主要集中了在做开发过程中随手参考所要用到的几乎所有在线教程和官方文档,有中文版文档的基本都优先列出来了,但更多时候是英文的官方文档。• Git中文教程:-scm.com/book/zh/v2• SVN中文手册:-bean.com/nightly/zh/index.html• jQuery API中文文档:• Nginx中文文档:• Kafka中文文档:• Mybatis中文文档:-3/zh/index.html• :• Nodejs中文教程文档:• Apache Web Server文档:• Spring文档中文版:-reference.html• Golang标准库文档中文版:• Java 8官方文档:• Maven官方文档:• Tomcat 8官方文档:-8.0-doc/index.html• Spring Boot官方文档:-boot/docs/current/reference/htmlsingle/• RabbitMQ官方文档:• RocketMQ官方文档:-start/• Dubbo中文文档:• Netty官方文档:• Elasticsearch官方文档:• Spring Cloud官方文档:-cloud• Docker官方文档:-started/• kubernetes中文文档:• thymeleaf官方文档:• Vue.js中文文档:• React.js官方文档:-started.html• Jenkins中文文档:

华为云平台:

高效易用的低代码aPaaS平台-应用魔方AppCube:、前沿研发理念、先进研发工具为一体的软件开发平台-软件开发平台 DevCloud:

以上内容分享自华为云社区《吐血整理:程序员都在用什么工具?》,作者: 考过IE励志当攻城狮 ,部分内容整理自互联网~

有哪些堪称神器的工具或软件?

1.10万+精品模板,终生会员39元的PPT模板网:办公资源网;39元=终生VIP会员=无限下载=10万优质ppt模板+word模板+excel模板+音效模板+在线抠图+ps教程+pr教程+vba教程+课件下载

其他模板网站:hippter=pptmall+pptfans+稿定ppt+51ppt+ppt+优品ppt+ppt宝藏+站长素材+...........=模板+字体+配色+设计+大神+工具+......

(只要你知道这个网站,模板的问题一定不是问题)

2.一键生成N(7000个以内)个文件的目录,清华大学选择的文件管理软件:Taglyst

3.同时打开N个文件夹,实现浏览器式的管理,效率不止翻倍的软件:XYplorer

4.文件搜索:Filelocator,也可配合everything使用,如果必须二选一,选前者(更多搜索软件正在测试对比)

5.办公软件建议用WPS或永中office,但模板不要购买,在上面第1条下载。

6.用EXCEL时下载方方格子工具,不会函数不会公式依然可以成为数据高手。复杂的操作一键完成。

7.截图:专业截图王>Snipaste>Fastone Capture(别说什么最好的截图软件是snipaste,用过专业截图王再说)

8.PDF编辑软件:迅捷PDF(丝选这个)>福昕pdf(土豪选这个)>ADOBE acrobat dc;福昕是真好用,就是贵。迅捷的优势是一次付费终生使用。wps据说也很好用,测试后给大家分享。

9.批量文件重命名、替换、添加序号:total commander。批量复杂重命名1万个文件,不到1分钟就可完成。

10.批量对mp3进行标签清除或编辑:Mp3tag。彻底一键清除烦人的广告信息。

11.word批量设置格式、插入文字、批量排版、批量删除页眉页脚、批量删除页眉下划线、批量打印、批量替换文字:word文档批量处理大师>total commander,以前需要几个小时的复杂操作一键完成。

12.效率软件:essentialpim pro,让一切更加井井有条,打造私人资源库。

以下为手机端APP:

13.以一敌百的效率app:时光序=日程+日历+习惯+专注+提醒+日记+.......让生活变得更加酷炫和高效的软件,关键是还超级便宜

14.让你瞬间知识量爆棚的软件(有的家长用来启蒙孩子的兴趣):全世界=历史+地理+文化+哲学+科学+美术+艺术+心理+哲学+时政+新闻+考古..........

15.手机里的超级效率工具:全能扫描君=文字扫描+表格扫描+批量扫描+手写扫描+老照片修复+pdf工具+拍照搜题+拍照翻译+不断更新;而且终生会员我才花了60,现在涨价到90多了,需要的赶紧。

(需要更多,请看我的合集和其他回答)

现在依次介绍上面的效率工具和软件:

1.10万+精品模板,终生会员39元的PPT模板网:办公资源网;39元=终生VIP会员=无限下载=10万优质ppt模板+word模板+excel模板+音效模板+在线抠图+ps教程+pr教程+vba教程+课件下载

其他模板网站:hippter=pptmall+pptfans+稿定ppt+51ppt+ppt+优品ppt+ppt宝藏+站长素材+...........=模板+字体+配色+设计+大神+工具+......

(只要你知道这个网站,模板的问题一定不是问题)

2.一键生成N(7000个以内)个文件的目录,清华大学选择的文件管理软件:Taglyst

下图为黑色酷炫模式:

清华大学的选择:

3.同时打开N个文件夹,实现浏览器式的管理,效率不止翻倍的软件:XYplorer

4.文件搜索:Filelocator,也可配合everything使用,如果必须二选一,选前者(更多搜索软件正在测试对比)

5.办公软件建议用WPS或永中office,但模板不要购买,在上面第1条下载。

6.用EXCEL时下载方方格子工具,不会函数不会公式依然可以成为数据高手。复杂的操作一键完成。

7.截图:专业截图王>Snipaste>Fastone Capture(别说什么最好的截图软件是snipaste,用过专业截图王再说)

下图为Snipaste,只能说界面真的很寒酸。

下图为faststone capture :同样不够完美。

8.PDF编辑软件:迅捷PDF(丝选这个)>福昕pdf(土豪选这个)>ADOBE acrobat dc;福昕是真好用,就是贵。迅捷的优势是一次付费终生使用。wps据说也很好用,测试后给大家分享。

下图为迅捷pdf:

最大的优点是便宜:终生会员价格不足100元,秒杀Adobe公司的软件和福昕编辑器。

9.批量文件重命名、替换、添加序号:total commander。批量复杂重命名1万个文件,不到1分钟就可完成。

10.批量对mp3进行标签清除或编辑:Mp3tag。彻底一键清除烦人的广告信息。

11.word批量设置格式、插入文字、批量排版、批量删除页眉页脚、批量删除页眉下划线、批量打印、批量替换文字:word文档批量处理大师>total commander,以前需要几个小时的复杂操作一键完成。

12.效率软件:essentialpim pro,让一切更加井井有条,打造私人资源库。

以下为手机端APP:

13.以一敌百的效率app:时光序=日程+日历+习惯+专注+提醒+日记+.......让生活变得更加酷炫和高效的软件,关键是还超级便宜

14.让你瞬间知识量爆棚的软件(有的家长用来启蒙孩子的兴趣):全世界=历史+地理+文化+哲学+科学+美术+艺术+心理+哲学+时政+新闻+考古..........

15.手机里的超级效率工具:全能扫描君=文字扫描+表格扫描+批量扫描+手写扫描+老照片修复+pdf工具+拍照搜题+拍照翻译+不断更新;而且终生会员我才花了60,现在涨价到90多了,需要的赶紧。

更多录屏、办公、设计、学习、读书、日程软件......

请看我的视频合集或问答。

拉轰读书,一站式解决你的所有问题=质量超好+价格超便宜+持续更新迭代

你的关注,是最大的肯定,怎能辜负你的信任。

怎样学好python?

既然是毫无基础,那就简单介绍一下吧,python的入门其实只需要掌握几个关键点就行,新手要先学会安装环境、了解数据结构、函数这些东西,再配合实操进行实践,基本就可以入门了。

提示!!文章内容较长,大约需要半个小时,可以先收藏再慢慢看,目录如下:

一、了解环境

二、了解数据结构

三、了解基本函数

四、了解Nuypm计算包

——————正文警告!!——————

一、环境

Python的编写环境,用Anaconda足矣。Anaconda是专业的数据科学计算环境,已经集成绝大部分包和工具,不需要多余的安装和调试。

Python版本建议3.0以上,不要选择2.7的版本,否则你会被无尽的中文编码问题困扰。

Anaconda在官网下载,选择最新版本,约400MB。

完成安装后,Win版本会多出几个程序,Mac版本只有一个Navigator导航。数据分析最常用的程序叫Jupyter,以前被称为IPython Notebook,是一个交互式的笔记本,能快速创建程序,支持实时代码、可视化和Markdown语言。

点击Jupyter进入,它会自动创建一个本地环境localhost。

点击界面右上角的new,创建一个python文件。

开始你的Python

界面上部是工具栏,编辑撤回运行等,下面是快捷操作,大家以后会熟悉的。页面正中便是脚本执行的地方,我们输入自己第一行代码吧:

(我就不用hello world)灰色框是输入程序的地方,回车是换行,shift+回车执行灰域的代码,它的结果会直接在下面空白处出现。这就是Jupyter交互式的强大地方,将Python脚本分成片段式运行,尤其适合数据分析的摸索调整工作。

这里的print叫函数,和excel的函数同理,是程序执行的主体,负责将输入转化成输出(函数留在下一篇细讲)。这里将hello qinlu这段文字输出。新手可能会奇怪为什么要加引号,这种用引号括起来的文字在程序中叫字符串。

Python是一门计算机语言,它的逻辑和自然语言不一样,编程语言的目的是执行任务,所以它不能有歧义。为了规避各种歧义,人们创造了语法规则,只有正确的语法,才能被转换成CPU执行的机器码。

先了解Python语法中的数据类型。计算机最开始只被用于数值运算,后来被赋予了各种丰富的数据类型。

上面两个是小学生都会的四则运算,在计算机语言中可没有那么简单。它涉及了两个数值类型,整数int和浮点数float。整数和浮点数在计算机内部存储的,我们不用知道具体原理,明确一点,整数运算是永远精确的,浮点运算则可能有误差。

两种数据类型也可以互换,通过int函数和float函数。

有了数值,必然有文本,程序中叫字符串,用英文引号括起来表示。单引号和双引号没有区别,所以"qinlu"和'qinlu'是等价的,引号是边界,输出的时候不会包含它。当字符串内本身包含引号时,也不影响使用。

需要注意的是,不论单引号还是双引号,一旦混用很容易出现错误。因为程序并不知道它是字符串的边界还是符号。

解决方法有两种,一种是使用三引号,三引号代表整体引用,而且包含换行。第二种是引号前面加\,它是转义字符,表示这个引号就是单纯的字符。

三引号也可以用来注释,通常是大段的文字解释,如果一句话,我们更习惯用#,#后面的内容均不会作为程序执行。

时间是特殊的数值类型,它将结合datetime模块讲解。

还有两个常见的数据类型,布尔值和空值。布尔值是逻辑判断值,只有True和False。

布尔值在IF语句和数据清洗中经常使用,利用其过滤。布尔值能和布尔值运算,不过这里是and、not、or作为运算符,Ttue and True = True,False and True = False,False and False = False,not True = False,True or False = True等。

空值是一个特殊的值,表示为None,None不等于0,0具有数学意义而None没有,None更多表示该值缺失。

整数,浮点数,字符串,布尔值,空值就是Python常见的数据类型。Python3对中文的支持比较友好,所以大家可以用中文作为字符串试一下print。

数据类型构成了变量的基础,变量可以是任意的数据类型。想要用变量,必须先赋予变量一个值,这个过程叫赋值。

我首先给a赋予了一个整数值1,然后改变它为字符串abc,变量在Python中没有固定的数值类型,这是Python最大的优点,所以它在数据分析中很灵活。这也是它被称为动态语言的原因,相对应的叫静态语言。

Python是大小写敏感的语言,所以a和A是有区别的,这点请牢记。另外变量名尽可能使用英文,不要拼音,英文的可读性是优于拼音的。

变量有两种拼写风格,一种叫驼峰,一种叫下划线,以用户ID为例。驼峰命名法为userId,以一串英文词语user和id组成变量,第一个词语的首字母小写,第二个词语开始的首字母均大写。下划线命名法为user_id,全部小写,用_分割单词。

一个变量的值可以被赋予另外一个变量,如果b变量之前有另外一个值,那么会被1覆盖。呈从上而下的执行关系。

初看a = a + 1好像有逻辑问题,其实这涉及到了程序执行的先后顺序,程序是先计算a+1的值得到2,然后将其赋予(覆盖)了a。等号右边的计算先于左边,这是从右到左的逻辑关系。

有变量,自然有常量,常量是固定不变的量,可是在Python中没有真正意义的常量,一切皆可变,它更多是习惯上的叫法,即一旦赋值,就不再改变了。

Python的基础数算符号有+,-,*,/,//,%。前面四个就是加减乘除,其中除法的结果一定是浮点数。后面两个符号是除法的特殊形式,//代表除法中取整数,%代表除法中取余数。

到这里,新手部分已经讲解完成。再来讲讲数据结构。

二、数据结构

Python一共有三大数据结构,它是Python进行数据分析的基础,分别是tuple元组,list数组以及dict字典。本文通过这三者的学习,打下数据分析的基础。

1、数组

数组是一个有序的集合,他用方括号表示。

num就是一个典型的数组。数组不限定其中的数据类型,可以是整数也可以是字符串,或者是混合型。

数组可以直接用特定的函数,函数名和Excel相近。

sum是求和,len则是统计数组中的元素个数。

上述列举的函数是数组内整体元素的应用,如果我只想针对单一的元素呢?比如查找,这里就要用到数组的特性,索引。索引和SQL中的索引差不多,都是用来指示数据所在位置的逻辑指针。数组的索引便是元素所在的序列位置。

注意,索引位置是从0开始算起,这是编程语言的默认特色了。num[0]指数组的第一个元素,num[1]指数组的第二个元素。

我们用len()计算出了数组元素个数是5,那么它最后一个元素的索引是4。若是数组内的元素特别多呢?此时查找数组最后一位的元素会有点麻烦。Python有一个简易的方法,可以用负数表示,意为从最后一个数字计算索引。

这里的num[4]等价于num[-1],num[-2]则指倒数第二个的元素。

再来一个新问题,如何一次性选择多个元素?例如筛选出数组前三个元素。在Python中,用:表示范围。

num[0:3]筛选了前三个元素,方括号左边是闭区间,右边是开区间,所以这里是num[0],num[1]和num[2],并不包含num[3]。这个方法叫做切片。

上述是索引的特殊用法,[0:]表示从第0个索引开始,直到最后一个元素。[:3]表示从第一个元素开始,直到第3个索引。

负数当然也有特殊用法。[-1:]表示从最后一个元素开始,因为它已经是最后一个元素了,所以只返回它本身。[:-1]表示从第一个元素开始到最后一个元素。num[-2:-1]和num[-3:-1]大同小异。

数组的增删查

我们已经了解数组的基本概念,不过仍旧停留在查找,它不涉及数据的变化。工作中,更多需要操纵数组,对数组的元素进行添加,删除,更改。

数组通过insert函数插入,函数的第一个参数表示插入的索引位置,第二个表示插入的值。

另外一种,直接在数组末尾添加上元素。它在之后讲到迭代和循环时应用较多。

如果要删除特定位置的元素,用pop函数。如果函数没有选择数值,默认删除最后一个元素,如果有,则删除数值对应索引的元素。

更改元素不需要用到函数,直接选取元素重新赋值即可。

到这里,数组增删改查已经讲完,但这只是一维数组,一维数组之上还有多维数组。如果现在有一份数据是关于学生信息,一共有三个学生,要求包含学生的姓名,年龄,和性别,应该怎么用数组表示呢?

有两种思路,一种是用三个一维数组分别表示学生的姓名,年龄和性别。

学生属性被拆分成多个数组,利用索引来表示其信息,这里的索引有些类似SQL的主键,通过索引查找到信息。但是这种方法并不直观,实际应用会比较麻烦,更好的方法是表示成多维数组。

所谓多维数组,是数组内再嵌套数组,图中表示的是一个宽度为3,高度为3的二维数组。此时student[0]返回的是数组而不是单一值。这种方法将学生信息合并在一起,比第一个案例更容易使用。

如果想选择第一个学生的性别,应该怎么办呢?很简单,后面再加一个索引即可。

现在尝试快速创建一个多维数组。

[0]*3将快速生成3个元素值为0的数组,这是一种快捷操作,而[row]*4则将其扩展成二维数据,因为是4,所以是3*4的结构。

这里有一个注意点,当我们想更改多维数组中的某一个元素而不是数组时,这种。

按照正常的想法,martix[1][0]将会改变第二个数组中的第一个值为1,但是结果是所有数组的第一个值都变成1。这是因为在matrix = [row] * 4操作中,只是创建3个指向row的引用,可以简单理解成四个数组是一体的。一旦其中一个改变,所有的都会变。

比较稳妥的,或者用循环间接定义。多维数组是一个挺重要的概念,它也能直接表示成矩阵,是后续很多算法和分析的基础(不过在pandas中,它是另外一种形式了)。

2、元组

tuple叫做元组,它和数组非常相似,不过用圆括号表示。但是它最大的特点是不能修改。

当我们想要修改时就会报错。

而选择和数组没有差异。

元组可以作为简化版的数组,因为它不可更改的特性,很多时候可以作为常量使用,防止被篡改。这样会更安全。

3、字典

字典dict全称dictionary,以键值对key-value的形式存储。所谓键值,就是将key作为索引存储。用大括号表示。

图中的'qinlu'是key,18是value值。key是唯一的,value可以对应各种数据类型。key-value的原理不妨想象成查找字典,拼音是key,对应的文字是value(当然字典的拼音不唯一)。

字典和数组的差异在于,因为字典以key的形式存储和查找,所以它的查询速度非常快,毕竟翻字典的时候你只要知道拼音就能快速定位了。对dict数据结构,10个key和10万个key在查找对应的value时速度没有太大差别。

这种查找。数组则相反,查找速度随着元素的增加逐渐下降,这个过程想象成程序在一页页的翻一本没有拼音的字典,直到找到内容。数组的优点是占用的内存空间小。

所以数组和字典的优缺点相反,dict是空间换时间,list是时间换空间,这是编程中一个比较重要的概念。实际中,数据分析师的工作不太涉及工程化,选用数组或者字典没有太严苛的限制。

细心的读者可能已经发现,字典定义时我的输入顺序是qinlu,lulu,qinqin,而打印出来是lulu,qinlu,qinqin,顺序变了。这是因为定义时key的顺序和放在内存的key顺序没有关系,key-value通过hash算法互相确定,甚至不同Python版本的哈希算法也不同。这一点应用中要避免出错。

既然字典通过key-value对匹配查找,那么它自然不能不用数组的数值索引,它只能通过key值。

如果key不存在,会报错。通过in方法,可以返回True或False,避免报错。

dict和list一样,直接通过赋值更改value

能不能更改key的名字?不能,key一旦确定,就无法再修改,好比字典定好后,你能修改字的拼音么?

dict中删除key和list一样,通过pop函数。增加key则是直接赋予一个新的键值对。

dict的keys和values两个函数直接输出所有的key值和value值。如果要转换成数组,则再外面嵌套一个list函数

items函数,将key-value对变成tuple形式,以数组的。

字典可以通过嵌套应用更复杂的数据格式,和NoSQL与JSON差不多。

基础的数据类型差不多了,更多函数应用大家可以网上自行查阅文档,这块掌握了,在数据清洗过程中将会非常高效,尤其是读取Excel数据时。当然不要求滚瓜烂熟,因为后面将学习更加强大的Numpy和Pandas。

三、基本函数

1. 函数是什么

函数(Functions)是指可重复使用的程序片段。它们允许你为某个代码块赋予名字,允许你通过这一特殊的名字在你的程序任何地方来运行代码块,并可重复任何次数。这就是所谓的调用(Calling)函数。

在 Python 中,函数可以通过关键字 def 来定义。这一关键字后跟一个函数的标识符名称,再跟一对圆括号,其中可以包括一些变量的名称,再以冒号结尾,结束这一行。随后而来的语句块是函数的一部分。

在定义函数时给定的名称称作“形参”(Parameters),在调用函数时你所提供给函数的值称作“实参”(Arguments)。

2. 调用函数

要调用一个函数,需要知道函数的名称和参数。函数的参数只是输入到函数之中,以便我们可以传递不同的值给它,并获得相应的结果。

Python 内置的常用函数包括数据类型转换函数,比如int()函数可以把其他数据类型转换为整数。用input()读取用户的输入:

因为input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数。Python 提供了int()函数来完成这件事情:

函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”:

如果函数调用出错,一定要学会看错误信息。

3.定义函数

在 Python 中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

在 Python 交互环境中定义函数时,注意 Python 会出现...的提示。函数定义结束后需要按两次回车重新回到>>>提示符下:

如果你已经把my_abs()的函数定义保存为abstest.py文件了,那么,可以在该文件的当前目录下启动Python 解释器,用from abstest import my_abs来导入my_abs()函数,注意abstest是文件名(不含.py扩展名)。

定义一个什么事也不做的空函数,可以用pass语句:

pass语句什么都不做,实际上它可以用作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。

pass还可以用在其他语句里,比如:

缺少了pass,代码运行就会有语法错误。

数据类型检查可以用内置函数isinstance()实现。

Python 的函数返回多值其实就是返回一个tuple;Python 函数返回的是单一值时,返回值仍然是一个tuple。但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。函数可以同时返回多个值,但其实就是一个tuple。

函数执行完毕也没有return语句时,自动return None。

4.函数的参数

Python 的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。

4.1 位置参数:

power(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。

4.2 默认参数:

对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况。默认参数值可以有效帮助解决这一情况。你可以通过在函数定义时附加一个赋值运算符=来为参数指定默认参数值。要注意到,默认参数值应该是常数。更确切地说,默认参数值应该是不可变的。

n = 2 是默认参数

定义默认参数要牢记一点:默认参数必须指向不变对象。且只有那些位于参数列表末尾的参数才能被赋予默认参数值,意即在函数的参数列表中拥有默认参数值的参数不能位于没有默认参数值的参数之前。

4.3 可变参数:

有时你可能想定义的函数里面能够有任意数量的变量,也就是参数数量是可变的,这可以通过使用星号来实现。即传入的参数个数是可变的。

我们声明一个诸如 *param 的星号参数时,从此处开始直到结束的所有位置参数(Positional Arguments)都将被收集并汇集成一个称为param的元组(Tuple)。

类似地,当我们声明一个诸如 **param 的双星号参数时,从此处开始直至结束的所有关键字参数都将被收集并汇集成一个名为 param 的字典(Dictionary)。

4.4 关键字参数:

如果你有一些具有许多参数的函数,而你又希望只对其中的一些进行指定,那么你可以通过命名它们来给这些参数赋值——这就是关键字参数(Keyword Arguments)——我们使用命名(关键字)而非位置来指定函数中的参数。

关键字参数允许你传入 0 个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict。

举个例子,扩展函数的功能。试想你正在做一个用户注册的功能,除了用户名和年龄是必填项外,其他都是可选项,利用关键字参数来定义这个函数就能满足注册的需求。

和可变参数类似,也可以先组装出一个dict,然后,把该dict转换为关键字参数传进去:

4.5 命名关键字参数:

如果要限制关键字参数的名字,就可以用命名关键字参数,例如,只接收city和job作为关键字参数。这种:

和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。

命名关键字参数必须传入参数名,这和位置参数不同。如果没有传入参数名,调用将报错。

使用命名关键字参数时,要特别注意,如果没有可变参数,就必须加一个*作为特殊分隔符。如果缺少*,Python 解释器将无法识别位置参数和命名关键字参数,即缺少 *,city和job被视为位置参数。

4.6 参数组合:

在 Python 中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这 5 种参数都可以组合使用。

但是参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。虽然可以组合多达 5 种参数,但不要同时使用太多的组合,否则函数接口的可理解性很差。

通过一个tuple和dict,你也可以调用函数:

对于任意函数,都可以通过类似func(*args, **kw)的形式调用它,无论它的参数是如何定义的。

5. 递归函数

如果一个函数在内部调用自身本身,这个函数就是递归函数。理论上,所有的递归函数都可以写成循环的,但循环的逻辑不如递归清晰。

使用递归函数需要注意防止栈溢出。在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出。

通过下面的代码可以查看你的电脑最大算到多少:

解决递归调用栈溢出的方法是通过尾递归优化,事实上尾递归和循环的效果是一样的,所以,把循环看成是一种特殊的尾递归函数也是可以的。

尾递归是指,在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。这样,编译器或者解释器就可以把尾递归做优化,使递归本身无论调用多少次,都只占用一个栈帧,不会出现栈溢出的情况。

要改成尾递归,需要多一点代码,主要是要把每一步的乘积传入到递归函数中。Python 标准的解释器没有针对尾递归做优化,任何递归函数都存在栈溢出的问题

四、了解Mumpy包

Python数据分析绝对绕不过的四个包是numpy、scipy、pandas还有matplotlib。

numPy是Python数值计算最重要的基础包,大多数提供科学计算的包都是用numPy的数组作为构建基础。专门用来处理矩阵,它的运算效率比列表更高效。

1、NumPy 的 ndarray:多维数组对象

numpy的数据结构是n维的数组对象,叫做ndarray。可以用这种数组对整块数据执行一些数算,其语法跟标量元素之间的运算一样。

创建并操作多维数组:

"/>

这里没写 np.float64 只写了 float,但是NumPy会将 Python 类型映射到等价的dtype上。

数组的dtype的另一个用法:

"/>

u4(unit32):无符号的 32 位(4个字节)整型。

调用astype无论如何都会创建出一个新的数组(原始数据的一份拷贝)。

浮点数只能表示近似的分数值,在复杂计算中可能会积累一些浮点错误,因此比较操作只在一定小数位以内有效。

4、数组和标量之间的运算

数组:可对数据执行批量运算(不用编写循环即可)。这通常叫做矢量化(vectorization)。

大小相等的数组之间,它们之间任何的算术运算都会应用到元素级(每个元素都做这个运算了),数组与标量的算术运算也是。不同大小的数组之间的运算叫做广播(broadcasting)。

5、索引和切片

数据不会被复制,任何修改都直接改了原数组。

如果仅是要一份副本,则用 .copy()。

对二维数组单个元素的索引:

这两种。

若arr2d[2],则输出的是一维数组[7,8,9]。

2*2*3的数组(2组2行3列):

6、布尔型索引

需要先引入:from numpy.random import randn

或将代码改成:data = np.random.randn(7, 4)

布尔型数组的长度必须跟被索引的轴长度一致。每个名字对应 data 数组一行。

对条件进行否定的两种

组合应用多个布尔条件,可使用&、|等布尔算术运算符

通过布尔型索引选取数组中的数组,将总是创建数据的副本,即使返回一模一样的数组也是一样。

通过布尔型数组设置值:

通过一维布尔数组设置整行或列的值:

7、花式索引

指利用整数数组进行索引。

np.empty((8,4))

Return a new array of given shape and type, without initializing entries.

for i in range(8):

arr[i] = i

Return an object that produces a sequence of integers from start (inclusive)

to stop (exclusive) by step

为了以特定顺序选取行的子集,只需传入一个用于指定顺序的整数列表或 ndarray,使用负数索引会从末尾开始选取行(最后一行是 -1)。

一次传入多个索引组,返回一个一维数组:

取整列的两种方法,相当于给列排了顺序:

花式索引跟切片不一样,总是将数据复制到新数组中。

数组转置和轴对换

转置返回的是源数据的视图,不进行任何复制操作。数组有 transpose 方法,还有一个 T 属性来完成转置:

8、高维数组

Transpose 要一个轴编号:

<img class="capture deal" src="//s3.pstatp.com/wenda/wenda_web/static/style/image/loading_a788ad0.gif" _src="data:image/svg+xml;utf8,<svg%20xmlns=" http:="" www.w3.org="" 2000="" svg'="" width="640" height="462">"/>

arr是 2 组 2 行 4 列的数组,transpose的参数表示shape的形状,对于这个例子来说,即2[0]、2[1]、4[2],transpose(1,0,2)转置后变为2[1]、2[0]、4[2],看起来仍是 2 组 2 行 4 列的形状,但数组内的元素经过转换后索引已经改变,也要遵循(1,0,2)的顺序。如转置前的数组arr[0,1,0]索引值为 4,转置后的数组arr'[1,0,0],索引值才为 4。其它同理。

ndarray 的 swapaxes 方法接受一对轴编号且返回源数据的视图:

"/>

np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x, y)对。

将条件逻辑表述为数组运算

np.wherea函数是三元表达式x if condition else y的矢量化版本。

np.where的第二个和第三个参数不必是数组,传递给where的数组大小可以不相等,甚至可以是标量值。在数据分析工作中,where通常用于根据另一个数组而产生一个新的数组。

用where表述出更复杂的逻辑:(where的嵌套)

"/>

10、排序

多维数组可以在任何一个轴向上进行排序,只需将轴编号传给sort:

顶级方法np.sort返回的数组已排序的副本,就地排序则会修改数组。

唯一化以及其他的集合逻辑

np.unique找出数组中的唯一值并返回已排序的结果

np.in1d用于测试一个数组的值在另一个数组的情况。

当代程序猿必备的神器有哪些?

国际惯例,先上思维导图。各位可以选择性地选择自己需要的部分进行学习。

最新桌面环境

经常性的换一换桌面布局有助于减少乏味、增加新鲜感!

在钢筋混泥土建设的城市里面一片近在咫尺的绿色也是一种奢求,好了切入正题。工作效率:加速度(一个电脑的有用程度和它里面装的软件数成反比)

给电脑换上SSD吧,你再也不用为了打开Photoshop而等待一分钟了,只需3秒!多显示器绝壁是攻城师的不二利器啊!左边敲代码,右边预览、左边敲代码,右边LOG、左边敲代码,右边看电视使用Quicksilver、Alfred之类的软件能有效的提高操作效率键盘的速度绝对比鼠标快,所以还是多记一记快捷键吧

自动化

很多时候我们都喜欢重复造轮子,但是不要造过一次还去造第二次好吗?经常Google一些函数用法,赶紧将文档下下来本地查!(Mac下非常推荐Dash)

还有一些程序员是假的,是IT部门的,天天做报表接需求,这时候就要用到FineReport了。

什么是FineReport?

拿来做做日常日报、简单报表上手超快,支持的,查询快,搭建简易的填报系统也非常快速,excel的透视表升级版的既视感,高级大屏功能可谓是让领导产生满意的第一生产力。

举栗子:像这种单元格进度条实在好做。

名副其实的自动化报表系统,不卡不跳也不闹。Excel的基础上要学一些SQL知识,如果和数据库接触,日常多多少少也会涉及,两周的时间完成了十二张查询统计表。

版权声明:admin 发表于 2023年1月8日 上午7:29。
转载请注明:cp名生成器网址入口,cp制作是什么 | 热豆腐网址之家

相关文章