——编程语言的发展史

  • 机器语言

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

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

    • 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. CPU的物理数、核心数、线程数

    最近了解下CPU的参数,主要是对常见的CPU参数指标:物理数.核心数以及线程数做了下了解.增长了点自己的见识,方便自己回忆和分享,记录下来.参考了网上的一些说明并加以整理,形成该随笔.主要参考链接如下 ...

  2. 学习VBA

    学习VBA VBA 就是 (Visual basic for Application) 用的比较多的是在Excel中处理数据,可以方便快捷地使用编程方式来对数据进行操作. VBA 数据类型 Integ ...

  3. 数据库系统概论——SQL

    [toc] 一.SQL查询语言概览 视图 从一个或几个基本表导出的表 数据库中只存放视图的定义而不存放视图对应的数据 视图是一个虚表 用户可以在视图上再定义视图 基本表 本身独立存在的表 SQL中一个 ...

  4. SpringBootSecurity学习(16)前后端分离版之 OAuth2.0 加密配置

    示例代码的改进 前面使用spring cloud security和spring cloud oauth2写了一个第三方授权的例子,例子非常的简单,主要目的是用来熟悉OAuth2.0 申请授权的整个流 ...

  5. postgresql从库搭建--逻辑复制

    1 物理复制及逻辑复制对比 前文做了PostgreSQL物理复制的部署,其有如下主要优点 物理层面完全一致,是主要的复制方式,其类似于Oracle的DG 延迟低,事务执行过程中产生REDO recor ...

  6. 队列 & 栈---概述

    队列 是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表.进行插入操作的端称为队尾,进行删除操作 ...

  7. .NetCore WebApi —— Swagger版本控制

    目录: .NetCore WebApi——Swagger简单配置 .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger) .NetCore WebApi —— Swagge ...

  8. UWP开发入门(二十四)—— Win10风格的打印对话框

    虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列.最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒. 之前的打印对话框差不多长成这样: ...

  9. 算法学习之剑指offer(八)

    题目一 题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没 ...

  10. jQuery v1.10.2如何判断checkbox(复选框)是否被选中

    做项目时,我们经常会用到jquery来做一些判断,今天自己遇上判断复选框是否选中,然后搜索查看,发现现在网上的都是错误的,下面罗列错误的: 1.$("#id").attr(&quo ...