Python学习笔记——起步

news2024/11/18 15:32:37

Python 2 和 Python 3的区别

一、维护及版本更新不同

官方通知python2 2020开始已不再维护,python3的版本还在不断迭代更新 。

因为python2官方不再维护且python3的广泛使用,很多新的算法包、AI包等其他功能模块包都是基于python3开发的,python2基本不兼容。

二、两个版本所使用的编码不同 

python2使用的是ASCII编码,如果想要支持中文的话,需要更改一下字符集,添加coding:utf-8 ;

python3使用的是utf-8编码,是支持中文的。

三、语法上发生变化 

1、不相等操作符"<>"被 Python3 废弃,统一使用"!=";

2、整型除法运算‘/’python2返回的是整数,python3整型除法返回的是浮点数,python3中除法返回整数使用//(整除);

3、python3中加入了nonlocal声明。使用noclocal x可以声明该函数上部层级中的变量;

4、python3中去除了print语句,使用print()函数替代使用。还有 exec语句也被exec()函数替代;

5、python3中输入函数改变了(读取键盘输入的方法),其实Python2中raw_input()和input( ),两个函数都存在,只不过input()函数只对数字有用;

Python3中对两个函数进行了整合,把raw_input()去掉了,增强input()函数的功能,使其将所有输入当作字符串来处理,并返回字符串类型;

6、python3中加入了关键词as 和with ;

7、python3中增加了f' {} ',格式化,在python2中是没有这个功能的;

str = 'Hello_Python'
print(f'输出得字符串是:{str}')

四、数据类型的使用上发生变化

1、python3去除了长整型long类型,只保留整型int

2、python3中str表示字符串序列,byte表示字节序列;python2中Unicode表示字符串序列,str表示字节序列;

3、字典类型下的方法.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃了has_key()用 in替代了它的使用;

五、异常的捕捉发生变化

1、在Python3中,只有继承自BaseException的对象才可以被抛出,换句话说异常类全部继承自BaseException,python2中各类型对象均可以抛出, 并且异常StandardError 也被Python3废弃,统一使用Exception;

2、捕获异常的语法改变,用 raise Exception(args)代替 raise Exception, args语法,并且引入了as关键字来标识异常实例;

六、python3引入了抽象基类

python3中引入了Abstraact Base Classes,ABCs抽象基类,并且也因此增加了@abstractmethod和 @abstractproperty两个装饰器,对于编写抽象方法更加方便。

七、其它变化

1、xrange() 改为range(),如果想用range()创建一个list,需要进行强类型转换。比如:list(range(10));

2、序列化模块python3中把python2中的cpickle移除,换成pickle模块使用;

3、zip()、map()和filter()都返回迭代器。而apply()、 callable()、coerce()、 execfile()、reduce()和reload()函数都被去除了。python2中的callable(func)函数在python3中可以使用hasattr(func, '__call__');python2中reduce() 在python3中使用functools模块包中的reduce();

4、比较的返回不同,如果x < y的不能比较,抛出TypeError异常。python2版本是返回伪随机布尔值的;

5、file类在pytho3中被废弃,并且python3中只能使用open(....)去打开文件;

搭建 Python 编程环境

1、安装Python

下载Python安装程序地址:http://python.org/downloads/

下载Python 3的按钮,根据你的系统自动下载正确的安装程序。下载安装程序后,运行它。

安装时选中复选框Add Python toPATH 能让你能够更轻松地配置系统。 

 2、从终端运行 Python 程序

在命令窗口中,进入运行程序hello_world.py所在的目录,执行命令:python hello_world.py 

 Python 命令行参数:

选项描述
-d在解析时显示调试信息
-O生成优化代码 ( .pyo 文件 )
-S启动时不引入查找Python路径的位置
-V输出Python版本号
-X从 1.6版本之后基于内建的异常(仅仅用于字符串)已过时。
-c cmd执行 Python 脚本,并将运行结果作为 cmd 字符串。
file在给定的python文件执行python脚本。

 3、Python 环境变量 

变量名描述
PYTHONPATHPYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
PYTHONSTARTUPPython启动后,先寻找PYTHONSTARTUP环境变量,然后执行此变量指定的文件中的代码。
PYTHONCASEOK加入PYTHONCASEOK的环境变量, 就会使python导入模块的时候不区分大小写.
PYTHONHOME另一种模块搜索路径。它通常内嵌于的PYTHONSTARTUP或PYTHONPATH目录中,使得两个模块库更容易切换。

 4、Python VScode 配置

 VSCode 完整安装教程参考:VScode 教程 | 菜鸟教程

安装 VS Code Python 扩展:

 右击文件,选择"在终端中运行 Python 文件":

3、运行 hello_world.py 时发生的情况

运行文件hello_world.py时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词 print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LaTeX使用方法

1.工具 1.生成表格&#xff1a;LaTeX Tables Editor 2.生成公式&#xff1a;Online LaTeX Equation Editor 、texmath demo、在线LaTeX公式编辑器-编辑器 2.技巧 1.插入图片&#xff1a; \begin{figure}[t] %t表示图片置顶&#xff0c;h表示指定位置&#xff0c;b表示置底…

条件分支if和else的使用详解

顺序结构没什么好讲的&#xff0c;就是从上到下的写代码&#xff0c;所以接下来&#xff0c;壹哥就直接带各位来学习分支结构里的条件分支。我们在前面说过&#xff0c;分支结构&#xff0c;或者叫做条件分支&#xff0c;其实有两种情况。一种是if...else...类型的条件分支&…

vue组件通信6种方式总结(常问知识点)

前言 在Vue组件库开发过程中&#xff0c;Vue组件之间的通信一直是一个重要的话题&#xff0c;虽然官方推出的 Vuex 状态管理方案可以很好的解决组件之间的通信问题&#xff0c;但是在组件库内部使用 Vuex 往往会比较重&#xff0c;本文将系统的罗列出几种不使用 Vuex&#xff…

X.509证书详解

概述 X.509是公钥基础设施&#xff08;PKI&#xff09;的标准格式。X.509证书就是基于国际电信联盟&#xff08;ITU&#xff09;制定的X.509标准的数字证书。X.509证书主要用于识别互联网通信和计算机网络中的身份&#xff0c;保护数据传输安全。X.509证书无处不在&#xff0c…

Spring之底层架构核心概念-过滤器

文章目录1.excludeFilters:排除过滤器2.includeFilters:包含过滤器3.问题&#xff1a;spring为什么能通过是否有Component注解来判断是否需要去注册bean呢&#xff1f;3.1 看源码3.2 原因4.总结1.excludeFilters:排除过滤器 用excludeFilters排除UserService 这个类后&#xf…

nature级别图表:单细胞转录组细胞比例统计可视化函数

单细胞转录组细胞比例&#xff1a; 关于单细胞比例的计算和作图我们之前出过3期&#xff0c;单细胞比例的展示是很多单细胞文章必不可少的内容&#xff1a;跟着Cell学单细胞转录组分析(六):细胞比例计算及可视化 相信跟着学习的小伙伴已经掌握了。最近学习一篇《nature medici…

JavaScript 数组-概念,创建数组,遍历数组,新增元素

JavaScript 数组-概念&#xff0c;创建数组&#xff0c;遍历数组&#xff0c;新增元素 目录JavaScript 数组-概念&#xff0c;创建数组&#xff0c;遍历数组&#xff0c;新增元素1. 数组的概念2. 创建数组2.1 数组的创建方式2.2 利用 new 创建数组2.3 利用数组字面量创建数组2.…

模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序)

模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序) 目录 模式分类识别 | BiLSTM双向长短期记忆神经网络数据多特征分类预测(Matlab完整程序)分类结果基本介绍程序设计参考资料分类结果

深度学习实验(五)——循环神经网络编程

深度学习实验五:循环神经网络编程 本次实验练习使用torch.nn中的类设计一个循环神经网络进行MNIST图像分类。 在本次实验中&#xff0c;你要设计一个CNN&#xff0c;用于将282828 \times 282828的MNIST图像转换为MMDM\times M\times DMMD的特征图&#xff0c;将该特征图看作是…

我,做了两年程序员,存了巨款5000,你们拿什么跟我比?

&#x1f550;没错&#xff0c;标题所见&#xff0c;从21年1月份开始从事程序员工作也过了两年了&#xff0c;今年还是没有存到钱。 今年换了一份工作&#xff0c;四月份的时候&#xff0c;从惠州换到了广州工作&#xff0c;从制造业转行到了政务行业&#xff0c;工资涨了&…

Keithley 2604B数字源表-安泰测试

Keithley 2600B 系列系统 SMU 仪器是业界标准电流-电压源和测量解决方案&#xff0c;适用于高度自动化生产测试应用。 双通道和单通道型号都紧密集成一个精密电源、真正电流源、数字万用表和具有脉冲生成功能的电子负载。 另外&#xff0c;TSP? 技术可运行完整测试程序&#x…

多点双向重发布的应用

目录 1.拓扑图 2.实验思路 3.主要配置 4.测试 5.实验总结 1.拓扑图 2.实验思路 在配置完RIP和OSPF之后&#xff0c;在2&#xff0c;3号设备上进行多点的双向重发布由于在进行了多点的双向重发布之后&#xff0c;会出现大量的负载均衡&#xff0c;导致选路不佳的问题解决办…

前端工程师leetcode算法面试必备-二叉树深度广度遍历

一、前言 Medium 难度主要考察结合二叉树性质的 CRUD 操作&#xff0c;而这一切的基础都离不开遍历二叉树。 二叉树是图的子集&#xff0c;因而同样适用以下两种搜索思想&#xff1a; **DFS&#xff08;深度优先搜索&#xff09;&#xff1a;**沿着根节点递归下去&#xff0c…

普通程序员怎么赚多份钱?解锁更多赚钱新姿势

在当下这个社会&#xff0c;学会如何make money很重要。 咱们是个俗人&#xff0c;赚钱才是社会生存的头等大事。这不是高山流水的世界&#xff0c;而是能力创造财富&#xff0c;对于程序员来说&#xff0c;更是如此。 作为程序员&#xff0c;我们有更多挣钱的姿势&#xff01;…

通过一个测试项目了解EF CORE

首先用vs2019创建一个.net core项目 可以是控制台应用程序,也可以是asp.net core项目 如果你使用控制台应用程序, 则可以在Main方法中直接使用EF Core进行CRUD操作。这通常用于测试或开发时快速进行数据库操作。 如果你使用ASP.NET Core应用程序, 则可以在控制器中使用EF Cor…

低温超导系统中实现液氦温度准确控制的解决方案

摘要&#xff1a;针对目前两种典型低温超导测试系统中存在的液氦压力控制精度较差的问题&#xff0c;本文提出了相应的解决方案。解决方案分别采用了直接压力控制和流量控制两种技术手段和配套数控阀门&#xff0c;结合24位AD和16位DA的超高精度的PID真空压力控制器和压力传感器…

第三十九章 贪心算法——区间问题(下)

第三十九章 贪心算法——区间问题&#xff08;下&#xff09;一、区间问题1&#xff1a;最大不相交区间数量1、思路详解2、代码实现二、区间问题2&#xff1a;区间覆盖1、问题2、思路3、代码一、区间问题1&#xff1a;最大不相交区间数量 1、思路详解 这道题和前一章讲的最后一…

IDEA 使用的小技巧

1、调整 idea 的虚拟内存&#xff1a; 尽管本质都是去改变 .vmoptions 配置文件&#xff0c;但推荐使用Change Memory Settings去调整&#xff0c;选择Edit Custom VM Options 或者在本地磁盘目录更改&#xff0c;通过某些方法破解的 idea 很可能造成 idea 打不开的情况 2、显…

【数据结构-源码分析】HashMap源码分析(超级详细)

文章内容1、HashMap简介2、类结构3、属性4、构造方法5、方法5.1、put方法5.2、resize方法6、jdk1.8的优化1、HashMap简介 HashMap基于哈希表的Map接口实现&#xff0c;是以key-value存储形式存在。&#xff08;除了不同步和允许使用 null 之外&#xff0c;HashMap 类与 Hashta…

Oracle数据库同步复制工具Beedup产品功能(二)

接续...... 8、对象比较 Beedup提供主从库相关对象比较功能&#xff0c;比对结果包含各类对象概要统计及差异详情。 支持Oracle、SQL Server、MySQL、DB2 对象比较。 9、 对象恢复 Beedup在向从库写入数据时会禁用目标表的关联触发器&#xff0c;另外对于Oracle 序列的状态…