编程语言的发展史:

  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. linux线程间同步方式总结梳理

    线程间一般无需特别的手段进行通信,由于线程间能够共享数据结构,也就是一个全局变量能够被两个线程同时使用.只是要注意的是线程间须要做好同步! 使用多线程的理由: 1. 一个是和进程相比,它是一种非常&q ...

  2. LeetCode 235. 二叉搜索树的最近公共祖先 32

    235. 二叉搜索树的最近公共祖先 235. Lowest Common Ancestor of a Binary Search Tree 题目描述 给定一个二叉搜索树,找到该树中两个指定节点的最近公 ...

  3. easyui_datagrid实现导出Excel

    easyui_datagrid实现导出Excel 一.PHPExcel使用方法 先下载PHPExcel类库文件,并引入. 二.利用AJAX实现datagrid导出Excel 原理:前台通过AJAX调用 ...

  4. 46 容器(五)——Vector,线程安全版的ArrayList

    在List中,最常用的三个List为: ArrayList 频繁查询时推荐使用 LinkedList 频繁增删时推荐使用 Vector 线程安全时推荐使用 Vector的底层跟ArrayList相差无 ...

  5. 【LEETCODE】51、数组分类,简单级别,题目:581,830,1010,665

    package y2019.Algorithm.array; /** * @ClassName FindUnsortedSubarray * @Description TODO 581. Shorte ...

  6. linux 系统扩容 VMware Centos---VMware ESXi

    用到的命令 df  fdisk  pvcreate   pvdisplay    vgdisplay    vgextend    lvdisplay    lvextend  resize2fs 0 ...

  7. Window 服务器安装MongoDB 设置外网可访问

    1.下载MongoDB www.mongodb.com/download-center#community 2.下一步下一步安装. 安装完成后配置环境变量 我的的默认安装,环境变量地址  C:\Pro ...

  8. angularjs 中的路由 与 bootstrap标签选项卡的冲突 解决方案

    当项目中使用了angularjs 的路由,则所有 像a标签的href 的链接都会走路由,实现页面跳转,那么有些地方需要使用选项卡,就会带来麻烦. 路由使用如下图: 某页面需要使用bootstrap的选 ...

  9. ADO.NET 八(一个例子)

    可视化方式绑定 DataGridView 控件(写的不详细,结合上一篇) 使用可视化数据绑定方式可以快速完成将数据表中的数据显示在 DataGridView 控件中的操作,并可以很容易地对绑定列的属性 ...

  10. springboot中常用的依赖

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...