《了解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 安装并启动 ...
随机推荐
- 【转帖】从原理到应用,Elasticsearch详解
从原理到应用,Elasticsearch详解 https://segmentfault.com/a/1190000020022504 elasticsearch 2.1k 次阅读 · 读完需要 4 ...
- 基于Hexo搭建自己的博客主页
搭建自己博客分为两类,一种是托管到github上的,以hexo为代表,另一种是需要自己购买服务器,主要使用wordpress框架.有不花钱的效果也很不错,就没必要自己再购买服务器了,下边主要介绍下使用 ...
- SAS学习笔记58 单元格格式化设计
单元格行_row_ 对于行单元格,主要就通过_row_这么一个自动变量的方式,来对单元格所有行进行格式化设计 例如,对性别为“男”的单元格所在行颜色设定为红色: 单元格列_col_ 将_row_改成_ ...
- bat批处理删除多少天前的文件
@echo off ::演示:删除指定路径下指定天数之前(以文件的最后修改日期为准)的文件. ::如果演示结果无误,把del前面的echo去掉,即可实现真正删除. ::本例需要Win2003/Vist ...
- 并发编程之Java锁
一.重入锁 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized(重量级) 和 ReentrantLock(轻量级)等等 ) .这些已经写好提供的锁为我们开发提 ...
- spring的事务传播行为与隔离级别
具体请参考blog:https://bbs.csdn.net/topics/391875990 要明白2个概念: 1.“spring的事务传播属性” 2.“spring的事务隔离级别” 例如正常的sp ...
- JS中回调函数的简单用法
a能拿b,b能拿到c,c能拿到d,实现a拿到d的东西. function a() { b(function (data) { console.log(data); }); } function b(c ...
- ERROR: Cannot uninstall 'chardet'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
pip 安装 docker库报错: ERROR: Cannot uninstall 'chardet'. It is a distutils installed project and thus we ...
- Unity3D如何接入第三方的SDK - iOS篇
来源:http://blog.csdn.net/smlisi2/article/details/8786485 授人以鱼,不如授人以渔”,以UNITY3D调用iOS版的91SDK为例,利用C# / C ...
- 【亲测可行,图片宽度高度自适应】c# Graphics MeasureString精确测量字体宽度
, , ) { int count = number.Length; //需要配置的字段 //Font f = new Font("Microsoft Sans Serif", f ...