编程语言的发展史:

  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. ScheduledExecutorService调度线程池运行几次后停止某一个线程

    开发中偶尔会碰到一些轮询需求,比如我碰到的和银行对接,在做完某一个业务后银行没有同步给到结果,这时候就需要查询返回结果,我们的需求是5分钟一次,查询3次,3次过后如果没有结果则T+1等银行的文件,对于 ...

  2. 【LEETCODE】59、数组分类,适中级别,题目:39、48、64

    package y2019.Algorithm.array.medium; import java.util.*; /** * @ProjectName: cutter-point * @Packag ...

  3. SpringCloud之Hystrix集群及集群监控turbine

    目的: Hystrix集群及监控turbine Feign.Hystrix整合之服务熔断服务降级彻底解耦 集群后超时设置 Hystrix集群及监控turbine 新建一个springboot工程mic ...

  4. caurina缓动类

    一.简单的缓动 一个实例名为box的正方体,开始alpha为0.5,在两秒内移动到x:300 y:100的位置,alpha变为1.import caurina.transitions.Tweener; ...

  5. 关于Python中的可变对象与不可变对象的区别(转)

    转自:https://blog.csdn.net/rookinzhang/article/details/80259857 Python中可变对象和不可变对象:https://www.cnblogs. ...

  6. 图解javascript的this指向

    图解javascript的this指向 作者: HerryLo 本文永久有效链接: https://github.com/AttemptWeb...... 以下就只有两张图,请放心食用!! #简版th ...

  7. asp.net core 一个中小型项目实战的起手式——Swagger配置

    交流群:863563315 一.Swagger是什么 Swagger 是一款RESTFUL接口的.基于YAML.JSON语言的文档在线自动生成.代码自动生成的工具. 二.如何在项目中加入Swagger ...

  8. 8 search中的timeout参数

    默认的search,是没有时间限制的.比如,一个search,可能要10分钟才能搜完,那么,es就会等10分钟,直到结果出来.   然而,在某些场景下,客户是等不了10分钟的.比如,电商网站,客户宁可 ...

  9. screen命令下,自启动设置

    建立autostart.sh文件 #!/bin/bash screen_name=$"coffeetest:9100" screen -dmS $screen_name cmd=$ ...

  10. 为什么ELT更适合于企业数据应用?

    为什么ELT更适合于企业数据应用 DataPipeline 陈肃 为什么现在企业环境中,一个ELT的方案会比ETL的方案更有优势,实际上是由企业数据应用特点决定的. 首先在一个企业数据应用里面我们对数 ...