day01

 

一、计算机简介

冯.诺依曼

计算机的组成部分:输入设备,输出设备,存储器,运算器,控制器

电脑的配置:键盘,鼠标,显示器,机箱,音响等

键盘鼠标:输入设备【向电脑输入信息和数据】

显示器:输出设备【将信息显示给用户】

输入输出设备只是为了用户和机箱之间进行数据的交互

机箱:主板【连接其他所有设备,是其他设备的载体】,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】,十进制【0~9】,八进制【0~7,用数字0开头】,十六进制【八进制和十六进制是通过二进制演变来的,0~9和a~f或者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

作用:主要用于给变量,函数,类进行命名,方便区分

 

原文地址:https://www.cnblogs.com/allwell/p/9938375.html