——编程语言的发展史

  • 机器语言

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

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

    • 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. 04-numpy读取本地数据和索引

    1.numpy读取数据 CSV:Comma-Separated Value,逗号分隔值文件 显示:表格状态 源文件:换行和逗号分隔行列的格式化文本,每一行的数据表示一条记录 由于csv便于展示,读取和 ...

  2. Docker系列(三):将.Net Core Api部署到Kubernetes (K8s)中

    1.新建一个WebApi项目,并添加Dockerfile文件: FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EX ...

  3. Golang:线程 和 协程 的区别

    作者:林冠宏 / 指尖下的幽灵 博客:http://www.cnblogs.com/linguanh/ GitHub : https://github.com/af913337456/ 掘金:http ...

  4. phpexcel来做表格导出(多个工作sheet)及设置单元格格式

    <?php /** * 简单实用Execl */ set_include_path('.'.get_include_path().PATH_SEPARATOR.dirname(__FILE__) ...

  5. 尝鲜 vue3.x 新特性 - CompositionAPI

    0. 基础要求 了解常见的 ES6 新特性 ES6 的导入导出语法 解构赋值 箭头函数 etc... 了解 vue 2.x 的基本使用 组件 常用的指令 生命周期函数 computed.watch.r ...

  6. FFmpeg(一)

    1. FFmpeg分为3个版本:Static.  Shared. Dev 前两个版本可以直接在命令行中使用.包含了三个exe:ffmpeg.exe,ffplay.exe,ffprobe.exe Sta ...

  7. jq方法写选项卡的基本原理以及三种方法

    使用jq写选项卡,告别了繁琐的循环以及命名规范 基本原理: 1.当某一个btn被选中时,将这个btn的背景颜色设为橘色,其余兄弟btn背景颜色设为空(none) 2.如果子div与btn的索引相同,就 ...

  8. 《构建之法》MSF&需求分析

    第七章 MSF MSF基本原则 推动信息共享与沟通 为共同的远景而工作 充分授权和信任 各司其职,对项目共同负责 交付增量的价值 保持敏捷,预期和适应变化 投资质量 学习所有的经验 与顾客合作 MSF ...

  9. e课表项目第二次冲刺周期第九天

    昨天完成了什么? 昨天,我查找了相关的资料,将数据库根据我们的课程信息进行了重新的设计,并将数据能够连上数据库,即在添加课程的界面,可以将添加的课程的信息,存储到数据库中,并且存储到课程表中,并注明是 ...

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

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