Python基础-语法知识
——编程语言的发展史
机器语言
- 优点:执行速度够快
- 缺点:开发效率非常低
汇编语言
- 优点:执行效率相较于机器语言略低
- 缺点:开发效率相较于机器语言略高
高级语言
- 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
变量的命名规范
- 只能由字母、数字、下划线组成,一定不要使用中文
- 不能由数字开头
- 区分大小写
变量的命名风格
- 驼峰体 eg:UserAge = 18
- 下划线体(使用该种方式) eg:user_age = 18
变量的三大特性
- value(值)
- id(内存地址)
- 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基础-语法知识的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python 基础语法(三)
Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)------------------------- ...
- Python 基础语法(四)
Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)------------------------- ...
- Python 基础语法(二)
Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) ------------------------ ...
- Python 基础语法
Python 基础语法 Python语言与Perl,C和Java等语言有许多相似之处.但是,也存在一些差异. 第一个Python程序 E:\Python>python Python 3.3.5 ...
- 吾八哥学Python(四):了解Python基础语法(下)
咱们接着上篇的语法学习,继续了解学习Python基础语法. 数据类型大体上把Python中的数据类型分为如下几类:Number(数字),String(字符串).List(列表).Dictionary( ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- Python基础语法(三)
Python基础语法(三) 1. 数值型数据结构 1.1 要点 在之前的博客也有提到,数值型数据结构在这里就不过多介绍了.在这里提及一些需要知道的知识点. int.float.complex.bool ...
随机推荐
- 设计模式的七大原则(Java)
一.OOP三大基本特性 OOP 面向对象程序设计(Object Oriented Programming)作为一种新方法,其本质是以建立模型体现出来的抽象思维过程和面向对象的方法.模型是用来反映现实世 ...
- K8s运行dashboard命令启动报错:"no endpoints available for service \"kubernetes-dashboard\""
今天启动k8s dashboard的时候报错:"no endpoints available for service \"kubernetes-dashboard\"&q ...
- 【Linux】Linux中的0644 和 0755的权限
Linux 系统中采用三位十进制数表示权限,如0755, 0644ABCD A- 0, 表示十进制B-用户C-组用户D-其他用户 利用 ls -l可以查看文件的权限 --- -> 0 (n ...
- 【php中的curl】php中curl的详细解说
本文我来给大家详细介绍下cURL的简单的使用方法,下文我将会给大家详细介绍cURL的高级应用, cURL可以使用URL的语法模拟浏览器来传输数据, FTP, FTPS, HTTP, HTTPS, GO ...
- reduce方法应用技巧
定义和用法 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. 注意: reduce() 对于空数组是不会执行回调函数的. 浏览器支持 方法 Chro ...
- opencv之膨胀与腐蚀
腐蚀和膨胀 Erosion/Dilation erosion/dilation,用白话说,就是让图像亮的区域收缩和扩张. 原理 我们定义一个卷积核矩阵.这个矩阵可以是任何形状的,但通常而言,是矩形或者 ...
- Oracle自带工具sql优化集-SQL Tuning Advisor (使用心得体会)
如何有效的诊断和监控高负载的SQL对于DBA来说并非是件容易的事情,对SQL语句手工调优需要很多的经验和技巧, 结合个人经验常见如下问题: . 对SQL语句本身进行优化以便获得更优的 ...
- PCA 算法核心:高维度向量向低维度投影
Principal Component Analysis:主成分分析 步骤 5 步: 1.去平均值,也就是将向量中每一项都减去各自向量的平均值 2.计算矩阵的方差,协方差,特征值, 3,.把特征值从大 ...
- 初识Django,了解一下大概流程
学习Django一个礼拜了,对其有了一个大概的了解,自己画了一个简单的图,虽然有点丑,但是基本上已经把自己所想已经表达 写完这篇随笔之后发现自己逻辑表述的有点不太清晰,有点乱,哪里不对,希望各位指正 ...
- Python之反射机制
什么是反射? 1.有时我们要访问某个变量或是方法时并不知道到底有没有这个变量或方法,所以就要做些判断.判断是否存在字符串对应的变量及方法.2.我们知道访问变量时是不能加引号的,否则会被当成字符串处理. ...