Python基础知识

一、Python 2.x 与 Python 3.x 的区别及关系是什么?

1、使用 __future__ 模块

    Python 3.x 引入了一些与 Python 2.x 不兼容的关键字和特性。在 Python 2.x 中,可以通过内置的 __future__ 模块导入这些新内容。如果希望在 Python 2.x 中编写的代码可以成功地在 Python 3.x 中执行,建议使用 __future__ 模块。

2、print() 函数

    Python 2.x 的 print 语句被 Python 3.x 的 print() 函数取代。

3、整数除法

    Python 2.x 将 / 解释为普通除法,而 Python 3.x 将其解释为真除法。

4、Unicode

    Python 2.x 有基于 ASCII 的 str() 类型,可通过单独的 unicode() 函数转成 unicode 类型,没有 byte 类型;Python 3.x 中有 Unicode(UTF-8)字符串和两个字节类(bytes 和 bytearrays)。

5、xrange

    Python 2.x 中会用 xrange() 创建一个可迭代对象,通常出现在“for 循环”或“列表/集合/字典推导式”中。Python 3.x 中,range() 函数的实现方式与 xrange() 函数相同,所以 xrange() 函数废除。

6、触发异常

    Python 2.x 支持带括号和不带括号的两种异常触发的语法,而 Python 3.x 只支持带括号的语法,对不带括号的语法,执行时会触发 SyntaxError 错误。

7、处理异常

    Python 3.x 中处理异常必须使用 as 关键字,而在 Python 2.x 中不需要。

8、next() 函数和 .next() 方法

    在 Python 2.x 中,next() 和 .next() 都可以使用;而 Python 3.x 中,只能使用 next() 函数。

9、使用 input() 解析输入内容

    Python 3.x 改进了 input() 函数,将用户的输入总是存储为 str 对象;Python 2.x 中,会发生因读取非法字符串类型的一些危险行为,不得不使用 raw_input() 代替 input()。

10、返回可迭代对象,而不是列表

    某些函数和方法在 Python 3.x 中返回的是可迭代对象,Python 2.x 中返回列表。此时,如果需要列表对象,可通过 Python 3.x 的 list() 函数即可将可迭代对象转换为列表。

二、Python 代码编写规范

1、缩进

    行尾的冒号以及下一行的缩进表示一个代码块的开始,而缩进结束则表示一个代码块结束了。同一个级别的代码块的缩进量必须相同。

2、注释

    Python 中常用的注释方式主要有两种:

        1)单行注释:以符号 # 开始,表示本行 # 之后的内容为注释。

        2)多行注释:包含一对三引号('''...''')或("""...""")之间且不属于任何语句的内容将被解释器认为是注释。

3、每个 import 语句只导入一个模块。

4、可以在行尾使用续行符“\”来表示下面紧接的一行仍属于当前行,但一般建议使用括号来包含多行内容。

5、使用必要的空格与空行增强代码的可续性

6、适当使用异常处理结构提高程序的容错性和健壮性。

7、软件应具有较强的可测试性,测试与开发齐头并进。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值