zoukankan      html  css  js  c++  java
  • python简介

    正如前一篇随笔所提到的,python属于解释型语言

    python语言有两个特点:

      1.胶水语言(历史遗留问题,原来Perl语言作为Unix内置标准件,获得极大追捧,作为竞争者的python一开始是作为小三,与shell语言以及Perl语言和谐共处来融入Linux家族,所以被称为胶水语言。但随着Unix的闭源,Perl热度消减,于是python开始“穿Perl的衣服”,最后登堂入室,获得了比Perl更高的市场占有率)

      2.调包侠(写python程序,面对需求时,很多时候的第一反应是去找是否有已经实现该功能的包可供调用)

    python解释器的版本问题:

      python2.X版本

      python3.X版本

    因为python3.X版本并不能向下兼容python2.X版本的语言,比如python2中的input要求用户必须输入一个明确的数据类型,输入什么类型就存成什么类型。而python2中的raw_input与python3中的input一样会将用户输入的任何内容都存成字符串类型。

    而目前来说以python2.X版本编写的程序还有很多正在运营中,最好保留两个版本的python解释器。

    环境变量控制

      环境变量即系统查找文件的路径配置,在Win10中按照下图来配置路径,即可在powershell或者cmd命令行中输入python.exe来启动解释器,从而在cmd命令行中编写并运行python程序。

      ps:若想在powershell或者cmd中分开启动python2和python3可以使用以下方式:

        以python3.6为例,可以在其安装目录下,将python.exe拷贝一份在该目录下,并将其改名为python3.exe(之所以不能直接修改是因为原执行文件还需要和其他文件交互),并且别忘了像上图一样将该目录添加进环境变量。

      pps:关于pip.exe

        pip.exe是管理包用的,想要在powershell或者cmd分别对python2以及python3的pip进行管理,就要分别将他们的pip.exe所在文件夹添加进环境变量的path中去,需要注意的是,一般来说该路径下会有三个关于pip的执行文件,以python3.6为例,该目录下分别有“pip.exe;pip3.exe;pip3.6.exe”,所以应该在命令行中输入pip2或pip3来分别执行两个版本的pip文件。

      当你需要下载包时,原来是连接国外数据库

      但你也可以选择连接国内,比如:清华源的镜像

      以下是使用方法:

      

      在这个里面+号添加清华源的网址就可以了

    https://pypi.tuna.tsinghua.edu.cn/simple

        关于Mac版本

          首先,Mac中自带python2.7版本,在安装其他版本时,按照默认流程安装,即可自动配好环境变量

          在“终端”输入python(默认状态下)或者python2.7即可在终端中使用python2.7版本

          

          在“终端”输入python3.6即可在终端中使用python3.6版本

          

        其次,在Mac中后安装的python版本会储存在/Library/Frameworks/Python.framework/Versions/目录下

        而系统自带的2.7版本会安装在/usr/bin/python目录下

        

    python程序

        

    关于变量

    1.什么是变量?

      量:衡量/记录事物的状态/特征

      变:状态/特征是可以变化的

    2.为什么要有变量?

      帮助记录保存事物的某种状态或者特征

    3.变量的定义

      变量必须先定义后调用,变量名不要加引号(加了' '或者" "就变成字符串了)

    4.变量的三要素

      ①.id(): 返回的是一串数字,这串数字即内存地址

      ②.type(): 返回的是该变量对应的数据的类型

      ③.value: 该变量指向的内存当中数据的值

    5.小整数池()

      0-256会以固定的地址信息保存在内存中。257开始,在内存中的地址将发生改变。

      

    >>> a = 257
    >>> b = 257
    >>> id(a)
    2919979319120
    >>> id(b)
    2919979576208
    >>> c = 256
    >>> d = 256
    >>> id(c)
    1642892736
    >>> id(d)
    1642892736

    相对应的,还有常量,即不可变的量

      然而python中没有常量

      通常将全大写的变量名看为常量

    python中的注释

    首先要明确一点:

    python中的注释是写给人看的,可能是给别人看,可能是之后给自己回顾。

      在编写代码过程中要勤加注释,并且注释尽量细致,不要图精简,给日后回顾添麻烦。

      注释的分类:

        1.单行注释

          Mac: Command + ?

      补充:一般在要注释的代码后空两格,打#,然后空一格再写注释  

    # 单行注释

        2.多行注释

          三引号(可以是三个单引号,也可以是三个双引号)

    '''
    m = 70
    n = 80
    z = m
    m = n
    n = z
    print(m,n)
    '''
    """
    m = 70
    n = 80
    z = m
    m = n
    n = z
    print(m,n)
    """

        

    计算机组成基础

    一套完整的计算机系统由以下三部分组成:

      1.应用程序

      2.操作系统

      3.计算机硬件

    ps:

      1.程序员开发的程序都叫应用程序

      2.操作系统也是应用程序,只不过他针对的是计算机硬件

     

    计算机五大组成部分:

      1.控制器:计算机的控制系统

      2.运算器:计算机的运算系统

        逻辑运算:判断失误的对错...

        数学运算:数字运算

       控制器+运算器=计算机中央处理器(CPU)

      3.存储器

        内存:

          基于电工作的,通电数据正常读取,一旦断电数据即刻丢失

          优点:读取速度快

          缺点:断电数据丢失

        外存:

          优点:能够永久保存数据

          缺点:读取速度慢   

      4.输入设备

        键盘,鼠标,触摸屏

      5.输出设备

        显示器,音响,打印机

     

    CPU工作流程

      选取内存中读取内存

      将命令解析翻译成自己能够对应上的操作步骤

      控制硬件执行

     

    编程语言发展史:

      1.机器语言(机器语言即以“0101010”这样的二进制的形式,直接操作硬件。)

        优点:机器能够直接读懂,执行效率高

        缺点:开发效率极低

        举例:

    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++;C#;java;python;go

        1.编译型(就像是使用谷歌翻译)(比如 C语言)

          一次翻译后,就可以拿着结果多次运行

          编译的过程需要编译器

          优点:执行效率高

          缺点:开发效率低

        2.解释型(就比如同声传译)(比如python)

          一行一行的翻译(读一行翻译一行)

          解释的过程需要解释器

          优点:开发效率高

          缺点:执行效率低

      学习难度:

        机器语言>>>汇编语言>>>高级语言

      执行效率:

        机器语言>>>汇编语言>>>高级语言

      开发效率:

        高级语言>>>汇编语言>>>机器语言

         

  • 相关阅读:
    Codeforces Round #544 (Div. 3) F2. Spanning Tree with One Fixed Degree
    2020ICPC·小米 网络选拔赛第二场 I Subsequence Pair
    BJTU 1867. try a try, ac is OK
    Codeforces Round #667 (Div. 3) E. Two Platforms
    Educational Codeforces Round 94 (Rated for Div. 2) D. Zigzags
    Educational Codeforces Round 94 (Rated for Div. 2) B. RPG Protagonist
    Codeforces Round #665 (Div. 2) E. Divide Square
    Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree
    [洛谷] P1801 黑匣子
    面向对象中return和break的区别
  • 原文地址:https://www.cnblogs.com/PowerTips/p/11103949.html
Copyright © 2011-2022 走看看