《了解python》
编程语言的发展史:
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》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- [转帖]Xshell改字体,改大小,改快捷键方法
Xshell改字体,改大小,改快捷键方法 -- :: Jason Ho 阅读数 62更多 分类专栏: Software 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附 ...
- git stash详解
应用场景: 1 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然 ...
- php将二维数组转换成我想要的一维数组
使用方法array_column($array,b,$arr): 参数说明:$array是我们原始的二维数组,B是我们想要的values,c是key 举个栗子:这是我原来的二维数组 这是我需要的一维数 ...
- Linux 中的 ~/. 表示的意思
在Linux中, ~ 表示用户的目录, 如用户名是Gavin, 那么~/表示 /home/Gavin 所以~/. 表示 用户目录下的隐藏文件. 扩展: 若以用户身份登录 ~ 表示 /home 目录 ...
- 5. RDD编程进阶
5.1 累加器 累加器用来对信息进行聚合,通常在向Spark传递函数时,比如使用map()函数或者用filter()传条件时,可以使用驱动器程序中定义的变量,但是集群中运行的每个任务都会得到这些变量的 ...
- opencv学习笔记D01
目录 opencv学习笔记D01 一.图片读取 二.图片保存 三.图片展示 四.图片缩放 五.四种常用插值方式的比较 1.最近邻插值 2.双线性插值 3.区域插值 4.三次样条插值 我是尾巴: ope ...
- PB Event ID 含义 内容浅析2 未公开的数据窗口事件
原网址:https://www.cnblogs.com/lenya/archive/2010/11/12/3706971.html (作者:Mark Brown) 到目前为止,P ...
- quartz2.3.0(五)制定错过执行任务的misfire策略,用pause,resume模拟job暂停执行和继续执行
感谢兄台: <quartz-misfire 错失.补偿执行> misfire定义 misfire:被错过的执行任务策略 misfire重现——CronTrigger job任务类: pac ...
- bean标签解析与注册
protected void processBeanDefinition(Element ele, BeanDefinitionParserDelegate delegate) { BeanDefin ...
- 1.工厂模式(Factory Method)
注:图片来源于 https://www.cnblogs.com/-saligia-/p/10216752.html 工厂UML图解析: 工厂模式:client用户需要三步: 1.创建工厂: 2.生产产 ...