《了解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 安装并启动 ...
随机推荐
- PostgreSql11.5源码安装
参考:https://yq.aliyun.com/articles/675687/ 1.先下载postgresql11.5的源码包:https://www.postgresql.org/ftp/sou ...
- TCP粘包和拆包的定义,产生的原因以及解决方案
TCP粘包:指发送方发送的若干数据包在接收方接收时粘成一团,从接收缓冲区看,后一包数据的头紧接着前一包数据的尾 产生的原因: 1.发送方的原因:TCP默认使用Nagle算法,而Nagle算法主要做两件 ...
- Springboot采用hibernate-validate验证请求参数
在springboot项目使用hibernate-validate对请求参数添加注解进行校验 常用注解 @Null,标注的属性值必须为空 @NotNull,标注的属性值不能为空 @AssertTrue ...
- [转帖]Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典?
Windows 7寿终正寝 为何Windows 10屡被吐槽它却无比经典? https://www.cnbeta.com/articles/tech/908897.htm 是的,一代经典操作系统Win ...
- promethus监控nginx
一.摘要 promethues监控nginx可选两个exporter,通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,p ...
- appium 环境准备
一.环境准备 1.相关依赖环境 当前的环境是Windows 10版本 64位系统(32位的自己想办法吧) 1.jdk1.6.0 (64位) --最好1.6以上版本 2 ...
- WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null
原文:WPF 的 Application.Current.Dispatcher 中,Dispatcher 属性一定不会为 null 在 WPF 程序中,可能会存在 Application.Curren ...
- PreparedStatement和批处理
1.概述 PreparedStatement 接口继承了 Statement,并与之在两方面有所不同,它表示预编译的 SQL 语句对象. 首先,数据库会对预编译语句提供性能优化.因为预编译语句有可能被 ...
- console.log()、console.info()、console.debug()的区别
onsole.log().console.info().console.debug()的作用都是在浏览器控制台打印信息的. 使用最多的是console.log().console.info()和con ...
- mongoose 警告信息 { useNewUrlParser: true } { useUnifiedTopology: true }
问题: 解决: