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)

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

      解释的过程需要解释器

      优点:开发效率高

      缺点:执行效率低

 

  学习难度:

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

  执行效率:

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

  开发效率:

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

 

 

     

posted @ 2019-06-28 17:32  Bitten  阅读(520)  评论(0编辑  收藏  举报