zoukankan      html  css  js  c++  java
  • 一、python入门

                                                 Python简介
    一.1.什么是编程语言?
    人与计算机之间沟通交流的媒介

    2.什么是编程?
    将人的思维逻辑通过计算机能够读懂的方式写下来

    3.为什么要编程?
    解放人力,让计算机能够按照人的思维逻辑去帮你干活


    一套完整的计算机系统包括以下三部分
    1.应用程序
    2.操作系统
    3.计算机硬件

    计算机硬件五大组成部分
    1.控制器
    2.运算器
    逻辑运算:判断事物对错
    数学运算:加减乘除等数学相关
    控制器+运算器 = 中央处理器(cpu)
    3.存储器
    内存:基于电工作的(电信号只有高低电频 010101010二进制)
    优点:存取速度快
    缺点:断电数据立刻丢失
    外存:(硬盘,u盘,磁带)
    优点:永久保存数据
    缺点:存取速度较于内存慢
    4.输入设备:键盘,鼠标,扫描仪
    5.输出设备:显示器,打印机,音响
    ps:
    输入设备也可以称之为input
    输出设备也可以称之为ouput
    存储器:io设备
    三大核心组件
    1.cpu
    2.内存
    3.硬盘

    cpu
    1.X86架构
    2.32位,64位
    cpu是向下兼容的
    3.cpu工作方式:先去内存中获取用户指令>>>解析翻译成自己对应的操作>>>执行操作

    存储器
    寄存器:cou下一个动作即将要用到的容量比较小的数据
    高速缓存:存放的是经常需要使用到的容量比较小的数据
    内存:是你的存储主力
    磁盘:
    机械硬盘(靠硬盘的旋转磁头在上面读取数据)
    固态硬盘
    磁带:造价便宜,多用于服务器数据的备份


    操作系统
    将复杂丑陋的硬件操作封装成简易快捷的接口
    负责协调,管理,调度计算机各个硬件

    双击一个软件图标
    (告诉操作系统帮你去操作硬件)
    1.该软件对应的数据由硬盘读到内存
    2.cpu去内存中读取该软件对应的数据
    3.给用户的感觉这个软件起来了


    文件的概念



    二.编程语言的发展史
    1.机器语言(直接用二进制跟计算机直接沟通交流,直接操作硬件)
    优点:计算机能够直接读懂,速度快
    缺点:开发效率极低
    ps:站在奴隶的角度说奴隶能够听懂的话
    0000,0000,000000010000 代表 LOAD A, 16
    0000,0001,000000000001 代表 LOAD B, 1
    0001,0001,000000010000 代表 STORE B, 16
    0001,0001,000000000001 代表 STORE B, 1[1]
    2.汇编语言(用简单的英文标签来表示二进制数,直接操作硬件)
    打印一句hello world需要些以下代码
    ; hello.asm
    section .data ; 数据段声明
    msg db "Hello, world!", 0xA ; 要输出的字符串
    len equ $ - msg ; 字串长度
    section .text ; 代码段声明
    global _start ; 指定入口函数
    _start: ; 在屏幕上显示一个字符串
    mov edx, len ; 参数三:字符串长度
    mov ecx, msg ; 参数二:要显示的字符串
    mov ebx, 1 ; 参数一:文件描述符(stdout)
    mov eax, 4 ; 系统调用号(sys_write)
    int 0x80 ; 调用内核功能
    ; 退出程序
    mov ebx, 0 ; 参数一:退出代码
    mov eax, 1 ; 系统调用号(sys_exit)
    int 0x80 ; 调用内核功能
    优点:开发效率高于机器语言
    缺点:执行效率比机器语言低

    3.高级语言(站在人类的角度,说人类的话)
    php,c,c++,java,c#,python,go

    1.编译型(类似于谷歌翻译) c
    一次翻译之后,就可以拿着翻译之后的结果已多次运行
    编译的过程需要用到编译器

    优点:执行效率高
    缺点:开发效率低

    2.解释型(类似于同声传译) python
    一行一行的翻译(读一行翻译一行)
    解释的过程需要用到解释器

    优点:开发效率高
    缺点:执行效率低
    学习难度
    机器语言>>>汇编语言>>>高级语言
    执行效率
    机器语言>>>汇编语言>>>高级语言
    开发效率
    高级语言>>>汇编语言>>>机器语言

    python解释型


    python
    1.胶水语言:Python 适用于网站、桌面应用开发,自动化脚本,复杂计算系统,科学计算,生命支持管理系统,物联网,游戏,机器人,自然语言处理等很多方面。
    2.调包侠:程序员可以快速调用别人的代码,进行修改达到自己目的


    python解释器,环境变量配置,多版本共存


    在IT行业,不要贸然尝试用最新版本的软件!!!!!!!!!!!!!!
    (最新版本一般会有bug,推荐使用后面一些)


    python解释器版本问题
    python2.X版本

    python3.X版本
    主要学3版本,会对比着2,3之间的不同均会设计
    不要下载python3.7的版本,有一些bug
    推荐使用python3.5~3.6


    windows+r弹出小框,然后就进入dos界面,框内输入cmd



    python解释器下载


    环境变量
    系统查找文件的所有路径配置

    如果是window7系统
    D:Python27;C:a/v/v;D:t/y/u/;F:a/a/a;

    多版本共存
    不要直接该原本的python.exe文件
    拷贝一份再起别名

    如果是mac系统
    - vim /etc/profile
    - 输入a,i,o均可
    - PATH = /user/local/python36:$PATH
    Export PATH
    - 按esc后输入wq即可
    建议在安装的时候直接勾选








    三.第一个python程序
    两种运行python程序的方式
    1.交互式
    优点:输入内容立刻就有对应的返回结果
    缺点:无法永久保存数据

    2.命令行(文件的形式)
    优点:可以永久保存数据
    缺点:暂时来看运行该文件有点麻烦

    ps:文件后缀名
    仅仅是给人看的
    你所认为的不同的文件后缀有不同的功能那是程序员自己写的
    py文件默认的后缀名就叫.py结尾


    运行一个py文件需要走的步骤(*****)
    1.将python解释器代码从硬盘读到内存(就等价于双击了word图标)
    2.将你写好的py文件有硬盘读到内存(就等价于你双击了一个word文档)
    3.解释器解释读取py文件中的内容,解释成计算机能够识别的语句
    (如果是一个普通文本文件,仅仅只会将文件内容展示到屏幕上给用户查看,不会检测翻译文件内容)
    ps:python解释器于普通的文本编辑器前面两步是一模一样的,仅仅第三步不一样(一个是解释语法,另一个是文本展示)



    IDE开发编辑器
    pycharm仅仅是一个方便我们开发python程序的工具

    变量
    1.什么是变量?
    量:衡量/记录事物的状态/特征
    变:状态/特征是可以变化的

    2.为什么要有变量?
    帮助你记录保存事物的某种状态或特征

    3.变量的定义


    变量必须先定义后调用(使用),变量名不要加引号

    4.变量的三要素
    1.id():返回的是一串数字,这一串数字你可以直接理解为内存地址
    2.type():返回的是该变量对应的数据的类型
    3.value:该变量指向的内存当中数据的值

    5.小整数池()
    >>> a = 257
    >>> b = 257
    >>> id(a)
    2919979319120
    >>> id(b)
    2919979576208
    >>> c = 256
    >>> d = 256
    >>> id(c)
    1642892736
    >>> id(d)
    1642892736
    整数在程序中的使用非常广泛,python为了优化速度,使用了小整数对象池,是避免整数频繁申请和销毁
    内存空间。

    python对于小整数的定义[-5,257)之间这些整数对象是提前建立好的,不会被垃圾回收机制回收,在一个
    python程序中,所有位于这个范围内的整数使用的都是同一个对象,
    同理,单个字母也是这样
    但是当定义两个相同的字符串时,引用计数为0,触发垃圾回收。
    解释:就是-5-256整数在这之间都是之前建立好的对象,在内存中长期驻存,无论你是否删除,或者多个变量赋值,他的id都是一样

      






    垃圾回收机制
    1.引用计数:内存中的数据如果没有任何的变量名与其有绑定关系,那么会被自动回收
    2.标记清除:当内存快要被某个应用程序占满的时候,会自动触发
    3.分代回收:根据值得存活时间的不同,划为不同的等级,等级越高垃圾回收机制扫描的频率越低

    常量(不可变的量)
    python里面压根没有常量,开发过程中不可随意更改别人常量
    通常将全大写的变量名看作常量(python程序员约定俗成的)



















  • 相关阅读:
    剑指offer的前16题-java版
    JAVA基本数据类型所占字节数是多少?(32位系统)
    二叉树的镜像
    阿里简历问题
    javaSE基础总结
    小心情
    九九乘法表-for循环和while循环
    Python PEP8 编码规范及中文版
    比大小和猜数字
    猜拳游戏
  • 原文地址:https://www.cnblogs.com/wukai66/p/11103329.html
Copyright © 2011-2022 走看看