python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

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

python语言有两个特点:

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

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

python解释器的版本问题:

  python2.X版本

python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

  python3.X版本

python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

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

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

环境变量控制

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

python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

  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文件。

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

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

  以下是使用方法:

  python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

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

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

    关于Mac版本

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

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

      python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

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

      python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

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

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

    

python程序

    python语言特点简介 以及在Windows以及Mac中安装以及配置的注意事项

关于变量

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)

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

      解释的过程需要解释器

      优点:开发效率高

      缺点:执行效率低

  学习难度:

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

  执行效率:

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

  开发效率:

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

     

上一篇:rsync使用ssh指定端口


下一篇:Does the parameter type of the setter match the return type of the getter?