一、计算机简介
冯.诺依曼
计算机的组成部分:输入设备,输出设备,存储器,运算器,控制器
电脑的配置:键盘,鼠标,显示器,机箱,音响等
键盘鼠标:输入设备【向电脑输入信息和数据】
显示器:输出设备【将信息显示给用户】
输入输出设备只是为了用户和机箱之间进行数据的交互
机箱:主板【连接其他所有设备,是其他设备的载体】,cpu,内存,显卡,硬盘
cpu:中央处理单元【Central Processing Unit】,处理器,是计算机的运算核心和控制核心,cpu相当于是人体大脑
内存:负责硬盘等硬件设备上的数据和cpu之间进行交互,缓存系统中的临时数据【这些数据在计算机关闭之后会丢失】
硬盘:存储资料和软件,特点:数据永久存储,容量大,被称为数据仓库
显卡:负责显示屏上的一切信息
二、软件开发的常识
1.什么是软件
一系列由特定数据或者指令组织起来
常用的软件:
系统软件:windows mac os Linux等
作用:控制计算机中所有其他软件的运行,管理计算机中的数据资源,计算机硬件和用户之间进行数据交互的桥梁
应用软件:qq,播放器,浏览器等
2.什么是开发
制作软件的过程
软件的出现实现了人机交互
人机交互的方式:
图形化界面:
命令行方式:在控制台输入相应的指令,让计算机根据指令完成某些操作
3.DOS命令行
DOS命令:指的是DOS操作系统的命令,是一种面向磁盘的操作命令,主要包括目录【文件夹】操作类命令,磁盘操作类命令,文件操作和其他命令【进程等】
终端
切换路径[change directory] cd 路径:进入指定目录 cd.. :退回到上一级目录 cd..\.. :向上退回两级目录 cd/ :退回到根目录 查看当前目录下的内容 dir:列出当前路径下所有的文件以及文件夹 路径的分类【掌握】: 绝对路径:带有盘符的路径【c,d,e,f...】 相对路径:没有盘符,但是相对于当前路径的路径
目录【文件夹】 md 路径 :创建目录 rd 路径 :删除指定目录,注意:目录必须是空的 rd /s 路径:删除指定目录,不管目录是否为空,会提示是否删除,输入y才会删除【交互式删除】 rd /s /q 路径:强制性删除
文件 cd>路径 :创建一个文件,注意:文件中会有内容,是当前的路径 type nul>路径:创建空文件 copy nul>路径:创建一个文件,注意:文件中会有内容,是 已复制一个文件 echo 文件内容>路径:创建一个非空文件,文件中的内容可以自定义 del 路径:删除指定文件 del /p 路径:交互式删除文件
拷贝和移动 copy 源路径 目标路径:ctrl+c ctrl+v move 源路径 目标路径: 异名拷贝 同名拷贝
ren 旧名称 新名称:更改文件或者文件夹的名称【rename】 cls :清除屏幕 盘符: 切换盘符 exit :退出
三、Python概述
1.编程语言
常见的编程语言:c c++ java Python oc swift javascript等
语言的语法规则
2.Python简介
Python是由 一个荷兰人发明的,第一个公开的版本发行1991年
发展史:
1999年:支持网站开发
2000年:2.0产生,构成了现在Python语言框架的基础
2004年:2.4产生,诞生了Python的文本框架Django
2008.10:2.6
2.6.1 2.6.2.。。。2.7【2.x版本的最终版本】
2008.12:3.0【之前的版本有很多重复的内容,就做了版本升级,但是3.0版本和之前的2.x版本不兼容】
最新的版本:3.7
2.x是遗产,3.x是现在和未来的语言
特点【面试题】:
a.解释性语言【开发过程中没有了编译环节】
b.面向对象语言【类,对象,面向对象语言的三大特性:封装,继承,多态】
c.交互式语言【可以直接在终端运行】
d.动态数据类型的语言或者弱类型语言【变量的数据类型在程序运行之前不确定】
注意:和Java对比,是强类型语言
e.跨平台的语言【Python程序可以运行在windows上,Linux上,mac os上】
优缺点
优点:
a.易于学习和阅读
b.易于维护
c.一个广泛的标准库【提供了工具】
d.可移植性
e.数据库【Python可以和多种数据库进行交互,比如:mysql,MongoDB,Redis】
f.GUI界面【支持图形化界面】
g.可嵌入式【可以将Python程序嵌入到C或者C++中】
缺点:
a.运行速度慢【和c比较,工作原理:因为Python是解释性语言,代码在执行的时候会一步一步的翻译成cpu能够识别的机器码,这个翻译非常耗时】
b.代码不能加密【如果要发布Python程序,实际上发布的是源码,凡是解释性的语言,则必须将源码发布出去】
YouTube、Facebook、知乎、春雨医生
Python擅长的领域:
web开发【网站,电子商城等】
CRM【客户关系管理,OA系统】
爬虫【获取数据】
数据分析【大数据】
数据挖掘/人工智能:算法
四、数据的存储
了解计算机底层是如何工作的
1.思考问题
a.为什么使用计算机
存储数据,处理数据
b.数据存储在计算的什么位置
内存,硬盘
c.计算机在内存中是如何存储数据的
数字
2.内存
内存【Memory】也被称为内存储器,作用是暂时存放cpu中的运算数据,以及与硬盘的外接设备进行交互
抽象理解:
开关原理【打开和关闭】,0和1
字节 位
3.单位
计算机中表示数据的最小单位:比特【bit—b】,又被称为位
计算中处理数据的最小单位:字节【Byte—B】
1B = 8b
B KB MB GB TB PB EB …DB
1KB = 1024B
1MB = 1024KB
结论:计算机的内存中以二进制的形式存储数据,生活中使用的是十进制
4.进制转换
4.1什么是进制
进制就是进位制,是被规定好的一种进位的方法,例如:十进制:逢十进一,二进制:逢二进一
常见的进制:二进制【0和1】,十进制【09】,八进制【07,用数字0开头】,十六进制【八进制和十六进制是通过二进制演变来的,09和af或者A~F,用0x或者0X开头】
例如:6—》十进制
06-----》八进制
0x6----》十六进制
4.2进制的特点
a.每种进制都有特定的字符集
b.每种进制采用的是位置表示法,位置不同,表示的值不同,值的不同取决于权的不同
例如:注意:括号代表次方
145----》100----》10(2)
781—》1—》10(0)
615----》10----》10(1)
c.二进制的计算
0+0=0
1+0 =1
0+1=1
1+1=10
11+1=100
4.3进制的转换
1》十进制----》二进制
转换原理:对于整数:对十进制数进行除2运算,直到商为0为止,然后将各个步骤中得到的余数倒着写出来
对于小数:整数部分同上,小数部分乘以2,获取结果的整数部分,直到整数部分为1为止
0 1 2 3 4 5 6 7 8 9 10
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010
2》二进制----》十进制
转换原理:把二进制按权展开,相加就可以得到对应的十进制
365----》3x10(2) + 6x10(1) + 5x10(0)
110-----》1x2(2) + 1x2(1) +0x2(0) = 6
1001 0110-----》1x2(7) + 1x2(4) +1x2(2) + 1x2(1) = 150
3》二进制-----》八进制
转换原理:将二进制从右向左进行分组,每三位为一组,不足时补0,将每组的二进制转换为十进制
例如:
1001 0110------》010 010 110------》2 2 6----》0226
1010001-----》001 010 001-----》1 2 1-----》0121
4》二进制----》十六进制
转换原理:将二进制从右向左进行分组,每四位为一组,不足时补0,将每组的二进制转换为十进制
例如:
1001 0110-----》9 6-----》0x96
1010001------>0101 0001----->5 1---->0x51
1011 1110-------》11 14-----》b e---->0xbe
111011----->0011 1011----->3 11----->0x3b
5》十进制-----》八进制或者十六进制
转换原理:
方式一:将十进制转换为二进制,然后再将二进制转换为八进制或者十六进制
方式二:将十进制除2运算,将余数倒着写出来
6》八进制或者十六 进制----》十进制
转换原理:把八进制或者十六进制按照权展开,相加
4.4原码反码补码
1》为什么会有源码反码补码
数据是有正负之分的【主要针对的是负数】
2》原码反码补码的表示形式
原码:该数的二进制表示形式,高位表示符号位,0表示正数,1表示负数
例如:0000 0110【6的原码】 1000 0110【-6的原码】
反码:将原码除了符号位之外其他位取反【0—》1 1—》0】
例如:0000 0110【6的反码】 1111 1001【-6的反码】
补码:将反码加1【0000 0001】
例如:0000 0110【6的补码】 1111 1010【-6的补码】
【注意:原码反码补码针对的是负数,正数的原码反码补码都是同一个,是该数的二进制表示形式】
【面试题:计算机底层存储数据的时候存储的是原码,反码还是补码?】
10+(-10) = 0
验证:以8位为例
原码: 0000 1010 1000 1010 --------------- 1001 0100 反码: 0000 1010 1111 0101 ---------- 1111 1111 0000 0001-----》1000 0001-----》1111 1110----》1111 1111 补码: 0000 1010 1111 0110 ---------- 0000 0000 -----》1表示溢出 结论:计算机底层存储数据采用的是二进制的补码 注意:1000 1010----》2(7) + 2(3) + 2(1) = 138,如果在计算机底层出现1000 1010,只能代表的是138的原码反码补码,不可能是-10的原码 -2 + (-3) = -5 补码 + 补码 = 补码【计算机识别】 -------》原码【给用户识别】
4.5编码
思考问题:如果存储数字,可以转换为二进制存储,但是,如果存储文本,图片,音视频等,如何存储?
编码【将文本,图片等转换为和数字相关的一系列的映射表】
比如:
a------>1
b------->2
aaa----->111
ASCII码:0----》48 a------->97 A----->65
unicode,utf-8,gbk
五、开发前的准备工作
1.安装Python开发环境
2.安装编码的软件
六、第一个Python程序
Python程序从上往下依次执行,应该一条语句占一行
七、编码规范
a.行长度:一行代码中的字符不超过80个字符【436he&&%%】
b.括号:宁缺毋滥的使用括号【注意使用场景】
c.缩进:所有的代码块都是通过缩进区分,不能任意的使用缩进
d.语句:每条语句尽量占一行
八、注释
注释:在编写程序时,程序员给代码做的一些提示性的文字
特点:能提高代码的可读性,不会对程序产生任何的影响【是解释性文本,在运行程序的过程中,会被程序自动跳过,不做任何处理】
1》单行注释:#xxxxxxx
2》多行注释【块注释】
a.三个单引号括起来
b.三个双引号括起来
代码演示:
print("hello world") print("fhshg") print(10) print(True) #1文本在代码中只能有两种体现方式:要么字符串,要么是注释 print("中文") """ 2 可以书写多行注释:可以任意的换行 """ ''' 3 也可以书写多行注释 ''' print("jfhjgh") #问题:注释之间能不能嵌套? #多行注释中可以嵌套单行注释 """ # """ ''' # ''' #双引号的多行注释中可以嵌套单引号的多行注释 """ ''' ''' """
九、关键字和标识符
1.关键字
在Python语言中,已经被赋予了特殊含义的英文单词
举例:True,False,and or abs【函数名】 break continue return finally import from等
2.标识符
在Python语言中,程序员自定义的一些字符名称
定义合法标识符的规则【如果不遵守,代码报错】
a.只能由数字,字母和下划线组成
b.不能是除了下划线之外的其他特殊符号
c.开头不能是数字或者空格
d.不能是Python的关键字
e.严格区分大小写
定义标识符的规范【为了代码的美观,但是不遵守不会报错】
a.尽量做到见名知意【为了提高代码的可读性和可维护性】
b.命名方式:
方式一:Python官方的建议:所有的单词全小写,不同的单词之间使用下划线相连
例如:student_score
方式二:驼峰命名法【大驼峰和小驼峰】:不同单词之间使用首字母大写进行区分
例如:studentScore StudentScore
.练习:
4abc
xiaoming
xiao_ming
@java
作用:主要用于给变量,函数,类进行命名,方便区分