Python特性总结

本文总结了Python的关键特性,包括其强类型动态脚本语言的性质、解释性、日志模块的使用、类型转换方法、Python2与Python3的主要区别、性能优化手段、作用域规则、Python的定义以及命名空间的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、Python是强类型的动态脚本语言

二、Python是解释性语言

三、Python日志模块

四、Python类型转换

五、Python2 与Python3 的主要区别

六、关于提升Python 程序性能的手段

七、Python 中的作用域

八、什么是Python

九、Python 的命名空间


一、Python是强类型的动态脚本语言

强类型:不允许不同类型相加

动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。

脚本语言:一般也是解释型语言,运行代码只需要一个解释器,不需要编译。

二、Python是解释性语言

计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语

言编写的程序。

解释性语言在运行程序的时候才会进行翻译。

编译型语言写的程序在执行之前,需要一个专门的编译过程,把程序编译成机器语言(可执行文件)。

三、Python日志模块 

Python 自带logging 模块,调用logging.basicConfig()方法,配置需要的日志等级和相应的参数,Python 解释器会按照配

置的参数生成相应的日志。 

四、Python类型转换

内建函数封装了各种转换函数,可以使用目标类型关键字强制类型转换,进制之间的转换可以用int(‘str’,base=’n’)将特定

进制的字符串转换为十进制,再用相应的进制转换函数将十进制转换为目标进制。

可以使用内置函数直接转换的有:

list---->tuple tuple(list)

tuple---->list list(tuple)

五、Python2 与Python3 的主要区别

1、核心类差异

1) Python3 对Unicode 字符的原生支持

Python2 中使用ASCII 码作为默认编码方式导致string 有两种类型str 和unicode,Python3 只支持unicode 的string。

Python2 和Python3 字节和字符对应关系为:

2) Python3 采用的是绝对路径的方式进行import。Python2 中相对路径的import 会导致标准库导入变得困难(想象一下,

同一目录下有file.py,如何同时导入这个文件和标准库file),Python3 中这一点将被修改,如果还需要导入同一目录的文

件必须使用绝对路径,否则只能使用相关导入的方式来进行导入。

3) Python2中存在老式类和新式类的区别。

Python3 统一采用新式类。新式类声明要求继承object,必须用新式类应用多重继承。

4) Python3 使用更加严格的缩进Python2 的缩进机制中,1 个tab 和8 个space 是等价的,所以在缩进中可以同时允许tab

和space 在代码中共存。这种等价机制会导致部分IDE 使用存在问题。Python3 中1 个tab 只能找另外一个tab 替代,因此

tab 和space 共存会导致报错:TabError:inconsistent use of tabs and spaces in indentation.

2、废弃类差异

  • print 语句被Python3 废弃,统一使用print 函数
  • exec 语句被python3 废弃,统一使用exec 函数
  • execfile 语句被Python3 废弃,推荐使用exec(open("./filename").read())
  • 不相等操作符"<>"被Python3 废弃,统一使用"!="
  • long 整数类型被Python3 废弃,统一使用int
  • xrange 函数被Python3 废弃,统一使用range,Python3 中range 的机制也进行修改并提高了大数据集生成效率
  • Python3 中这些方法不再返回list 对象:dictionary 关联的keys()、values()、items(),zip(),map(),filter(),但是可以通过list 强行转换
  • 迭代器iterator 的next()函数被Python3 废弃,统一使用next(iterator)
  • raw_input 函数被Python3 废弃,统一使用input 函数
  • 字典变量的has_key 函数被Python 废弃,统一使用in 关键词
  • file 函数被Python3 废弃,统一使用open 来处理文件,可以通过io.IOBase 检查文件类型
  • apply 函数被Python3 废弃
  • 异常StandardError 被Python3 废弃,统一使用Exception

六、关于提升Python 程序性能的手段

  • 使用多进程,充分利用机器的多核性能
  • 对于性能影响较大的部分代码,可以使用C 或C++编写
  • 对于IO 阻塞造成的性能影响,可以使用IO 多路复用来解决
  • 尽量使用Python 的内建函数
  • 尽量使用局部变量

七、Python 中的作用域

Python 中,一个变量的作用域总是由在代码中被赋值的地方所决定。当Python 遇到一个变量的话它会按照这的顺序进行搜索:

本地作用域(Local)--->当前作用域被嵌入的本地作用域(Enclosing locals)--->全局/模块作用域(Global)--->内置作用域(Built-in)

八、什么是Python

Python 是一种编程语言,它有对象、模块、线程、异常处理和自动内存管理,可以加入其他语言的对比

Python 是一种解释型语言,Python 在代码运行之前不需要解释

Python 是动态类型语言,在声明变量时,不需要说明变量的类型

Python 适合面向对象的编程,因为它支持通过组合与继承的方式定义类

在Python 语言中,函数是第一类对象

Python 代码编写快,但是运行速度比编译型语言通常要慢

Python 用途广泛,常被用走"胶水语言",可帮助其他语言和组件改善运行状况

使用Python,程序员可以专注于算法和数据结构的设计,而不用处理底层的细节

九、Python 的命名空间

在Python 中,所有的名字都存在于一个空间中,它们在该空间中存在和被操作——这就是命名空间。它就好像一个盒

子,每一个变量名字都对应装着一个对象。当查询变量的时候,会从该盒子里面寻找相应的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值