iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python进阶笔记【2】 --- 一
  • 910
分享到

python进阶笔记【2】 --- 一

进阶笔记python 2023-01-31 08:01:58 910人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

我是在学习cs231n的assignment3的课程,发现里面的代码大量频繁出现了这个库,那我就很奇怪了,为什么有个future这个奇怪名字的库会出现呢?到底这个库又有什么用?下面就让我为你揭开。 总所周知,python3.x和pyt

我是在学习cs231n的assignment3的课程,发现里面的代码大量频繁出现了这个库,那我就很奇怪了,为什么有个future这个奇怪名字的库会出现呢?到底这个库又有什么用?下面就让我为你揭开。

总所周知,python3.x和python2.x根本就是两个东西,每次因为这个兼容性的问题都会把自己搞疯。

下面很多内容参考廖雪峰博客

Python 2.7到Python 3.x就有不兼容的一些改动,比如2.x里的字符串用'xxx'表示str,Unicode字符串用u'xxx'表示unicode,而在3.x中,所有字符串都被视为unicode,因此,写u'xxx'和'xxx'是完全一致的,而在2.x中以'xxx'表示的str就必须写成b'xxx',以此表示“二进制字符串”。

于是呢。

Python提供了__future__模块,把下一个新版本的特性导入到当前版本,于是我们就可以在当前版本中测试一些新版本的特性。举例说明如下:

为了适应Python 3.x的新的字符串的表示方法,在2.7版本的代码中,可以通过unicode_literals来使用Python 3.x的新的语法:

# still running on Python 2.7

from __future__ import unicode_literals

print '\'xxx\' is unicode?', isinstance('xxx', unicode)
print 'u\'xxx\' is unicode?', isinstance(u'xxx', unicode)
print '\'xxx\' is str?', isinstance('xxx', str)
print 'b\'xxx\' is str?', isinstance(b'xxx', str)


输出结果:

'xxx' is unicode? True
u'xxx' is unicode? True
'xxx' is str? False
b'xxx' is str? True

类似的情况还有除法运算。在Python 2.x中,对于除法有两种情况,如果是整数相除,结果仍是整数,余数会被扔掉,这种除法叫“floor deviation”:

>>> 10 / 3
3

要做精确除法,必须把其中一个数变成浮点数:

>>> 10.0 / 3
3.3333333333333335

而在Python 3.x中,所有的除法都是精确除法,floor deviation 用//表示:

$ python3
Python 3.3.2 (default, Jan 22 2014, 09:54:40) 
[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.2.79)] on darwin
Type "help", "copyright", "credits" or "license" for more infORMation.
>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3

如果你想在Python 2.7的代码中直接使用Python 3.x的除法,可以通过__future__模块的division实现:

from __future__ import division

print '10 / 3 =', 10 / 3
print '10.0 / 3 =', 10.0 / 3
print '10 // 3 =', 10 // 3

结果如下:

10 / 3 = 3.33333333333
10.0 / 3 = 3.33333333333
10 // 3 = 3

所以总结来说,__future__就好像这个名字一样,未来,就是为了让你在python2.x的情况下使用python3.x的东西,具体还有很多的详细使用方式就需要好好看看api了。

api传送门
feature不多,才7个。

--结束END--

本文标题: python进阶笔记【2】 --- 一

本文链接: https://www.lsjlt.com/news/193361.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python进阶笔记【2】 --- 一
    我是在学习cs231n的assignment3的课程,发现里面的代码大量频繁出现了这个库,那我就很奇怪了,为什么有个future这个奇怪名字的库会出现呢?到底这个库又有什么用?下面就让我为你揭开。 总所周知,python3.x和pyt...
    99+
    2023-01-31
    进阶 笔记 python
  • Python进阶笔记
    列表生成式 函数的参数类型 lambda函数 map, reduce, filter, sorted函数 eval, exec, join, zip函数 itertools中的函数 copy与deepcopy函数 模块 os、sys模块...
    99+
    2023-01-31
    进阶 笔记 Python
  • [Python入门及进阶笔记]Pytho
    博客迁往:新地址 (点击直达) 新博客使用markdown维护,线下有版本库,自己写的所以会定时更新同步,同时提供更好的导航和阅读体验 csdn对markdown支持不好,所以旧版不会花时间进行同步修订,抱歉 ------------...
    99+
    2023-01-31
    进阶 入门 笔记
  • Python3入门与进阶笔记(一):基本
    Number:数字int 和 float       python3中的整型只有int,小数只有float.。type函数可以用来查看类型。       /表示小数除法,例如2/2=1.0,type(2/2)是float。       /...
    99+
    2023-01-31
    进阶 入门 笔记
  • Python学习笔记(2)
    Unicode字符串: GB2312编码为表示中文产生 python内部编码是unicode编码Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填0 就可以以Unicode表示的字...
    99+
    2023-01-31
    学习笔记 Python
  • Python学习笔记(2)
    Python开发IDE:pycharm   ,eclipse 快捷键:Ctrl+?整体注释 一·运算符   +(加)   -(减)  *(乘)   /(除)  **(幂)  %(余)   //(商)     判断某个东西是否在某个东西里边...
    99+
    2023-01-30
    学习笔记 Python
  • Python学习笔记2——Python概
    Python概述   语言:交流的工具,沟通媒介   计算机语言:人跟计算机交流的工具,翻译官   Python是计算机语言里的一种     代码:人类语言,同过代码命令机器,跟机器交流     Python解释器: 就是那个担任翻译工作...
    99+
    2023-01-30
    学习笔记 Python
  • python3-2笔记
    一.深复制和浅复制1.引用和赋值引用是一个值,指向某些数据列表引用是指向一个列表的值当你将列表赋给你一个变量时,实际上是将列表的‘引用’赋给了改变变量。id() : 在内存中一个独特的空间,相当于索引>>> a=[1,2,...
    99+
    2023-01-31
    笔记
  • python学习笔记2—python文件
    python学习笔记2——python文件类型、变量、数值、字符串、元组、列表、字典一、Python文件类型1、源代码python源代码文件以.py为扩展名,由pyton程序解释,不需要编译[root@localhost day01]# v...
    99+
    2023-01-31
    学习笔记 文件 python
  • python笔记(一)
    字符串处理单双引号一样.title():将每个单词的首字母变为大写,其余小写(不管原来是什么样).upper():将字符串中所有字母变为大写.lower():将字符串中所有字母变为小写.strip():删除行首和行末的空白(空格和制表符)(...
    99+
    2023-01-31
    笔记 python
  • Python第五周 学习笔记(2)
    一、实现一个cache装饰器,实现可过期被清除的功能 简化设计,函数的形参定义不包含可变位置参数、可变关键词参数和keyword-only参数 可以不考虑缓存满了之后的换出问题 1)原始 def cache(fn): imp...
    99+
    2023-01-31
    学习笔记 Python
  • C语言进阶:指针的进阶(2)
    目录数组指针数组指针的定义&数组名和数组名数组指针的使用反面用例正面用例Example类型辨别方法总结数组指针 由前面的例子,不难得出,数组指针是指向数组的指针,是指针而非...
    99+
    2024-04-02
  • 【黑马程序员】mysql进阶篇笔记
    2023年10月26日17:50:43 58.01. 进阶-课程介绍(Av765670802,P58) 59.02. 进阶-存储引擎-MySQL体系结构(Av765670802,P59) 60.03....
    99+
    2023-10-27
    mysql 笔记 数据库
  • Python学习笔记:第2天while循
    目录 1. while循环 continue、break和else语句 2. 格式化输出 3. 运算符 ...
    99+
    2023-01-30
    学习笔记 Python
  • 2018-12-3python笔记(2.
    python的强大之处在于它有很多的模块和方法比如 string os sys 模块 模块是Python组织代码的基本方式。一个Python脚本可以单独运行,也可以导入到另一个脚本中运行,当脚本被导入运行时,我们将其称为模块(module)...
    99+
    2023-01-31
    笔记 python
  • Python学习笔记(2)比特操作、类、
    下面的笔记内容依然来自于codecademy 比特操作注意一: 适用范围 Note that you can only do bitwise operations on an integer. Trying to do them on s...
    99+
    2023-01-31
    学习笔记 操作 Python
  • docker笔记2-docker介绍
        docker是基于go语言实现的云开源项目。    docker的主要目标是“Build,Ship and Run Any App,Anywher...
    99+
    2023-06-04
  • python3学习笔记(2)----p
    1、python3的基本数据类型 Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。等号(=)用来给...
    99+
    2023-01-31
    学习笔记
  • 【gcc】RtpTransportControllerSend学习笔记 2
    在【gcc】RtpTransportControllerSend学习笔记 1 中, 跟着 大神ishen 从RtpTransportControllerSend 到cc-controller对gc...
    99+
    2023-10-07
    学习 笔记
  • JAVA学习笔记- - - day 2
     💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和大家一起进步成长💕 目录  💕前言:作者是一名正在学习JAVA的初学者,每天分享自己的学习笔记,希望能和...
    99+
    2023-09-04
    学习
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作