01计算机基础
什么叫计算器:
计算机即用于计算的机器
为什么需要计算机:
为了取代人力劳动
计算机的组成部分:
控制器
运算器
存储器
输入设备
输入设备
将控制器和运算器封装到 同一块芯片中,位置为中央处理器(cpu),相当于人类的大脑。
存储器相当于人类的记忆:
1.内存,断电丢失,是基于电流工作,速度比外存快
2.外存,可以永久保存,通常会比内存慢,列如硬盘
输入设备,用于接收外部的数据,相当如人的眼睛耳朵
输出设备,用于将数据输出到外部,相当于人的嘴巴可以说话
某些设备既能输入也能输出,简称为IO设备,列如硬盘,既能读入数据到内存,也能把数据输出到硬盘上
简化后的电脑得到三个组成
1.cpu
2.iO设备
3.存储器
计算机的工作流程
1.从硬盘读取程序的数据到内存
2.cpu从内存中取出数据并执行
操作计算机
cpu有各种各样的指令,我们如果要直接操作cpu成本太高,所以就有了操作系统的概念
操作系统
在计算机硬件和应用软件之间
什么是操作系统:
操作系统本质上也是软件
为什么需要操作系统这个软件:
因为直接操作硬件非常的复杂,繁琐,所以需要一种解决方案可以帮我们简化硬件操作
操作系统的使用:
目前绝大多数操作系统都提供了GUI,用鼠标点击啥的就能完成
02使用python开发应用程序
python 是一门编程语言:
语言是两个事物沟通的介质
编程,编写程序,(什么是程序)指的是程序员将自己的思维逻辑按照计算机能够理解的方式写到文件里,最后得到一堆文件,这些文件称之为程序
为什么要编程:
任何人沟通要 使用人类语言,人和计算机沟通要使用编程语言
编程语言的种类:
机器语言
使用的是二进制指令,执行效率高
汇编语言
用英文单词来代替二进制指令,开发效率高于机器语言,执行效率低于机器语言
高级语言
更加贴近人类语言的编程语言
把编程语言先翻译为二进制才能被执行,执行效率低,开发效率高
高级语言可以根据翻译的过程不同而分为两种:
1.编译型(c语言)
一次性翻译全部内容
优点:一次性翻译后可以被多次执行
缺点:翻译过程比较耗时,但是翻译完成后执行效率高,跨平台性低
2.解释器(python,javascript)
边执行变翻译
缺点:执行效率低于编译型
优点:调试效率高,开发效率高,跨平台性高
执行效率:机器语言>汇编语言>高级语言
开发效率:机器语言<汇编语言<高级语言
当前环境下我们对于开发效率的要求会比执行效率高,因为cpu已经性能过剩
解释器执行py代码的方式有两种:
1.交互式,com直接运行python解释器,代码的执行可以立即得到结果,调试速度快,问题是代码不能永久保存
2.调用pyhton解释器时指定要执行的文件(python 文件路径)
03python语法
变量
什么是变量:
会变化的量
量是现实生活中某种事物的状态
为什么需要变量:
计算机的目的是帮助人来完任务
定义变量的语法
name='egon'
内存中发生了什么?
申请内存空间
将变量的值存储到内存中
将内存大致与变量名称进行绑定
定义变量的是三个特征
1.变量名
2.赋值符号
3.变量的值
三个隐藏特性
id 用于反应值在内存中的地址
type 数据类型 ,python会自动根据值来判断其类型
value 值
数据类型
数据是用于描述事物状态的符号
变量就是一种保存数据的方式
在生活中需要给数据分类,同样程序中也需要
int:年龄、年、月、日等级等
a = 10
可以进行数学运行和比较运算
存一个值,不可变的
float:薪资、身高、体重等
a = 1.1
可以进行数学运行和比较运算
存一个值,不可变的
str:姓名、性别、地址等描述性的
name = 'egon #" "、""" """、 ''' '''
msg = "hello my name is 'egon'"
name =‘aa’# name = str('aa')
字符串也是存一个值,不可变
可以用按照索引取出单个字符
print(name[0])
list:同种属性的多个值
li=[1,2,3,4]
# 修改 li[1]=2
# 添加 li.append(-1)
# 删除 li.pop(0) 无参数删最后一个
# 删除 li.remove(-1)
# 删除 deli[0]
# 查找3出现的次数 li.count(3)
# 排序 li.sort () 从小到大li.sort (reverse=True)从大到小
#插入 li.insert(0,-100)
#查看元素索引li.index(-100)
#清空li.clear
# 复制列表 li.copy
对于不可变类型 进行修改 都会返回一个新的地址
对于可变类型 进行修改 都是在原来的内存中进行修改
dict:不同属性的多个值
d={'name':'egon'} key:value key是不可变
#增加 d['age']=18 d.setdefault('sex','man')
如果key已经存在 什么也不做 如果不存在 添加
#删除d.pop('name') d.popitem()随机删除 deld['name']
#修改d['name']='bgon' d.upadte()传入一个字典 key相同则覆盖不同则增加
#查询d['name'] 不存在会报错 d.get('name') 不存在不会报错 返回NO
d.fromkeys([0,1,2,3],None)
set:集合 去重 不能存储可变类型(列如不能存储list) 也是无序
s={1,2,3,4}
t=(1,2,3)
#除了不能修改之外 其他特性与列表完全一致
bool
None(表示空)
注释:
是给程序员看的内容,解释器不会识别它,在一些你觉得模糊的地方加上注释,建议新手把注释加的详细些
单行注释#
多行注释 用三个引号