——编程语言的发展史

  • 机器语言

    • 优点:执行速度够快
    • 缺点:开发效率非常低
  • 汇编语言

    • 优点:执行效率相较于机器语言略低
    • 缺点:开发效率相较于机器语言略高
  • 高级语言

    • C、C++、C#、java、PHP、python、go都属于高级语言
    • 编译型:C、C++、PHP
    • 解释性:C#、python、java(先编译后解释)
  • 开发效率

    • (解释型 > 编译型)> 汇编语言 > 机器语言
  • 执行效率

    • (解释型 < 编译型)< 汇编语言 < 机器语言
  • 跨平台

    • 解释型 > 编译型

——python解释器

  Python是一门跨平台的脚本语言,Python规定了一个Python语法规则,实现了Python语法的解释程序就成为了Python的解释器

  • 版本

    • python 2.*
    • python 3.*
  • 种类

    • IPython:是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互式上有所增强,但是执行python代码的功能和CPython是完全一样的。
    • Jython:原名JPython;Java语言实现的Python。Jython可以直接调用Java的各种函数库。
    • PyPy:是python开发者为了更好地Hack Python而用Python语言使用的Python解释器。PyPy提供了JIT编译器和沙盒功能,对Python代码进行动态编译,因此运行速度比Cpython还要快
    • IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的python解释器,可以直接将Python代码编译成.Net的字节码
  • 执行代码的两种方式

    • 交互式:cmd命令,编写python代码,即写即执行。缺点:代码易丢失
    • 命令行执行:编写好python文件,cmd命令执行。
    • 注意:python文件的后缀名py没有实际意义,是python程序员约定俗成的文件,表示该文件是python文件,实际上就是文本文件。
  • IDE工具—pycharm

    • 专门用于编写python代码的集成代码工具
    • 优点:提升开发效率
    • 缺点:比较占用内存的资源

——注释—代码之母

  • 单行注释:用【#】表示,快捷键是:Ctrl键 + / 键。取消注释也是Ctrl键 + / 键
# eg:
# 用于获取所有关键字
for i in keyword.kwlist:
print(i)
  • 多行注释:用【'''…'''】或【"""…"""】表示,输入三次单引号或三次双引号(英文键盘下)都可以
'''
eg:
用于获取所有关键字
'''
for i in keyword.kwlist:
print(i)
或者
"""
eg:
用于获取所有关键字
"""
for i in keyword.kwlist:
print(i)

——变量

  • :事物的庄客是可以变化的;:描述事物的状态
  • 变量用于存取事物的变化
  • 变量的使用
    • 变量名 = 变量值
# = 不是数学定义的等于,在这里是指将10赋值给了变量num
num = 10
    • 变量的命名规范

    1. 只能由字母、数字、下划线组成,一定不要使用中文
    2. 不能由数字开头
    3. 区分大小写
    • 变量的命名风格

    1. 驼峰体   eg:UserAge = 18
    2. 下划线体(使用该种方式)      eg:user_age = 18
    • 变量的三大特性

    1. value(值)
    2. id(内存地址)
    3. type(数据类型)  
name = "dawn"
print(name) # value,输出的是name的值
print(id(name)) # id,输出的是name的内存地址
print(type(name)) # type,输出的是name的数据类型 #输出结果
dawn          # value,输出的是name的值
2281405883504     # id,输出的是name的内存地址
<class 'str'>     # type,输出的是name的数据类型

——常量

  • python中是没有常量
  • 根据实际需要,python程序员约定俗成,变量名中所有字母大写的情况下,默认为常量。通常情况,不可更改

——内存管理

  • 小整数池:

    整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。

    Python 对小整数池的定义是 [-5, 256], 这些整数对象是提前建立好的,不会被垃圾回收。

    所有位于[-5, 256]这个范围内的整数使用的都是同一个对象。

>>> a = 256
>>> b=256
>>> print(id(a))
140703921377520
>>> print(id(b))
140703921377520
>>> a = -6
>>> b = -6
>>> print(id(a))
1742149284848
>>> print(id(b))
1742119225520
>>> c = -5
>>> d = -5
>>> print(id(c))
140703921369168
>>> print(id(d))
140703921369168

——垃圾回收机制

  • 引用计数:当内存中的值引用计数为0,垃圾回收机制就会自动清除
  • 标记清除:当应用程序将内存撑满的时候,会自动停止,清除垃圾
  • 分代回收:在历经多次扫描的情况下,都没有被回收的变量,gc机制就会认为,该变量是常用变量,gc对其扫描的频率会降低。

Python基础-语法知识的更多相关文章

  1. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  2. Python 基础语法(三)

    Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...

  3. Python 基础语法(四)

    Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...

  4. Python 基础语法(二)

    Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...

  5. Python 基础语法

    Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...

  6. 吾八哥学Python(四):了解Python基础语法(下)

    咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...

  7. python学习第五讲,python基础语法之函数语法,与Import导入模块.

    目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...

  8. python学习第四讲,python基础语法之判断语句,循环语句

    目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...

  9. Python基础语法(三)

    Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...

随机推荐

  1. Spring Boot 整合视图层技术

    这一节我们主要学习如何整合视图层技术: Jsp Freemarker Thymeleaf 在之前的案例中,我们都是通过 @RestController 来处理请求,所以返回的内容为json对象.那么如 ...

  2. 常用Form表单正则表达式

    前端常用form表单提交,校验正则表达式奉上!/** * 邮箱 * @param {*} s */ export function isEmail (s) { return /^([a-zA-Z0-9 ...

  3. 手动模拟JDK动态代理

    为哪些方法代理? 实现自己动态代理,首先需要关注的点就是,代理对象需要为哪些方法代理? 原生JDK的动态代理的实现是往上抽象出一层接口,让目标对象和代理对象都实现这个接口,怎么把接口的信息告诉jdk原 ...

  4. Spark 学习笔记之 union/intersection/subtract

    union/intersection/subtract: import org.apache.spark.SparkContext import org.apache.spark.rdd.RDD im ...

  5. maven打包工程出现错误 Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test

    今天用maven在命令行打包项目的时候出现错误: Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12. ...

  6. 为你的Mysql排序查询增加一个排序号

    排序号,在需要排序的查询中比较常见,今天再一次遇到这种场景,不常写,所以上手比较生疏,记录一下,或许对更多的人也有用处. 起初在网上进行了一下简单的搜索,但是文章都挺乱,可读性都不太高,经过一番调查, ...

  7. Java课程作业--参数求和

    一.设计思想: 这个程序是利用了参数进行输入,达到一次可以输入多个值的问题,同时输入数的个数没有限制(参数大于0个,如果为0个,应该输出提示请输入参数).本程序共分为步:1.利用参数行进行输入要加的数 ...

  8. Python3 pygal 与 pygal_maps_world 绘制世界地图

    直接代码: import pygalfrom pygal_maps_world.i18n import COUNTRIES def word_country_map(): ""&q ...

  9. ANC主动降噪理论

    根据系统是否有参考信号传感器可将ANC系统大致的分为前馈型和反馈型. 前馈控制是产生次级噪声之前就通过传感器测量初级噪声的频率以获取参考信号. 反馈控制不需要测得参考信号就产生次级噪声进行相消干涉 反 ...

  10. App自动化环境搭建

    1.安装Appium-desktop工具 下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.8.2 2.安装Android环境 ...