首页 文章 精选 留言 我的

精选列表

搜索[基础搭建],共10000篇文章
优秀的个人博客,低调大师

Python零基础学习笔记(十七)—— for 语句

''' for 语句,是一种循环语句 格式: for 变量名 in 集合: 语句 逻辑:按顺序取“集合”中的每个元素赋值给“变量”,再去执行语句 如此循环往复,直到取玩“集合”中的元素为止 ''' for i in [1,2,3,4,5]: print(i) ''' num = int(input()) if num in [1, 2, 3, 4, 5]: print("你输入的数字,我也有不信你看:%d"% num) ''' ''' range([start,] end[, step])函数 列表生成器 start 默认为0,step默认为1 功能:生成数列 ''' a = range(12) print(a) for i in range(12): print(i) for c in range(1, 20, 3): print(c) #同时遍历下标和元素 enumrate 枚举遍历器 for index, m in enumerate([1,2,3,4,5]): #index,m = 下标, 元素 print(index, m) #1+2+3+...+100 sum = 0 for n in range(101): sum += n print(sum) 执行结果 1 2 3 4 5 range(0, 12) 0 1 2 3 4 5 6 7 8 9 10 11 1 4 7 10 13 16 19 0 1 1 2 2 3 3 4 4 5 5050

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

1、python机器学习基础教程——简述

一、引言: 机器学习(machine learning):从数据中提取知识。分为:监督学习(supervised learning)和无监督学习(unsupervised learning)。 二、监督机器学习应用: 1、识别信封上面的手写的邮政编码。 2、基于医学影像判断肿瘤是否为良性。 3、检测信用卡交易中的诈骗行为。 三、无监督机器学习应用: 1、确定一系列博客文章的主题。 2、将客户分成具有相似偏好的群组。 3、检测网站的异常访问模式。 四、构建机器学习解决方案过程中的思考: 1、要回答的问题是什么?已收集到的数据能够回答这个问题吗? 2、要将我的问题表示成机器学习问题,用哪种方法最好? 3、我收集的数据是否足够表达我想要解决的问题? 4、我提取了数据的哪些特征?这些特征能否实现正确的预测? 5、如何衡量应用是否成功? 6、机器学习解决方案与我的研究或商业产品中的其他部分是如何相互影响的? 五、编程环境Anaconda3.4.2+(python3.5+) anaconda安装遇到的问题请查看 conda httperror http none none for url none Anaconda更新失败解决办法 https://www.jianshu.com/p/c74668743932 pandas==0.18.1 matplotlib==1.5.1 numpy==1.11.1 scipy==0.17.1 scikit-learn==0.18

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

c++基础(上) 听课流水账

1、pass by value / pass by pointer / pass by reference pass by value:实参和形参不是同一个值,因此交换的是形参的值,当函数swap结束后,a和b的值并没有发生交换 pass by pointer and pass by reference :实参和形参是相同的。 2、动态内存 申请失败的返回值是 0 而不是 NULL, null在cpp中废止了。 申请一个长度我10,初始值都为0的空间 int *num= new int[10](); 3、对比new和malloc 4、cpp内存模型 内存模型:栈、堆、静态区、常量区。 5、数组内存模型 5、const char * / char * const / char const * 在c中,const是只读变量,cpp里const指的是常量。 6、常量指针和指针常量 下图为p1常量指针——p1所指地址上的内容不可以通过p1做出改动 下图p2为指针常量——p2所指的地址不可以发生改动 数组名就是一个指针常量 实例: 下图中的int const* pi和const int* pci是一样的 7、UML类图 一些编码规范:类名首字母大写; 8、匿名对象 9、访问对象成员 返回值类型 类名: : 函数名 10、cpp的string类型 11、访问器与更改器 12、同名屏蔽 #include "pch.h" #include<iostream> using namespace std; class Foo { public: int x; int y; Foo() { x = 10; y = 10; } void p() { int x = 20; cout << x << endl; cout << y << endl; } }; int main(int argc, char **argv) { Foo foo; foo.p(); return 0; } 运行结果: 20 10 13、成员函数的this指针 14、避免同名屏蔽的简单方法 15、对象数组 #include "pch.h" #include <iostream> using namespace std; class C { public: C(int i) { //带参构造函数 std::cout << "\t parameterized ctor" << std::endl; } C() { //无参(默认)构造函数 std::cout << "\t default ctor" << std::endl; } C(const C& c) { //拷贝构造函数 std::cout << "\t copy ctor" << std::endl; } C& operator =(const C& c) { //重载了类C的赋值运算符,观察main()中的对象赋值现象 std::cout << "\t assignment operator" << std::endl; return *this; } }; int main() { cout << "C c1;" << endl; C c1; //调用无参(默认)构造函数 cout << "C c2(2);" << endl; C c2(2); //调用有参构造函数 cout << "C c3 = c1;" << endl; C c3 = c1; //调用拷贝构造函数 cout << "C c4 = C();" << endl; C c4 = C(); //编译器将之等价为 C c4; cout << "C c5 = C(5);" << endl; C c5 = C(5); //编译器将之等价为 C c5(5); cout << "C c6(c1);" << endl; C c6(c1); //调用拷贝构造函数 cout << "C c7(C(7));" << endl; C c7(C(7)); //编译器将之等价为 C c7(7); cout << "C c8[4] = {C(), C(18), c7};" << endl; C c8[4] = { C(), C(18), c7 }; //c8中的4个元素初始化时,是看做4个独立的对象处理: //C c80 = C(); 调默认构造函数 //C c81 = C(18); 调有参构造函数 //C c82 = c7; 调拷贝构造函数 //C c83 = C(); 调默认构造函数 cout << "C c9; c9 = C(9);" << endl; C c9; //调用默认构造函数 c9 = C(9); //先调用有参构造函数构造一个匿名对象C(9),然后调用赋值运算符将该匿名对象赋值给c9 return 0; } 16、封装 当你的数据域是对象类型的时候,他必须放在构造函数的初始化列表里面进行构建,除非这个数据域的对象类型中有默认的无参构造函数。 17、不可变对象 定义:创建之后,不可变对象不可修改,除非通过成员拷贝。 如何让类“不可改变”: 1、数据域均设置为私有属性。 2、没有接口,使得外部可以调用来更改你的数据。 3、也没有能够返回可变数据域对象的引用或指针的访问器。 不可变类的一个特征是线程安全的,所以他有用。 18、避免多次声明 19、static 本文件内的static函数只允许本文件访问 下图中的静态数据成员numberofObjects,被类Circle的对象们共享。 静态成员变量只能放在所有函数的外面进行初始化 numberOfObjects一定要初始化,不然会报错 20、使用静态成员函数的规则 静态成员函数的访问规则 21、析构函数 22、拷贝构造 拷贝构造函数的形式以及何时会调用拷贝构造函数 注意下图右下角的赋值 x c= b; ,构造出的c里面传入的是默认参数 1 。 浅拷贝和深拷贝(类中数据成员如果含有指针,一定要自己写拷贝构造函数,因为编译器默认给生成的是浅拷贝版的拷贝构造函数,容易出问题的) 拷贝构造函数是一种特殊的构造函数 23、写一个类,实现栈的功能 24、写一个类,实现vector 24、一些编码规范 25、继承 派生类不能继承的是: 1、构造函数(cpp 11 中已经允许) 2、析构函数 3、友元函数 4、拷贝赋值函数 派生类构造函数调用基类构造函数的方法 : 若没有显示的调用基类的构造函数,则编译器默认调用无参的基类构造函数 (如果你写的构造函数有参,则编译器会报错,因为找不到无参的积累构造函数) 构造和析构的顺序 26、重定义 派生类对父类的同名函数内容进行修改。不修改的地方: 1、返回值类型 2、传入的参数 3、函数名 区分重定义和重载 27、绑定 基类中定义的虚函数,在派生类中的同名函数会自动变成虚函数,无需添加virtual关键字。 总结静态绑定和动态绑定 下面四张图的总结: 访问方式 访问对象 对象调用(p.f()) 子类同名函数 父类指针指向子类对象(图2) 父类同名函数 父类指针指向子类对象(图3) 子类的同名虚函数 28、protected protected成员可以被类内成员函数直接获取,不可以通过对象来获取。 29、几种继承方式的总结 30、抽象类与纯虚函数 抽象类(有纯虚函数的类是抽象类)不能被实例化 31、动态转换 32、向上转型和向下转型 向上转型可不使用dynamic_cast,而是隐式转换 向下转型必须使用dynamic_cast进行显示转换。 33、typeid运算符——用于获取对象所属的类的信息 可将派生类对象截取,只是用继承来的信息;但是不能将基类对象加长,无中生有变出派生类对象。(如下图:circle是派生类)

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

云计算基础知识:CPU虚拟化

【大咖・来了 第7期】10月24日晚8点观看《智能导购对话机器人实践》 虚拟化技术的分类主要有服务器虚拟化、存储虚拟化、网络虚拟化、应用虚拟化。 服务器虚拟化技术按照虚拟对象来分,可分为:CPU虚拟化、内存虚拟化、I/O虚拟化;按照虚拟化程度可分为:全虚拟化、半虚拟化、硬件辅助虚拟化。 将不同的虚拟化对象和程度组合,可得出9种不同的服务器虚拟化技术。 首先详细介绍下服务器虚拟化之CPU虚拟化,后续讲解中再详细介绍内存虚拟化及I/O虚拟化。 CPU虚拟化 CPU全虚拟化技术 主要采用优先级压缩技术(Ring Compression)和二进制代码翻译技术(BinaryTranslation)。优先级压缩技术让VMM和Guest运行在不同的特权级下。对x86架构而言,即VMM运行在***特权级别Ring 0下,Guest OS运行在Ring 1下,用户应用运行在Ring 3下。因此,Guest OS的核心指令无法直接下达到计算机系统硬件执行,而是需要经过VMM的捕获和模拟执行(部分难以虚拟化的指令需要通过Binary Translation技术进行转换)。 CPU半虚拟化技术 主要采用Hypercall技术。Guest OS的部分代码被改变,从而使Guest OS会将和特权指令相关的操作都转换为发给VMM的Hypercall(超级调用),由VMM继续进行处理。而Hypercall支持的批处理和异步这两种优化方式,使得通过Hypercall能得到近似于物理机的速度。 CPU硬件辅助虚拟化技术 目前主要有Intel的VT-x和AMD的AMD-V这两种技术。其核心思想都是通过引入新的指令和运行模式,使VMM和Guest OS分别运行在不同模式(ROOT模式和非ROOT模式)下,且Guest OS运行在Ring 0下。通常情况下,Guest OS的核心指令可以直接下达到计算机系统硬件执行,而不需要经过VMM。当Guest OS执行到特殊指令的时候,系统会切换到VMM,让VMM来处理特殊指令。 CPU的虚拟化技术可以单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率。 GuestOS负责第2级调度,即线程或进程在VCPU上的调度(将核心线程映射到相应的虚拟CPU上)。 VMM(Virtual Machine Monitor)负责第1级调度,即VCPU在物理处理单元上的调度。 两级调度的调度策略和机制不存在依赖关系。VMM负责物理处理器资源在各个虚拟机之间的分配与调度,本质上即把各个虚拟机中的VCPU按照一定的策略和机制调度在物理处理单元上可以采用任意的策略来分配物理资源,满足虚拟机的不同需求。

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

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

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

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

用户登录
用户注册