首页 文章 精选 留言 我的

精选列表

搜索[快速入门],共10012篇文章
优秀的个人博客,低调大师

vn.py快速入门7 - 历史数据回测优化

策略已经写好了,下一步就是历史回测:把历史上的价格数据(K线或者Tick),推送给策略去运行交易逻辑,并把策略产生的交易记录下来,最后分析这些回测的交易记录,从而来判断该策略的潜在盈利能力。 在开始之前,先来讲几个量化策略研究中(不管是否用vn.py),需要记住的几条重要原则: 所有量化程序的回测功能,永远都只能尽量接近实盘交易中的各项细节,而无法做到100%一样,关键点在于误差的大小(是否能容忍); 回测效果好的策略,并不能代表实盘交易就一定盈利,可能存在交易成本误差、参数过度拟合、逻辑有未来函数或者市场特征变化(Regime Switch)等原因; 回测效果烂的策略,实盘交易基本可以保证会更烂,绝对不要有侥幸心理。 准备历史数据 要跑历史数据回测,第一步自然就是要先准备好历史数据。这里我们以国内期货数据为例,使用米筐的RQData来下载获取。 RQData目前提供30天的免费试用权限,网站申请非常方便。前往RQData主页 找到上图中的“免费试用”按钮,点击进去后: 根据自己的实际情况填写相应的注册信息,邀请码点击那个白色小问号图标,可以看到没有邀请码情况下的默认输入值(当前是ClOR,注意l是小写的L,而不是大写的i),点击“登录并申请”按钮后,会看到登录框: 选择“验证码登录”,输入手机号验证码后点击“确认登录”按钮,回到上一步的界面,但注意此时底部按钮显示的文字已变为“立即申请试用”: 点击上述按钮后完成试用申请,注意此时有可能出现验证码超时或者其他的错误信息,根据提示重新填写再点击按钮即可。申请成功后会自动弹出开始下载[make.bat]文件(该文件中即包含了申请的试用账号和密码),以及[RQDATA使用说明.pdf]。 使用VS Code打开make.bat文件: 记住其中的name(用户名)以及password(密码),注意密码是一串长达344个字符的密钥,上图中仅截取了很短一部分(别想偷懒,哈哈)。 然后运行VN Station,点击VN Trader Pro,在右侧的上层应用中加载CtaBacktester(CTA回测模块)后启动,在主界面顶部的菜单栏,找到“配置”按钮: 点击后打开VN Trader的全局配置对话框: 将之前已经准备好的RQData用户名和密码,分别填入到rqdata.username和rqdata.password两个字段中,然后点击“确定”按钮,弹出提示重启的对话框。 此时即可关闭VN Trader并重启,点击菜单栏“功能”->“CTA回测”,启动接下来我们要用到的CTA策略回测图形界面: 如果上一步的RQData账号密码配置正确,此时可以在中间底部的日志输出框中看到“RQData数据接口初始化成功”的信息。如果没有就说明配置有问题,回去重来吧。 窗口左上方的一系列编辑框和下拉框,用来控制和管理我们的回测功能。在本地代码编辑框中输入IF88.CFFEX,K线周期选择1m(即1分钟K线),然后选择要下载数据的开始日期和结束日期,点击“下载数据”按钮。 此时CtaBacktester模块就会自动从RQData服务器下载历史数据,并完成数据结构转化后插入到VN Trader的数据库中(默认使用SQLite,数据文件位于.vntrader目录下的database.db),下载完成后同样会在日志输出框中看到相应信息: 运行历史回测 有了历史数据后,我们就可以开始跑历史回测。在左上角的交易策略下拉框里,应该已经能找到上一篇教程我们编写的DemoStrategy,选中后开始配置回测参数。 注意这里我们使用的是中金所股指期货的IF合约,回测时的参数要设置为股指期货所对应的属性。手续费率编辑框中输入0.000025(万0.25),交易滑点输入0.2(即单边成交1跳的滑点成本),合约乘数为300(300元每点),价格跳动也是0.2(股指期货最小价格变动),回测资金我们使用100万。 点击“开始回测”按钮,弹出参数配置对话框: 这里显示的fast_window和slow_window就是之前我们添加到parameters列表中的参数名称,这里我们直接使用默认数值,点击“确定”按钮后,我们的回测引擎就会自动开始执行策略回测的整个流程:加载数据、数据回放、模拟撮合、计算每日盈亏、统计指标、以及最后画出图表: 不出之前的意料,双均线策略的效果差的一塌糊涂,右侧图表的4个子图中: 子图1:资金变化曲线,笔直向下说明稳定亏损 子图2:最大回撤曲线,越来越大说明策略亏损越来越多 子图3:每日盈亏统计,红绿分布平均,但绿色密度更大(亏损) 子图4:盈亏的概率分布图,尖峰在0轴左侧(中位数日期发生亏损) 然后在中间顶部的表格中,可以看到回测相关的一些统计数据: 这策略干了什么事情能亏这么多钱呢,总有很多人会抱着不信邪的态度,此时点击左侧的“成交记录”按钮,可以看到回测过程中的每一笔成交记录: 还不信邪,可以点击“委托记录”按钮查看这些成交具体是由哪些委托触发的: 可以通过“成交记录”中的每条成交对应的委托号,在“委托记录”中找到策略下出的委托。细心的人可能已经发现上面两张图中,某一笔委托的价格和其对应成交的价格并不一致,这是因为我们在策略下单时使用了超价5元(为了保证成交),而回测仿真撮合时则是取了T+1时刻的最优成交价(也是实盘中最可能拿到的价格)。 在“每日盈亏”窗口中,可以看到以逐日盯市规则(期货结算规则),将每日的持仓和成交映射到当日收盘价后的当日整体盈亏情况: 最后,如果还是觉得死活不相信双均线策略怎么可能这么差,点击“K线图表按钮”,可以看到整个回测数据对应的K线图表: 上图中的黄色向上箭头代表多头成交(buy/cover),蓝色向下箭头则代表了空头成交(sell/short),可以通过键盘和鼠标拖动和缩放图表,看到自己想要的部分。 到了这里,是不是已经有点相信了“双均线策略就是垃圾”的说法?实际上从公平角度讲,以上看到的回测信息,并不能充分证明双均线信号的无效性,如果我们: 将手续费和滑点都调为0,这样不考虑交易成本影响 然后在回测时缩小fast_window到3,增大slow_window到80,即让长周期均线变得更加平稳 出来的结果则变成了: 从这张图上看,在不考虑交易成本时,双均线的来回穿插作为一种信号,可能还是有一定的预测效果(尽管也好不到哪里去)。 策略参数优化 实盘用可能是没希望了,但不妨碍我们想来折腾一下,看看在股指1分钟数据上到底怎样的均线组合能起到最好的效果,毕竟之前的3和80两个参数纯粹只是拍脑袋的结果。 假设我们想要看看fast_window,从2到20(步进2),slow_window,从20到100(步进10),参数分别两两组合出来的回测效果,看看能不能找到更好的均线组合。 比较傻的方法就是人工操作,每次将两个参数输入到回测的参数对话框里,然后运行等结果,再把结果记录在Excel表格里最后用来做排序比较。但对于这种机械重复的劳动,电脑比起人的效率要高得多得多,在本质上我们就是分别遍历两个参数的各种可能排列组合,然后针对每组组合,跑完回测并记录其中的关键结果,也就是所谓的“参数优化”。 CtaBacktester模块已经内置了策略参数优化的功能,点击左侧下方的“参数优化”按钮: 在弹出的对话框中,我们把之前的参数想法输入进去: 目标函数就选择最简单的总收益率 fast_window,开始数值为2,结束数值为20,每次步进为2(即2、4、6、8、10...) slow_window,开始数值为20,结束数值为100,每次步进为10(即20、30、40、50、60...) 点击“多进程优化”,使用暴力穷举算法(Brute-Force Algorithm),同时运行多个并行的Python进程,充分利用CPU的核心数量来加快优化速度。 优化完成后,日志信息中会有相应的提示,同时左下角的“优化结果”按钮会亮起: 点击后看到每组参数组合,所对应的目标函数结果: 效果最好的是fast_window为18,slow_window为90,带入到策略回测中运行后: 参数优化大法好!!! 可能在前面铺垫了那么多的情况下(过度拟合风险、双均线信号普通、移除了滑点手续费),你不见得还会脑子里蹦出这么一句话,但不可否认参数优化后的效果提升非常明显。 在本篇教程的最后,希望提醒大家的是:尽管看起来一路点点鼠标就能搞出个漂亮的资金曲线了,但实际上量化策略回测和优化过程中充满了各种各样的地雷。 到目前为止我们所讲述的只是最最基础的操作方法,还远没有涉及到实践经验的内容,这块要么大家用自己的真金白银在交易中慢慢积累,另一个成本更低的选择当然就是关注我们后续的进阶教程了! 了解更多知识,请关注vn.py社区公众号。

优秀的个人博客,低调大师

鸿蒙开发快速入门之:Hi3861 开发板(1)

Hi3861开发板介绍 Hi3861 WLAN模组是一片大约2cm*5cm大小的开发板,是一款高度集成的2.4GHz WLAN SoC芯片,集成IEEE 802.11b/g/n基带和RF(Radio Frequency)电路。支持OpenHarmony,并配套提供开放、易用的开发和调试运行环境。 图 1Hi3861 WLAN模组外观图 另外,Hi3861 WLAN模组还可以通过与Hi3861底板连接,扩充自身的外设能力,底板如下图所示。 图 2Hi3861底板外观图 RF电路包括功率放大器PA(Power Amplifier)、低噪声放大器LNA(Low Noise Amplifier)、RF Balun、天线开关以及电源管理等模块;支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率。 Hi3861 WLAN基带支持正交频分复用(OFDM)技术,并向下兼容直接序列扩频(DSSS)和补码键控(CCK)技术,支持IEEE 802.11 b/g/n协议的各种数据速率。 Hi3861芯片集成高性能32bit微处理器、硬件安全引擎以及丰富的外设接口,外设接口包括SPI(Synchronous Peripheral Interface)、UART(Universal Asynchronous Receiver & Transmitter)、I2C(The Inter Integrated Circuit)、PWM(Pulse Width Modulation)、GPIO(General Purpose Input/Output)和多路ADC(Analog to Digital Converter),同时支持高速SDIO2.0(Secure Digital Input/Output)接口,最高时钟可达50MHz;芯片内置SRAM(Static Random Access Memory)和Flash,可独立运行,并支持在Flash上运行程序。 Hi3861芯片适用于智能家电等物联网智能终端领域。 图 3Hi3861功能框图 资源和约束 Hi3861 WLAN模组资源十分有限,整板共2MB FLASH,352KB RAM。在编写业务代码时,需注意资源使用效率。 开发板规格 表 1Hi3861 WLAN模组规格清单 规格类型 规格清单 通用规格 1×1 2.4GHz频段(ch1~ch14) PHY支持IEEE 802.11b/g/n MAC支持IEEE802.11 d/e/h/i/k/v/w 内置PA和LNA,集成TX/RX Switch、Balun等 支持STA和AP形态,作为AP时最大支持6 个STA接入 支持WFA WPA/WPA2 personal、WPS2.0 支持与BT/BLE芯片共存的2/3/4 线PTA方案 电源电压输入范围:2.3V~3.6V IO电源电压支持1.8V和3.3V 支持RF自校准方案 低功耗: Ultra Deep Sleep模式:5μA@3.3V DTIM1:1.5mA@3.3V DTIM3:0.8mA@3.3V PHY特性 支持IEEE802.11b/g/n单天线所有的数据速率 支持最大速率:72.2Mbps@HT20 MCS7 支持标准20MHz带宽和5M/10M窄带宽 支持STBC 支持Short-GI MAC特性 支持A-MPDU,A-MSDU 支持Blk-ACK 支持QoS,满足不同业务服务质量需求 CPU子系统 高性能 32bit微处理器,最大工作频率160MHz 内嵌SRAM 352KB、ROM 288KB 内嵌 2MB Flash 外围接口 1个SDIO接口、2个SPI接口、2个I2C接口、3个UART接口、15个GPIO接口、7路ADC输入、6路PWM、1个I2S接口(注:上述接口通过复用实现) 外部主晶体频率40M或24M 其他信息 封装:QFN-32,5mm×5mm 工作温度:-40℃~+85℃ OpenHarmony关键特性 OpenHarmony基于Hi3861平台提供了多种开放能力,提供的关键组件如下表所示。 表 2OpenHarmony关键组件列表 组件名 能力介绍 WLAN服务 提供WLAN服务能力。包括:station和hotspot模式的连接、断开、状态查询等。 模组外设控制 提供操作外设的能力。包括:I2C、I2S、ADC、UART、SPI、SDIO、GPIO、PWM、FLASH等。 分布式软总线 在OpenHarmony分布式网络中,提供设备被发现、数据传输的能力。 设备安全绑定 提供在设备互联场景中,数据在设备之间的安全流转的能力。 基础加解密 提供密钥管理、加解密等能力。 系统服务管理 系统服务管理基于面向服务的架构,提供了OpenHarmony统一化的系统服务开发框架。 启动引导 提供系统服务的启动入口标识。在系统服务管理启动时,调用boostrap标识的入口函数,并启动系统服务。 系统属性 提供获取与设置系统属性的能力。 基础库 提供公共基础库能力。包括:文件操作、KV存储管理等。 DFX 提供DFX能力。包括:流水日志、时间打点等。 XTS 提供OpenHarmony生态认证测试套件的集合。

优秀的个人博客,低调大师

Table Store实时数据通道服务Go SDK快速入门

文档 产品简介 官网文档 安装 下载源码包 go get github.com/aliyun/aliyun-tablestore-go-sdk/tunnel 安装依赖 可以在tunnel目录下使用dep安装依赖 dep ensure -v 也可以直接使用go get安装依赖包: go get -u go.uber.org/zap go get github.com/cenkalti/backoff go get github.com/golang/protobuf/proto go get github.com/satori/go.uuid go get github.com/stretchr/testify/assert go get github.com/smartystreets/goconvey/convey go get github.co

优秀的个人博客,低调大师

Python3快速入门——(2)list和tuple(列表和元组)

1、List基础结构 #python中数据类型转换 str_eight= str (8) #整型8装换位字符型'8' str_eight_two="8" int_eight= int (str_eight_two) #字符型转换为整型 float_eight=float(str_eight_two) #字符型转换为浮点型 #python 中的运算符**表示指数 china=10 print(china**2) #结果为100 #List months=[] #声明months为list类型 print(type(months)) #<class 'list'> print(months) #[] 此时list为空 months. append ("January") #向list中添加元素(字符串) months.append("February") months.append(2) #向list中添加元素(整型)向同一个list中可以添加不同类型的元素 print(months) #输出list 结果为:['January', 'February', 2] 2、List索引 int_months=[1,2,3,4,5,6,7,8,9,10,11,12] #声明一个list length= len (int_months) #获取list的长度即有多少个元素 month1=int_months[0] #获取list中的第一个元素,每个list索引是默认从0开始的 month2=int_months[1] #获取list中的第二个元素 index=len(int_months)-1 #获取list最后一个元素的索引 last_value=int_months[index] #获取list最后一个元素 last_value1=int_months[-1] #索引-1代表最后一个元素的索引,-2代表倒数第二个元素的索引 #获取list中的某段元素(切片操作) months=["Jan","Feb","Mar","Apr","May","Jun","Jul"] two_four=months [2:4] #获取索引为2,3的值,不包括索引4的值(取头不取尾),注意索引是从0开始的,输出结果为["Mar","Apr"] three_six=months [3:] #获取索引3以后的所有元素 ['Apr', 'May', 'Jun', 'Jul'] months=[ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" ] b=months[: 5:2 ] #取前5个元素,每两个取一个 print (b) #结果为['Jan', 'Mar', 'May'] b=months[:: 3 ] #对所有元素,每三个取一个 ;#结果为['Jan', 'Apr', 'Jul'] #字符串也可以用切片操作,只是操作结果仍是字符串 #tuple也可以用切片操作,只是操作的结果仍是tuple 3、list和tuple(列表和元组) list和tuple是Python内置的有序集合,一个可变,一个不可变 #list 列表 classmates=[ "Bob" , "Jim" , "Mar" , "Asia" , "Kry" ] classmates.append( "Bill" ) #往list中追加元素到末尾 classmates.insert( 1 , "Aut" ) #把元素插入到指定的位置,比如索引号为1的位置 classmates.pop() #要删除list末尾的元素,用pop()方法 classmates.pop( 1 ) #要删除指定位置的元素,用pop(i)方法,其中i是索引位置 classmates[ 1 ]= "Git" #要把某个元素替换成别的元素,可以直接赋值给对应的索引位置 #tuple 元组 names=( "Bob" , "Jim" ,[ "Mar" , "Asia" ], "Kry" ) #声明一个元组 #names这个tuple不能变,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的 #可以正常地使用names[0],names[-1],但不能赋值成另外的元素 #当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,可以为空names=() names[ 2 ][ 0 ]= "X" names[ 2 ][ 1 ]= "Y" print (names) # 结果为('Bob', 'Jim', ['X', 'Y'], 'Kry') #表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。 # tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

优秀的个人博客,低调大师

CodePipeline 持续集成/持续交付快速入门-- Node.js篇

本文演示如何使用Codepipeline构建一个Node.js项目并部署到ECS。 资源准备和限制 申请开通AliyunCodePipelineDefaultRole 服务 创建一台ECS(经典网络或VPC均可) 创建一个OSS的bucket 部署目标机器的操作系统:目前支持Ubutu 16.04, 14.04, Centos 7.3, 7.2, 6.8, Alinux 17.1操作系统。 源码地址:目前支持git协议的代码仓库。 在“用户证书”处根据项目配置设置用户凭证,比如github的用户名/密码,容器镜像仓库的用户名/密码,容器服务的证书,CodePipeline会加密存储用户凭证 操作流程 登录CodePipleine 控制台 同意RAM的CodePipeline角色授权 单击UI右上角“新建”,输入项目名称,选择“构建一个NodeJS的软件项目”,并单击“下一步” 配置Repositories添加Git仓库地址及Git验证方式 添加需要构建的代码分支,默认为Master 配置“构建命令” 配置“测试命令”并单击“下一步”如果不需要做单元测试,可以不填写测试命令 部署到ECS 上传构建物到OSS 部署构建物到ECS首先在要部署的ECS上执行下面的命令。 然后单击选择目标ECS并将其移到已选部署目标中 配置“部署命令”,“检查命令”(optional),“回滚命令”(optional)和“工作空间” 点击“下一步”,然后点击“提交” 8.执行构建完成项目配置后,可以单击左侧导航栏中的“立即构建”,开始执行配置中的构建及部署命令您可以在构建队列及构建历史中查看构建状态点击任务,单击“控制台输出”,可以查看日志。

优秀的个人博客,低调大师

轻量应用服务器 快速入门:使用流程

使用流程 购买(创建实例) 以 WordPress 为例。 1.登录 阿里云官网,打开轻量应用服务器购买页面。按照提示选择镜像、地域、套餐,时长,单击 购买。 2.在 确认订单 页面,确认订单信息。核对无误后,单击 去支付。 3.支付成功后,单击 跳转到控制台。 获取应用初始化信息 1.登录轻量应用服务器控制台,在 服务器列表 中找到之前购买的服务器,单击 详情。 2.进入 WordPress 的 应用详情 页面,查看相关应用初始化安装信息详情。 设置应用 应用已经安装完毕。根据上一步看到的应用信息,我们需要获得已经安装好的 WordPress 的管理员账号和账号密码。 1.在 WordPress 的 应用详情 页面,单击右上角的 远程连接。 2.根据上一章得到的应用安装信息,我们知道应用的管理账号和账号密码在服务器 /root/env.txt 路径下。在远程连接窗口中输入以下内容: sudo cat /root/env.txt 即可获得 WordPress 的管理员账号和账号密码。 3.复制管理员账号密码。 4.打开应用安装信息的管理员登录页面,WordPress 的后台地址一般为 http://ip地址/wp-login.php 。 5.输入账号 admin,并粘贴之前复制好的密码,单击 登录。 6.登录成功后,您可以根据自身需要配置 WordPress。 为方便用户后续操作,可以更新个人资料,步骤如下: 1.单击 admin 下面的 编辑 按钮。 2.进入 用户 页面,在 账户管理 部分,单击 生成密码,按照提示输入密码。 3.然后输入邮件地址,并单击 更新个人资料。 绑定域名、解析域名 1.打开控制台,单击左侧导航栏的 站点设置 > 域名 > 添加域名。如果已经有在阿里云注册或者使用阿里云解析的域名,可以直接解析。 2.输入域名,单击 确定。 测试访问 修改 WordPress 后台的地址为绑定的域名,通过域名测试访问应用。 注意:修改前务必保证绑定域名已经解析成功,否则会出现后台无法登录的情况。

优秀的个人博客,低调大师

[雪峰磁针石博客]Bokeh数据可视化工具1快速入门

简介 数据可视化python库参考 python数据可视化库最突出的为Matplotlib、Seaborn和Bokeh。前两个,Matplotlib和Seaborn,绘制静态图。Bokeh可以绘制交互式图。 安装 conda install bokeh pip2 install bokeh pip3 install bokeh 检验安装 from bokeh.plotting import figure, output_file, show #HTML file to output your plot into output_file("bokeh.html") #Constructing a basic line plot x = [1,2,3] y = [4,5,6] p = figure() p.line(x,y) show(p) image.png 问题讨论: https://groups.google.com/a/anaconda.com/forum/#!forum/bokeh bug跟踪:https://github.com/bokeh/bokeh/issues 应用程序:Bokeh应用程序是在浏览器中运行的Bokeh渲染文档 Glyph:Glyph是Bokeh的基石,它们是线条,圆形,矩形等。 服务器:Bokeh服务器用于共享和发布交互式图表 小部件Widgets::Bokeh中的小部件是滑块,下拉菜单等 输出方法有:output_file('plot.html')和output_notebook() 构建图片的方式: #Code to construct a figure from bokeh.plotting import figure # create a Figure object p = figure(plot_width=500, plot_height=400, tools="pan,hover") 绘图基础 线状图 #Creating a line plot #Importing the required packages from bokeh.io import output_file, show from bokeh.plotting import figure #Creating our data arrays used for plotting the line plot x = [5,6,7,8,9,10] y = [1,2,3,4,5,6] #Calling the figure() function to create the figure of the plot plot = figure() #Creating a line plot using the line() function plot.line(x,y) #Creating markers on our line plot at the location of the intersection between x and y plot.cross(x,y, size = 15) #Output the plot output_file('line_plot.html') show(plot) image.png 柱形图 #Creating bar plots #Importing the required packages from bokeh.plotting import figure, show, output_file #Points on the x axis x = [8,9,10] #Points on the y axis y = [1,2,3] #Creating the figure of the plot plot = figure() #Code to create the barplot plot.vbar(x,top = y, color = "blue", width= 0.5) #Output the plot output_file('barplot.html') show(plot) image.png 补丁图 #Creating patch plots #Importing the required packages from bokeh.io import output_file, show from bokeh.plotting import figure #Creating the regions to map x_region = [[1,1,2,], [2,3,4], [2,3,5,4]] y_region = [[2,5,6], [3,6,7], [2,4,7,8]] #Creating the figure plot = figure() #Building the patch plot plot.patches(x_region, y_region, fill_color = ['yellow', 'black', 'green'], line_color = 'white') #Output the plot output_file('patch_plot.html') show(plot) image.png 散列图 #Creating scatter plots #Importing the required packages from bokeh.io import output_file, show from bokeh.plotting import figure #Creating the figure plot = figure() #Creating the x and y points x = [1,2,3,4,5] y = [5,7,2,2,4] #Plotting the points with a cirle marker plot.circle(x,y, size = 30) #Output the plot output_file('scatter.html') show(plot) image.png 更多资源 #- cross() #- x() #- diamond() #- diamond_cross() #- circle_x() #- circle_cross() #- triangle() #- inverted_triangle() #- square() #- square_x() #- square_cross() #- asterisk() #Adding labels to the plot plot.figure(x_axis_label = "Label name of x axis", y_axis_label = "Label name of y axis") #Customizing transperancy of the plot plot.circle(x, y, alpha = 0.5) plot.circle(x, y, alpha = 0.5) 参考资料 本文最新版本地址 讨论 钉钉免费群21745728 qq群144081101 567351477 本文涉及的python测试开发库 谢谢点赞! 本文相关海量书籍下载 代码仓库

优秀的个人博客,低调大师

Python3快速入门——(1)python变量和输入输出函数

1、Python语言 Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言 Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言:这意味着,您可以在一个Python提示符,直接互动执行写你的程序。 Python 是面向对象语言:这意味着Python支持面向对象的风格或代码封装在对象的编程技术。 Python 应用领域:Linux/Unix运维,开发命令行程序、桌面GUI应用(PyQt,Kivy等), 移动 App(PyQt,Kivy等),Web应用(Diango等框架),服务端的应用(基于TCP协议的服务器程序),网络爬虫(为搜索引擎、深度学习等领域提供数据源),数据分析,深度学习,科学计算。 2、个人看过比较好的python3系统学习教程 菜鸟编程 : http://www.runoob.com/python3/python3-basic-syntax.html 廖雪峰: https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 python解释器内置函数类型:https://docs.python.org/3/library/functions.html 3、变量 #变量(每条语句后可以不写分号,直接回车即可) numeber_of_days=365 #定义变量值 str_test="China" #字符串变量 int_test=123 #整型变量 float_test=122.5 #浮点型变量 print(numeber_of_days) #输出变量值 365 print( type (str_test)) #输出变量的类型 <class 'str'> 4、输入输出函数和条件判断 input()/print() #name=input();print(name) 空值 是Python里一个特殊的值,用 None 表示。 None 不能理解为 0 ,因为 0 是有意义的,而 None 是一个特殊的空值 s = input ( 'birth: ' ) #input()返回的数据类型是str,str不能直接和整数比较,必须先把str转换成整数 birth = int (s) #int()函数将str转换为int if birth >= 2000 : print ( '00后' ) elif birth>= 1990 : print ( '90后' ) else : print ( '90前' )

优秀的个人博客,低调大师

云服务器 ECS快速入门:Windows 格式化数据盘

Windows 格式化数据盘 如果您已经为 ECS 实例配了数据盘,您需要先格式化并分区数据盘后才能正常使用数据盘。 注意: 磁盘分区和格式化是高风险行为,请慎重操作。本文档描述如何处理一个新买的数据盘,如果您的数据盘上有数据,请务必对数据盘创建快照以避免可能的数据丢失。 云服务器 ECS 仅支持对 数据盘 进行分区,而不支持对 系统盘 进行分区。如果您强行使用第三方工具对系统盘进行分区操作,可能引发未知风险,如系统崩溃、数据丢失等。 本文描述如何用一个新的数据盘创建一个单分区数据盘并挂载文件系统。您也根据业务需要,对数据盘进行多分区配置。 操作须知 单独 购买的数据盘 需要先 挂载数据盘,然后才能进行格式化和分区操作。 随实例时一起购买的数据盘,无需挂载,直接格式化并分区。 操作步骤 在本示例中,我们描述了如何在 Windows Server 20

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册