编程语言的发展史:

  1.机器语言  站在计算机角度,直接用二进制跟计算机直接沟通,直接操控硬件

    优点:计算机能够直接读懂,运行速度快

    缺点:开发效率低

  2.汇编语言  站在计算机角度,用简单的英文标签标识二进制,直接操作硬件

    优点:开发效率高于机器语言

    缺点:运行效率低于机器语言

  3.高级语言  站在人的角度 php,c++,c#,python,go

    1.编译型:(类似谷歌翻译)

      整段代码一次性翻译,翻译之后多次运行,编译的过程需要用到编译器    

      一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高;

      与特定平台相关,一般无法移植到其他平台;

      优点:执行效率较解释型高

      缺点:开发效率较解释型低

    2.解释型:(同声传译)python

      代码一行一行翻译

      解释型语言每次运行都需要将源代码解释成机器码并执行,效率较低;

      只要平台提供相应的解释器,就可以运行源代码,所以可以方便源程序移植

      优点:开发效率较编译型高

      缺点:运行效率较编译型低

  ps:学习难度:机器语言>>>汇编语言>>>高级语言

    执行效率:机器语言>>>汇编语言>>>高级语言

    开发效率:高级语言>>>汇编语言>>>机器语言

python崇尚优美,清晰,简单

涉及领域:

  web开发,爬虫,云计算,人工智能,自动化运维,科学运算,游戏开发

下载python解释器>>>设置环境变量(系统查找文件所有路径的配置)

多版本共存要找到安装目录下的python.exe文件,复制一份,命名python2.exe或python3.exe,保留原版

python程序:

  python程序运行的两种方式:

    1.交互式:

      优点:输入内容立刻就有对应的返回值

      缺点:无法永久保存

    2.命令行(文件的形式):

      优点:可以永久保存

      缺点:运行文件较麻烦

  ps:文件的后缀名仅仅只是给人看的。

  运行一个py文件需要走的步骤:

    1.将python解释器代码从硬盘读取到内存

    2将py文件从硬盘读取到内存

    3.解释器解读py文件的内容,解释成计算机能识别的语句

    (如果是普通文件,仅仅只会将内容展示给用户查看,不会检测翻译内容)

IDE开发编辑器:

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

--------------------------------------------------------------------------------------------

注释是代码之母!

变量:

  1.什么是变量:

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

    变:这种状态特征是可以变化的

  2.为什么要有变量:

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

  3.变量的定义:

    变量名:是访问变量的唯一方式

    赋值符号(=):建立变量名与变量值的绑定关系

    变量的值:通过变量名访问

    变量必须先定义再引用,变量名不加引号

  4.变量的三要素:

    1.  id() :返回一串数字,可以看作的变量值的地址

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

    3.  value() :该变量执行内存当中数据的值

name = 'waller'
age = 24
print(name)
print(age)
print(id(name))
print(type(name))
print(id(age))
print(type(age))

输出:
waller
24
2236154225360
<class 'str'>
1958047936
<class 'int'>

变量三要素

  5.变量命名规范:

    1.只能包含数字,字母,下划线

    2.不能以数字开头

    3.关键字不能作为变量名

    4.变量名对值有描述性(见名知意)

    变量名两大流派:

    驼峰体:userName

    下划线体:user_name

  6.常量:

    python内没有常量,通常将全大写的变量名看作常量,python程序员约定俗成的

  7.小整数池:

    内存中已经规划出了固定的空间存放

    

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

小整数池

垃圾回收机制

  1.引用计数:内存中的数据没有任何变量名绑定时,会被回收

  2.标记清除:当内存被某个程序快要占满时,自动触发

  3分代回收:根据值存在时间的不同,划分等级,等级越高,垃圾回收机制扫描的频率越低

    

《了解python》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. 为什么k8s引入pod概念?

    为什么k8s引入pod概念? 1.可管理性 有些容器天生需要紧密关联,以pod为最小单位进行调度 扩展 共享资源 管理生命周期 例如: 一个容器写日志,一个容器读取日志进行相关内容的展示 2.通信和资 ...

  2. 深度学习-LSTM与GRU

    http://www.sohu.com/a/259957763_610300此篇文章绕开了数学公式,对LSTM与GRU采用图文并茂的方式进行说明,尤其是里面的动图,让人一目了然.https://zyb ...

  3. 『Go基础』第5节 第一个Go程序

    本节我们来学习写一个最简单的Go程序: 打印 Hello Go. 第一个Go程序, 只要跟着做, 留下个印象就可以. 用Goland创建一个 hello_go.go 文件(后缀为 .go ). 文件内 ...

  4. c# Path.Combine

    Path.Combine: c#获取当前项目路径 : //获取包含当前执行的代码的程序集的加载文件的完整路径 var appPath = System.IO.Path.GetDirectoryName ...

  5. 后台传带引号(")的数据需要注意

    后台返回给前端的json字符串 [{"\"Name\":\"<span style=\\\"color: red\\\">&qu ...

  6. 编译基于obs-studio的阿里巴巴直播工具tblive的过程和常见问题解决

    tblive 简介 tblive开源项目对应的产品是千牛主播,是一个独立的PC端主播工具,基于开源软件OBS Studio来修改定制. 项目说明 tblive是一款优秀的基于obs-studio的直播 ...

  7. NEST 增删改查

    /// <summary> /// HEAD /employee/employee/1 /// </summary> public void DocumentExists() ...

  8. spring boot 集成mybatis plus 含分页 完整教程

    一.添加依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus ...

  9. .net 调用存储过程

    语言:C# 一.调用带输入参数的存储过程 首先自然是在查询分析器里创建一个存储过程喽~~   如下所示: create proc proc_1 @uid int, @pwd varchar(255) ...

  10. 聊聊 ES6 中的箭头函数

    首先来两点: 当只有一个参数的时候,那么 () 可以省略 当只有一个 return 的时候,那么 {} 可以省略 当函数体内只有一条语句的时候,那么 {} 也可以省略 下面来几个简单的例子来对比 ES ...