zoukankan      html  css  js  c++  java
  • 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

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

     

  • 相关阅读:
    Java程序语言的后门-反射机制
    JAVA设计模式-单例模式(Singleton)线程安全与效率
    JAVA设计模式-动态代理(Proxy)源码分析
    Mybatis源码解析,一步一步从浅入深(七):执行查询
    Mybatis源码解析,一步一步从浅入深(六):映射代理类的获取
    python程序中的进程操作
    进程
    操作系统的发展史
    详尽实用的 PyCharm 教程
    python的socketserver模块实现TCP/UDP并发
  • 原文地址:https://www.cnblogs.com/allwell/p/9938375.html
Copyright © 2011-2022 走看看