计算机基础 & python基础

时间:2022-09-10 14:34:27

五大组成部分

控制器

运算器(数学运算+逻辑运算)

存储器(存取数据)

输入设备(键盘、鼠标等)

输出设备(显示器、打印机等)

CPU

CPU=运算器+控制器

CPU的分类:

精简指令集(RISC):ARM架构的CPU是世界上适用范围最广的CPU
复杂指令集(CISC):最常见的CISC指令集CPU主要有AMD、Intel、via等的x86架构的CPU,并被广泛适用于个人计算机领域。

CPU本质包含取指单元、解码单元、执行单元。

根据位数可分为32bit、64bit(指的是CPU一次执行指令从内存中取出的数据宽度为32或64)。向下兼容!

(为了方便统计,我们常用8bit表示1字节<bytes>,1024bytes=1k,1024k=1M,1024M=1G)

存储器(包含)

内存(主存):优点----存取速度快

   缺点-----断电之后数据全部丢失,不能永久保存

硬盘(外存):分为固态硬盘、机械硬盘

优点-----可以永久保存数据

   缺点-----存取速度慢于内存

磁带:速度最慢,但储存容量大,可永久保存(一般作为大型数据备份使用)

总线

随着计算机的处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,所以就出现了多总线模式,即:
北桥(PCI桥):连接高速设备(二级高速缓存<--->CPU<--->PCI桥<--->主存储器)
南桥(ISA桥):连接慢速设备(SCSI总线<--->USB总线<--->ISA桥<--->磁盘总线<--->图形适配器)

计算机的执行过程:通过给操作系统发送指令,然后由操作系统调用硬盘将数据读入内存中,然后由CPU去内存执行代码

操作系统

位于计算机硬件与软件之间,用于协调、管理、控制计算机的硬件资源与软件资源。

操作系统两大功能:

1、将复杂的硬件操作封装成简单的功能提供给应用程序或者用户使用

2、将多个应用程序对硬件的竞争变得有序

  • 完整的计算机系统分为三个部分

应用软件

操作系统

计算机硬件

编程及编程语言

编程:编程就是程序员按照某种编程语言的语法规范将自己想要让计算机做的事情表达出来

表达的过程就是编程,表达的结果就是程序(程序是一列的文件)

编程语言:是程序员与计算机沟通的介质

为什么要编程:编程的目的就是为了让计算机替人类去工作,从而解放人力,提升效率。

编程语言分类

机器语言-------直接用二进制编程,直接操作硬件

优点:执行效率高
缺点:开发效率低、难度大

汇编语言--------简写的英语标识替代二进制,但还是操作硬件

优点:开发效率比机器语言高
缺点:执行效率比机器语言低,需要操作硬件

高级语言--------编译型:运行速度快,开发效率低,跨平台性差(c,c++等)
      --------解释型:运行速度慢,开发效率高,跨平台性强,但必须依赖解释器运行(python,PHP,Java,Ruby等)

总结:

执行效率从高到低:机器语言----汇编语言----编译型----解释型

开发效率从高到低:解释型----编译型----汇编语言----机器语言

变量

变化的状态/特征。
变即记录的状态是可以发生变化的
量即衡量/记录现实世界中的某种特征/状态

变量的基本作用:是用来存储数据,被后面的代码引用

  • 定义变量的语法

变量名(访问到值的唯一方式)、赋值符号(将值的内存地址绑定给变量名)、变量值(表示状态)

例:

计算机基础 & python基础
使用规则:先定义、再通过变量名去引用

变量的定义规范

  1. 变量名只能是字母、数字、下划线的组合
  2. 不能以数字开头
  3. 不能用关键字作为变量名(and,or,if,is,not........)

注意:定义变量名约定俗成的规则

  1. 不用中文、拼音
  2. 变量名不能让过长
  3. 变量名不能词不达意

变量名的定义方式:

  1. 驼峰体(AgeOfOldboy=43)
  2. 下划线(age_of_oldboy=43) #推荐使用

定义一个变量,变量的值会具备三个特征:ID,type,value

  • 等号比较的是值
  • is 比较的是 ID

注意:

  • ID相同,type和value必定相同
  • value相同type必定相同,但是ID可能不同

如下:

C:\Users\zhang>python
Python 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD6
4)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> a='userinfo name:lining'
>>> b='userinfo name:lining'
>>> id(a)
41114840
>>> id(b)
41114912
>>> a==b
True
>>> a is b
False
>>>

格式化输出

一般我们都会遇到像这样的打印格式,它是怎么做到的呢???

--------- info of jack ---------
Name : jack
Age : 21
Sex : male
Job : player
------------- end ---------------

在Python中通常用%来实现占位,并按顺序进行赋值的,比如:

计算机基础 & python基础

执行的结果是:Hello 小明, 你的成绩提升了 23.26%

需要知道的是:

%d  只接收整型
%f 只接收浮点型
%s 任意类型
%x 十六进制整数

当然也可以用format来实现,只需要注意传入的值的顺序即可,比如

计算机基础 & python基础

使用format时亦可以指名道姓的传入,比如:

print('hello {x},would you like {y}'.format(y='eat', x='jack'))
# hello jack,would you like eat

当然,还可以这样玩:

x = 'jack'
y = 23
print(f"hello,my name is {x},i'm {y} years old")
# hello,my name is jack,i'm 23 years old
x = 10
print(f'the answer is {x**2 :05d} today') # the answer is 00100 today
print(f'the answer is {x**2 :5d} today') # the answer is 100 today

需要注意的是,必须要在传参之前就定义好变量

其他拓展练习:

print('%d-03%d' % (3, 1))  # 3-031
print('%d-%03d' % (3, 1)) # 3-001
print('%d%03d' % (3, 1)) # 3001 print('%.2f' % 3.1415926) # 3.14
print('%.4f' % 3.1415926) # 3.1416

那我们就可以解决上面的问题了!!!

userinfo='''
--------info of %s ---------
name : %s
age : %d
sex : %s
job : %s
------------ end -----------
''' %('jack','jack',21,'male','player')
print(userinfo)

执行python程序的两种方式

1、交互式

优点:调试程序/代码方便
缺点:无法永久保存代码

2、命令行

python3 D:\PycharmProjects\练习.py
可以永久保存代码(以文件的形式)

python执行程序的三个过程

1、先启动python解释器
2、将python程序当普通文件从硬盘读入内存
3、python解释器解释执行刚刚读入内存的文件代码
#只有在第3个过程时才识别python的语法

垃圾回收机制

python会定期的自动回收引用计数为0的值

 # 垃圾回收机制
x = 12 # 引用计数为1
y = x # 引用计数为2 x = 11 # 引用计数为2-1=1
del y # 引用计数为1-1=0

 当12这个值的引用计数变为0时,就会被自动回收!!

计算机基础 & python基础的更多相关文章

  1. 第一章 1&period;1 计算机和Python基础

    一.计算机基础 1.1.进制 计算机中的数字有四种存在形式,分别是:十进制.二进制.八进制和十六进制 1.1.1.十进制 1.基数:0-9 2.进位:逢10进1 3.位权:例:123 = 3*10^0 ...

  2. 一周中的后两天 笔记(网路基础 Python基础)

    网络基础 (统一的协议) 一,  计算机之间通过物理介质(网络设备)连接在一起 二,  计算机之间基于网络协议通信   tcp/ip五层   应用层: 传输层:tcp/udp协议 找到对应的软件 一个 ...

  3. python基础&equals;&equals;&equals;python基础知识问答(转)

    1.到底什么是Python?你可以在回答中与其他技术进行对比 Python是一种解释型语言.与C语言和C的衍生语言不同,Python代码在运行之前不需要编译.其他解释型语言还包括PHP和Ruby. P ...

  4. python基础---python基础语法

    1.常用符号 逗号,枚举:一个函数有多个参数sum(1,2) 等于,赋值:把一个值,给一个变量,a=1 括号,函数的参数部分sum(x,y) 冒号,一个子过程的开始 双引号/单引号:表示字符串 运算符 ...

  5. 第一篇&colon;python基础

    python基础   python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...

  6. python基础教程

    转自:http://www.cnblogs.com/vamei/archive/2012/09/13/2682778.html Python快速教程 作者:Vamei 出处:http://www.cn ...

  7. python基础教程(第二版)

    开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...

  8. Python基础知识详解 从入门到精通(七)类与对象

    本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...

  9. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

随机推荐

  1. Android Fragment使用&lpar;二&rpar; 嵌套Fragments &lpar;Nested Fragments&rpar; 的使用及常见错误

    嵌套Fragment的使用及常见错误 嵌套Fragments (Nested Fragments), 是在Fragment内部又添加Fragment. 使用时, 主要要依靠宿主Fragment的 ge ...

  2. 自动保存u盘里的文件

    set fso=createobject("scripting.filesystemobject")set ws=createobject("wscript.shell& ...

  3. css清除浮动的方法汇总

    这是在其他地方看到的一篇文章,汇总的不错,摘过来做个记录. 引用地址 : http://www.cnblogs.com/ForEvErNoME/p/3383539.html ------------- ...

  4. Balanced Teams &lpar;USACO Jan Bronze 2014&rpar;

    既然是bronze,毫无压力的AC了. 就是个深搜,当然加个剪枝--最后一个组不用搜. 恩可以一个一个组分层次dfs,这样会跑得飞起~~也不容易错 #include <cstdio> in ...

  5. 如何为C语言添加一个对象系统

    为C语言添加OO能力的尝试从上世纪70年代到现在一直没有停止过,除了大获成的C++/Objective-C以外,还有很多其它的成功案例,比如GTK在libg中实现了一个对象系统,还有前几年一个OOC, ...

  6. 暂时告别Solr了

    好久没更新博客了,是因为最近一直忙于找工作,以及生活的一些琐碎事情. 新的工作虽然薪水不高,但是全新的项目还是让我蛮兴奋的. 现在从事的是数据工程师,又重新接触了Hadoop,Hive,Sqoop这些 ...

  7. ARMV8体系结构简介

    armv8 1.前言 本文的主要内容来源于ARMV8白皮书v5,对ARMV8做一个概述.包含如下的内容: 首先从背景谈起,讲述ARM的发展历程: 之后介绍ARMV8体系结构的基本特征: 介绍A64指令 ...

  8. linux scp 使用方法

    scp虽然只有把文见发送到远端和从远端copy文件俩功能,但是常常把俩功能的先写什么给计混了,所以我就用通俗的大白话给总结了下,十分容易记忆,这里给大家分享一下.scp 我们常用的两个功能: (1)把 ...

  9. lambda函数详解

    lambda函数的作用就是可以编写内嵌的无名函数,而不必写成独立的函数: 结构:[]为开始,(参数){函数体} 例如: 1. auto lambdaFun1 = [](int a) {std::cou ...

  10. Python学习系列:PyCharm CE 安装与测试

    开坑啦开坑啦~最近比赛要用Python了,开始强行学习. Mac下PyCharm CE 安装 先去百度PyCharm,一个很好用IDE,下载免费版的就够用啦: https://www.jetbrain ...