python学习day1

今日课程概述

  1.计算机基础

    计算机的组成

    人机交互 

    DOS命令

    计算机存储数据  -- 进制

    计算机运行数据  --  禁止的存储状态

  2.计算机语言

    C   C++  C#  Java  php  Python

    Python介绍

1.计算机基础

  1.计算机的组成

    计算机之父:冯.诺依曼

    计算机是由5部分组成的

      输入设备  输出设备  控制器  存储器  运算器

        输入设备 

          键盘  鼠标    

        输出设备  

          显示器  音响

        机箱

          主要部分  主板  -----  是链接其他设备的一个载体,为CPU

            内存卡 显卡 硬盘提供了存放平台

          CPU --- 相当于人体的大脑, 计算机的中央处理单元, 计算机的运行是由CPU来完成的
          CPU的个数是由电脑核数决定的 --- 我的电脑 --- 右击 管理器 --- 设备管理器 --- 处理器(有几个处理器 就有几个CPU),             也称之为处理器, 是计算机运算和控制的核心
          内存 ---- 计算机的运行内存
            负责的是存储 CPU与硬盘上数据交互产生的临时数据, 程序关闭 数据会被清空的
          硬盘 --- 存放资料和软件的数据设备 特点:容量大 存放数据持久, 称之为数据仓库
          显卡 ---- 显示器呈现画面 跟显卡是有关系的 --- 图片显示效果好 需要有一个好的显卡配置

  2.软件开发

    

      什么叫软件???? --- 一系列按照特定顺序组成计算机的数据与指令
      软件就是通过一系列指令来完成数据的运算与传递 最后形成软件
      软件的分类:
        系统软件和应用软件
      系统软件 --- 操作系统
        windows MacOS Linux
      应用软件:
        微信 QQ

  3.人机交互

  

    软件的出现实现了人与计算机之间更好的交互
    交互分为两种模式:
      图形化界面交互
      交互形式简单 易上手 --- 这种是常用的交互方式
    DOS命令交互
      需要有一个控制台(命令提示符工具) 在控制台上输入计算机识别的指令 进行完成对应的交互

  4.DOS命令

    打开运行  输入cmd 进入(刚打开时显示当前用户所在位置)

    1.打开其他路径

      cd(此方法只能打开文件夹(处于打开文件夹目录下))

        a.要打开的文件夹在同一个盘符下时

          输入  盘符:\(夹杂在中间的路径)\\  例:C:\Users\11143>cd Desktop

          ps:输入文件夹名首字母或前几个字母 可使用Tab键自动寻找补齐文件夹名

        b.不同盘符的情况:

          需先切换盘符--直接输入   盘符:+回车 (切换盘符后可遵循a的做法)

        特殊指令

          cd. -- 表示显示当前目录

          cd.. --表示返回上一级目录

          cd/  --表示直接回到根目录(盘符目录下)

    2.显示当前目录下所有内容:

      直接输入  dir

    3.创建目录

      md 路径    ps(只能创建文件夹)  

    4.删除路径

      rd 路径      ps(只会删除路径最后的子文件夹,且子文件夹下如果再有文件无法删除)

        例  rd c:\11143\Desktop\test\subtest\subtest_1

      rd /s 路径  ps(直接删除子文件,且不论子文件下是否存在文件(会提示是否删除))

    5.打开指定文件

      直接输入文件路径     需要指定文件的所在路径+文件全名  例c:\Users\11143\Desktop>a.txt

    6.创建文件

      echo 内容 > 文件路径       

        echo  是将指定内容输出到指定文件

        >  --- 重定向

          如果文件存在  会清空文件  再将内容输入

        >> -- 重定向  

          如果文件存在  不清空文件  直接将内容拼接到原有内容后

    7.查看文件内容

      type 文件路径   例c:\Users\11143\Desktop>type b.txt

                hello_b

                hello_b

    8.删除文件

      del 文件路径

        del *.文件后缀名(直接删除同后缀名文件)

        del .文件名.*  (删除同名文件)

        del *.*  (删除所有文件,会访问是否删除)

    9.重命名

      ren 原名 新名

    10.拷贝文件   (只能拷贝文件,不能拷贝文件夹)

      copy 源文件路径 新文件路径

    11.移动文件  

      move 源文件路径 新文件路径

    12.清除控制台(清空cmd界面)

      cls

    13.退出cmd

      exit

  5.计算机的数据存储

    计算机的作用 --- 存储数据 --- 运算数据

      计算机存储数据时 并不是直接存储的这个数据, 以数据对应的二进制格式来进行存储的

    进制 :  人们规定的一种进位方式

      十进制 :逢十进一  

      计算机存储数据 --- 采用的是二进制: 逢二进一

    常见的进制:
      十进制
      二进制
      八进制
      十六进制
    每种进制的符号集
      十进制的符号集:表示符号 不写默认数据就表示的是十进制 0d
        0 1 2 3 4 5 6 7 8 9
        逢十进一: 10 =====> 十
      二进制的符号集:表示符号 0b
        0 1
        逢二进一:10 =====> 二
      八进制的符号集: 表示符号 0o
        0 1 2 3 4 5 6 7
        逢八进一:10 ====> 八
      十六进制的符号集: 表示符号0x
        0 1 2 3 4 5 6 7 8 9 a b c d e f
        逢十六进一:10 ====> 十六

    5.1进制中每位数对应的含义

      十进制的数据
        12345 = 1 * 10^4 + 2 * 10^3 + 3 * 10^2 + 4 *10 + 5 * 10^0
        每位上数的含义 ====> 该位上的数 * 进制^(位数-1)
      二进制中的数据
        0b10110 = 0*2^0 + 1*2^1 + 1 * 2^2 + 0 * 2^3 + 1*2^4
        假设二进制上每一位数都是1
        二进制数据从右到左表示的含义:
        意义 == 2^(位数-1)
        0b1111.11
        ===> 展示出来的数据
        2^3 2^2 2^1 2^0. 2^-1 2^-2 2^-3

    5.2  进制转化

      二进制转十进制

        按权展开求和  --->  二进制中每位数的 位数(从右向左数)-1次幂   后求和

         0b 1  0  1  1  

          8 +0+2+1 ===> 0d11

      二进制转八进制  (因为八进制最大数为7   每三位二进制的数可以满足八进制的符号集)

        0b000  0  

        0b001  1

        0b010  2

        0b011  3

        0b100  4

        0b101  5

        0b110  6

        0b111  7

        二进制转化为八进制,从右向左三位三位一次分开,前面不足三位的用0补足,

        每三位按权展开求和,后将每个和拼接在一起。

          例:0b 001   011   011    010

              1  3  3  2  ----->八进制为  0o1332

      二进制转十六进制  (因为八进制最大数为15  每四位二进制的数可以满足八进制的符号集

        0b0001  1

        0b0010  2
        0b0011  3  
        0b0100  4
        0b0101  5
        0b0110  6
        0b0111  7
        0b1000  8
        0b1001  9  
        0b1010  a
        0b1011  b
        0b1100  c
        0b1101  d
        0b1110  e
        0b1111  f

        

        二进制转化为十六进制,从右向左四位四位一次分开,前面不足四位位的用0补足,

        每四位按权展开求和,后将每个和拼接在一起。

          例

            0b0110 1110 1101 0101
              6   e    d     5 -----> 0x6ed5

      十进制转二进制

        采用8421码(将十进制数据减去离其最近的2^n的数据)

          例  

            53(离其最近的为32)2的5次幂存在故第一位为1   

              53 - 32 = 21(离其最近的为16)2的4次幂存在故第二位为1

                21 - 16 = 5(离其最近的为4)2的平方存在故平方位置为1

                  5 - 4 = 1  2的0次幂存在 故最后一位为1

                    不存在的2的次幂位置均为0

          故 53===> 0b110101

            53.625 ===>  0b110101.101

           小数部分:

            方法一:0.625可分为  0.5+0.125  

                0.5为2^-1    0.125为2^-3

                故由于2的-1次幂存在所以小数点后第一位为1

                    由于2的-3次幂存在所以小数点后第三位为1

                 由于2的-2次幂不存在所以小数点后第二位为0

            方法二:小数部分乘以2,如果结果大于1(对应位置就为1),

                如果得数小于1(对应位置就为0),继续乘以2,

                每当有大于1的结果(乘以2 的次数的位置就为1),

                直到为整数为止。(为整数最后一位为1)

                  例:

                    0.625

                      *2
                      -----
                      1.25 ------> 1
                        0.25
                          * 2
                          ----
                        0.5 -----> 0
                         0.5 * 2
                        1.0 ------> 1
                      从上往下取值: .101

      八进制/十六进制转十进制

          按权展开求和

            权  --  八进制的权是8

               十六进制的权是16

             例:0o532 ===>5*8^2 + 3*8^1 + 2*8^0

    6.计算机存储数据内存是如存储的

      计算机运算数据的时候 --- 需要把数据存放于内存中 由CPU进行运算 否则是无法处理数据的
      数据在内存中是如何存储的?????

      内存:
        抽象理解:
          一个开关,两种状态:打开和关闭, 用0和1表示这两中状态.将8个开关存放于一个房间中,这个房间称之为字节,

            一个开关称之为位[一个0或者一个1称为1位bit], 每个房间都有自己的编号. 看做是"地址", 把无数个具有这些

            特征的房间组成摩天大厦 ----> 内存

        内存中的基本数据存储单位 ---- 字节Byte
              1B = 8b
              1KB = 1024B
              1MB = 1024KB
              1GB = 1024MB
              1TB = 1024GB

              PB
              DB

      不同的数据 占用的字节数据是不一样的, 例如 整数 4个字节
        在内存中存放一个整数, 需要开启4个房间存放一个整数 ----> 把4个房间打通了 存放1个整数 -----> 这

          四个房间就相当于是1个房间 ----> 该房间有对应的地址 ---> 通过地址就可以找到数据

      存储方式:
        不同的数据开辟不同的字节空间 在内存中存储数据
        4个字节 --- 32b ====> 32个0或者1组成一个整数

      字节数一确定 ----> 二进制数据的最高位就确定了 ----> 通过这个最高位 可以判定数据的正负
        正数的二进制数最高位是0
      负数二进制数最高位是1
        1000 0000 0000 1111 0000 1111 1111 0000

    

    7.二进数参与运算时的存储形态:       二进制数的形态: 原码(本身的样子) 反码 补码
        正数:
          原码 反码 补码的形态是一致
        负数:
          原码: 在其正数原码的基础上 将最高位置为1
          反码: 在负数原码的基础上 除了最高位 其余为按位取反(0变1 1变0)
          补码: 在负数反码的基础上 加1
        如果想看二进制数表示的十进制数据的话 查看的是二进制数的原码

        数据运算的时候 得保证数据的正确性


        假设数据存储的时候 占8位
        假设数据存储时 是以二进制的原码形式存储的
          12 - 18 ====> 12 + (-18) = -6
          12的原码:
            0000 1100
          -18的原码
            1001 0010

            0000 1100
            1001 0010
             ---------
            1001 1110[原码] ----> 负数-30 [错误的]
            假设以反码形式进行运算
          12 反码 ---> 0000 1100
          -18的反码 ----> 1110 1101

            0000 1100
            1110 1101
               ---------
            1111 1001[反码] ----> 原码:1000 0110 [-6][正确的]

            -12 + 18
            -12的反码: 1111 0011
            18的反码: 0001 0010
              1111 0011
              0001 0010
               ---------
          1[溢出 - 忽略不计] 0000 0101 =====> 5[错误的]
            假设以补码形式运算:

              12 + (-18)
             12补码: 0000 1100
            -18的补码: 1110 1110

              0000 1100
              1110 1110
               ---------
              1111 1010[补码] --->反码: 1111 1001 ----> 原码: 1000 0110 ----> -6[正确的]

              -12 + 18
              -12的补码:1111 0100
              18的补码: 0001 0010
              ----------------------------
              1[溢出] 0000 0110 ----->6[正确的]

              注意:计算机中数据运算时采用的是补码的形态

              (故计算机上的所有计算都是以补码形态计算的)

  

   2.计算机语言

      

计算机语言 ---- 计算机能够识别的语言, 并且可以根据语言的指定 生成对应应用程序
常见的计算机语言:
C   C++ C#   java Objective-C php Python
如果想快速的学习一门语言 --- 需要先了解该语言的语法

学编程 ==== 学语法

当把一门计算机语言的语法学通了 其他的就都通了

2.1Python简介

2.1.1 Python的发展史

Python是由荷兰人"硅叔"Guido van Rossum 于1989年研发, 正式发版的那一年是1991年
Python的底层实现是C语言
1999年支持网站开发 ---- 开始跟java PHP抢饭碗
2000年出现的Python2.0 --- 构成了Python语言框架的基础
2004年出现Python2.4 ---- 同一年 web框架Django出现了
2008年出现了Python2.6
同一年 年底 出现了Python3.0 [刚出现的时候并没有兴起, 与2.x的版本不兼容的 对于3而言2.x很多都失效了]
2010年出现了Python2.7 --- 只是Python2.x到Python3的一个过度

2020年不会再维护Python2.x的版本的

现在学的是Python3
2.1.2 Python语言的特点

Python是一门面向对象, 动态类型的, 解释型计算机语言
Python可以跨平台[平台指的是操作系统 -- 前提需要安装Python的环境]
只要有Python环境 可以在任意平台上执行Python程序
2.1.3Python的优缺点

优点:
1.易于学习[Python 有相对较少的关键字, 结构简单]
2.易于阅读[代码结构比较简单]
3.易于维护[Python源码相对于比较容易维护的]
4.有一个广泛的标准库
5.可嵌入性 [底层是由C实现的, 可以将Python程序嵌入到C或者C++程序中]
6.可扩展性[不远开发新的算法 可以直接使用C或者C++来完成指定的程序]
7.GUI(图形化界面)

缺点:
1.运行速度慢
Python3比Python2慢
解释型语言 与C程序比较 需要向计算机解释一行执行一行
2.代码不能加密
写完程序发布 只能发布源码
2.1.4Python擅长的领域

网站开发 ---- 应聘的岗位称为后台
爬虫 --- 从网站上爬取数据
数据研发 ---- 数学是万能的

     

    2.2Python程序初体验

      2.2.1安装Python环境

      

        点击Add Python to Path ---->
        将Python环境路径添加到 环境变量 Path字段下
        添加到Path字段下的好处: 可以在任意位置进入Python环境[执行python.exe程序]
        在命令提示符下指令的执行情况:
        先在环境变量的path路径下查找是否有该指令对应的路径 如果有就直接执行了
        如果没有 查看命令提示符的当前路径下是否是该指令对应的路径 如果是也就执行了
        如果不是 提示不是内部或者外部命令
        忘记点击 --- 可以自己配置环境变量
      windows7
        环境变量设置时, 使用分号来进行路径分割的 所以添加一个新的路径要先使用分号分割
        %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;C:\Python\Python36\Lib\site-

        packages\django\bin;C:\Python\Python36\;C:\Python\Python36\Scripts\;

      2.2.2Pycharm安装

        http://blog.csdn.net/loyachen/article/details/51004470  Pycharm安装配置

        

        简单的数据类型
          整型 ---- 表示的数据都是整数
          浮点型 --- 表示的数据都是小数
          布尔类型 --- 数据只有两个True False
          字符串类型 ---- 标识 成对的引号[不区分单双引号]
          使用引号包含的单个或者多个符号
          此时输出的数据不是数值类型的 也不是布尔类型的 需要使用引号包含 借助print输出

        注释:
          以后写代码 除了数据可以写汉字 其他全是英文状态下的
          Python提供的方法等也都是英文 ---
          注释 --- 不是代码 不可以被执行
          只是用自己语言解释代码的含义 便于理解记住

        两种情况:
          单行注释 --- 仅对一行有效 换行则失效
          格式: #注释内容
          多行注释:三对引号
          '''注释内容 '''
          或者
          """注释内容"""

      print的使用

        Python3中print是一种方法

          print(数据)

          help(功能)  ---   查看指定功能的详细摘要(等同于键盘上的蔡徐坤键+鼠标左键点击关键字)

      print是一种输出方法  输出指定内容

        print("hello Python world")

      help(print)

        print(values, sep=' ', end='\n', file=sys.stdout, flush=False)

          values  ---  表示要输出的内容

            可以输出多个数据,每个数据使用逗号隔开

        等于号是赋值的意思

          sep  ---  输出内容的分隔符  默认是空格(例  print(12,,3,2,1)输出为  12  3  2  1)

            可重新赋值(例print(1,2,3,sep="+")输出为1+2+3)

          \n表示的是换行

          end  --  表示输出内容的结束符  默认是换行(只对下一行的结束符命令有效  不能永久修改)

        

              输出多个数据
              print(10, True, "hello")

              重新设置输出内容之间分隔符
              print(99, 88, 77, sep="*")

              \n表示的是换行
              print("hello world")
              print("hello\nworld")

              修改输出内容的结束符
              print(37, 28, 51, end="------")
              print(99, 28, 71) ------------->(这一行输出后与上一行平行以“------”链接)
              print(100)------------>(这一行输出后会自动换行)

        将数据输出到指定文件

          1.在程序中打开文件 向文件中写入数据

            如果只写一个文件路径的名字 表示这个文件与当前文件同一个目录

            w ---  表示向文件中写入内容 如果文件不存在会创建文件 如果文件存在会清空文件

            a --- 表示向文件中写入内容 如果文件不存在会创建文件 如果文件存在会不清空文件  内容追加形式加入

            r --- read 在文件中读取内容

            handle = open("print.txt", "w", encoding="utf-8")     这个方法会返回一个操作文件的手柄 需要获取这个手柄

            print("睡觉的站起来", file=handle, flush=True)

posted @ 2019-08-21 09:01  QQ_Q  阅读(198)  评论(0)    收藏  举报