Python编程快速上手 总结
编程是一项创造性任务
前言
程序开发要学会 站在巨人的肩膀上 。动手写代码前,先调研一番,看是否有现成的解决方案。 切忌重复造轮子 ,浪费时间不说,可能代码质量还差,效果也不好。
这个是基于python 3.8 总结的
在 Python 中,一切皆对象,基本数据类型也是如此
第一部分 python 基础
基本运算符
这里介绍python独特的运算符
算数运算符
操作符
操作
*
数字相乘求积,字符串,列表这些跟整数相乘是复制
**
指数
/
除法
//
除法取整,但是结果的数据类型是两个操作数中表示范围最大的一个的数据类型
+
字符串,列表这些加法拼接,数字加法求和
整数如果在数值上与浮点数是相同的,用==比较时,他们就是相同的,不用管浮点数误差问题
记住python 没有 ++ --这种操作符
逻辑运算符
操作符
操作
and
两边表达式都为真才返回真
or
两边表达式有一边为真就返回真
not
返回表达式的相反情况
特殊运算符
操作符
操作
in
判断前面这个对象是否存在后面的对象中
...
markdown语法
数学公式部分
使用$$ $$ 来定义一个公式块
列如下面这样
helloworldhello world
helloworld
公式
名称
markdown格式
数学公式
上标
A^2
A2A^2A2
下标
A_2
$ A_2 $
组合
B^{AC}
$ B^{AC} $
分数
\frac{a+b}{c+d}
a+bc+d\frac{a+b}{c+d}c+da+b
累乘
\prod_1^n{n^2}
$ \prod_1^n{n^2} $
累加
\sum_1^n{n}
$ \sum_1^n{n}$
开方
\sqrt[3]{8}
83\sqrt[3]{8}38
积分
\int^{10}_0{f(x)}dx
∫010f(x)dx\int^{10}_0{f(x)}dx∫010f(x)dx
二重积分
\iint f(x)dx
∬f(x)dx\iint f(x)dx∬f(x)dx
多重积分
\iiiint f(x)dx
\iiiint f(x)dx
无穷
\infty
∞\infty∞
极限
\lim_{n->\infty}
l ...
8位CPU制作
前言
我感觉做CPU对于电子专业的人来说应该是容易事,我一个计算机专业的,感觉有点小吃力,但是我还是决定把它啃完
本次采用LogicCircuit仿真软件
半加器
SUM = A^B CO = A&B
全加器
全加器有三个输入位,一个是上一位加法的进位
八位加法器
8位选择器
两个输入中选一个输出
8位取反器
8为与门
8位或门
AU
AU模块包含了加法和减法
当OP为0时做加法
当OP为1时做减法
控制端为0 表示 A+B 控制端为1表示 A-B
LU
控制端为0 表示 A&B 控制端为1表示 A | B
ALU
真值表
控制端
输出
xx00
A+B
xx01
A-B
xx10
A&B
xx11
A|B
单数码管(2进制变16进制)
通过4位地址控制ROM输出8位控制数据,让数码管显示一位16进制数据,控制线en控制是否显示
双数码管(2进制变16进制)
这里面的数码管是上面的单数码管,前四位控制第一个16进制数据,后四位控制第二个16进制数据
三数码管(2进制变10进制)
通过ROM将八位二 ...
Proteus 仿真软件的使用
常用元器件英文名字
resistor 电阻
LED LED灯
考研-计算机组成原理总结
第一章 计算机系统概述
计算机系统由软件系统和硬件系统组成
计算机的性能的好坏取决于软件,硬件的总和
我们需要将源代码翻译成汇编代码,然后再将汇编代码转变成机器码, 源代码翻译成汇编代码然后变成机器码有两种方式,一种是编译,另外一种是解释
编译是一次性将代码全部机器码,生成目标可执行文件,后续无需在翻译,可以直接执行
解释是执行一条语句翻译一次,后续需要使用还需要重新翻译
这个微程序机器其实是由硬件实现的,将机器语言转变为一系列的微指令
计算机体系结构关注的是计算机系统的概念性设计和功能特点,而计算机组成则更关注计算机系统的具体实现和运作方式。两者相互依存,计算机组成是计算机体系结构实现的基础,而计算机体系结构则为计算机组成提供了设计和指导的思路。
计算机的组成
冯洛伊曼计算机特点
需要注意的是,典型的冯洛伊曼计算机是以运算器为中心,而现代计算机都是以存储器为中心
运算器各个寄存器的作用和功能
控制器是计算机的指挥中枢,负责指挥各个部件协调,自动工作,完成执行指令需要三个阶段: 取指,分析,执行
控制器中的寄存器
PC 是程序计数器,记录下一条指令的地址 ...
程序是怎么样运行的
第三章 计算机进行小数运算时出错的原因
如果我们使用简单的二进制来表示小数,我们会发现二进制有时候根本表示不了很多小数
如果我们想让二进制表示一个0.1 他都表示不了,只能无限接近,因此在做运算的时候肯定会有误差的,当然我们也不会用这种二进制简单的来表示浮点数,人很聪明,想到了科学计数法,我们可以模仿这种方法来设计如何保存浮点数
浮点数的保存方法
一般的语言都会提供double(双精度),float(单精度)这两种方式记录浮点数
符号部分记录这个数的正负
指数部分保存指数的值(基数是2哦),这里不是简单的使用这个值去表示指数,而是以中间值为基准,中间值代表0,列如浮点数中
(11111111)/2 = 01111111 这个数代表0, 10000000 表示1 ,01111110 表示-1
尾数部分保存移位后的值, 移位的时候我们要保证小数点第一位左边第一位必须是1,而且左边只有一个1,右边不需要管,尾数部分记录的就是右边部分的值,这样是不是很巧妙,可以节省一位值
我们可以验证一下
1234567891011121314151617#include<iostream&g ...
阅读书籍和选择书籍方法总结
前言
作为新手,我通常是通过阅读书籍进行学习的,但是在书籍选择上,我做的并不是很好,比如说我想看操作系统的书,我从一开始就选择了黑皮书,很厚很晦涩,我翻了几页就不想翻了,因为我压根就没兴趣,也看不太懂,这就代表我们选择错了,我们应该先选择一本循序渐进的书籍,而不是一上来就跟我们扯这些理论知识,像这种黑皮书,更像是一个完整的知识体系,是给那种想进一步完善自己知识体系的人学习的,而不是给新手学习的
什么是一本适合自己的书籍?
就我个人而言,就是能理解它在讲什么,让我产生了不少思考,并且没有让我感到无聊,即使是一些概念
其实我们应该先选择入门书籍,再选择进阶书籍
编码
第四章 手电筒的剖析
这章感觉像电路知识,哈哈哈哈
电池是通过化学反应将电子从正极移动到负极,如果有导线连接正负极的时候,化学反应才会发生的很快,如果电池没有连接导线,那么化学反应会发生的很慢很慢(不代表不发生,因为负极的电子也可能跑掉,正极补充到电子)
电子是很难直接通过空气流动的,物质的导电能力是由它的核外电子结构决定的,如果最外电子层只有一个电子,那么这个电子是很容易逃逸的
对于电流能够流通的的物体我们叫做导体,对于那些几乎不能导电的物体,我们叫做绝缘体,但是不存在理想绝缘体,这些绝缘体就相当于一个阻值很大很大的电阻罢了,通过他的电流非常小,小到可以忽略不计,当我们有足够大的电压时,也能产生很大的电流
那些导电性很好的导体也具有阻性,只不过他们的电阻比较小罢了,导线越长,电阻越大,导线越粗,电阻越小,这是为什么呢,导线越粗,电子可以选择的通路就越多
电子在高速移动的过程中,也会产生摩擦吧,这样是不是就会发热?,如果导线直接连接电视两端,而阻值比较小, 那这样的话,导线就会持续发热,然后就会烧掉
电流只有有和无,灯泡的也只有发光和不发光,因此这是不是也是二进制的一种体现
第五章 绕 ...
股票基本知识
前言
一直想玩玩股票,得亏现在腾地出时间来,好好玩一玩
玩之前得告诉自己几件事:
心态要好
赚不赚钱无所谓,学到东西最重要
一、炒股要求必懂的基本术语
也许你经常会看到一些股市牛人每天更新大盘,用上的各种术语你是看得一头雾水,这样的话,即使再好再准的股评你也是看不明白的,等于这些信息将于你无关,所以作为新手,一定要入乡随俗把一些基本的股市术语理解了,才能在股市里有更好的交流。下面就全面的给大家讲解一些基本的术语。
基本面:
基本面包括宏观经济运行态势和上市公司基本情况。宏观经济运行态势反映出上市公司整体经营业绩,也为上市公司进一步的发展确定了背景,因此宏观经济与上市公司及相应的股票价格有密切的关系。上市公司的基本面包括财务状况、盈利状况、市场占有率、经营管理体制、人才构成等各个方面。基本面在长线投资方面的运用较多,基本面分析可以有以下步骤:了解该公司,多花时间,弄清楚这家公司的经营状况。以下是一些获得资料的途径:公司网站;财经网站和股票经纪提供的公司年度报告;新闻报道–有关技术革新和其它方面的发展情况;发展潜力、无形资产、实物资产和生产能力;与竞争对手相比,该公司的经营策略、市场 ...
java 正则表达式
前言
正则表达式的基础部分已经学习完毕,接下来是学习java提供的正则表达式的库
库说明
java提供的 java.util.regex 包 主要包含下面三个类:
Pattern类 这个是用来设置正则表达式和对正则表达式进行编译,和得到Matcher类对象
Matcher类 这个是用匹配数据和存放匹配结果的,我们可以通过这个类获得匹配好的数据和修改数据
PatternSyntaxException类 这个看名字就知道是一个异常类,用来表示正则表达式中的语法错误
我们接下来就是学习这两个类
Pattern类
这个类的构造方法是私有的,我们不能通过new的方法来创建对象,只能通过它提供的静态方法compile来创建对象
1Pattern compile = Pattern.compile("hello"); // 基本匹配
我们发现这和标准的正则表达式 / pattern /flag 有些区别,它的匹配模式和标志符不在同一个字符串中, 我们需要使用传递参数的方式去给定标志符
以下是一些常见的 Pattern 标志:
CASE_INSENSITIVE:不区分大小写 ...