《了解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 安装并启动 ...
随机推荐
- 使用命令进行Apache Kafka操作
1.目标 我们可以在Kafka集群上执行几个Apache Kafka Operations .因此,在本文中,我们将详细讨论所有Apache Kafka操作.它还包括有助于实现这些Kafka操作的命令 ...
- Django框架深入了解_02(DRF之序列化、反序列化)
序列化:将Python对象准换成json格式的字符串,反之即为反序列化 DRF的序列化使用过程: 使用drf的序列化组件 -1 新建一个序列化类继承Serializer -2 在类中写要序列化的字段 ...
- Python进阶:程序界的垃圾分类回收
垃圾回收是 Python 自带的机制,用于自动释放不会再用到的内存空间: 什么是内存泄漏呢? 内存泄漏,并不是说你的内存出现了信息安全问题,被恶意程序利用了,而是指程序本身没有设计好,导致程序未能释放 ...
- 对JAVA工程师绝对有用的Java学习资源清单
学习Java和其他技术的资源其实非常多,但也不是都是好的有用的,我们要取其精华去其糟粕,选择那些最好的,最适合我们的,同时也要由浅入深,先易后难.基于这样的一个标准,我在这里为大家提供一份Java的学 ...
- Go 协程
Go 协程 协程与传统的系统级线程和进程相比,协程的优势在于其"轻量级",可以轻松创建上百万个协程而不会导致系统资源衰竭,所以协程也叫做轻量级线程. 在Go中goroutine就是 ...
- python爬取b站排行榜视频信息
和上一篇相比,差别不是很大 import xlrd#读取excel import xlwt#写入excel import requests import linecache import wordcl ...
- java 正则和连接json
前面已经写了不少关于C# 怎么使用正则,有兴趣,可以翻译成java代码. 以图片为例子: import java.util.regex.Matcher; import java.util.regex. ...
- C# HtmlAgilityPack+Selenium爬取需要拉动滚动条的页面内容
现在大多数网站都是随着滚动条的滑动加载页面内容的,因此单纯获得静态页面的Html是无法获得全部的页面内容的.使用Selenium就可以模拟浏览器拉动滑动条来加载所有页面内容. 前情提要 C#HtmlA ...
- Unity VS2017 调试外部DLL
之前写的C++ DLL VS2012 都可以附加进程的方式调试Unity中的调用 这次用了一个C# DLL VS2017 在Unity 2018上无法附加进程的方式调试 经过一番折腾, 主要是两个问题 ...
- 浮动和渐变色,定位position,元素的层叠顺序
浮动: float 是我们网页布局的一种 浮动 可以有 left 左浮动 right 右浮动 两种 浮动的特点: 脱离正常的文档流,原本的空间不占据,浮动的标签都具有块级标签的一些特点,可以手动设置宽 ...