专栏首页Python爬虫与数据分析Python3.6的新特性f-string和新字典

Python3.6的新特性f-string和新字典

应该大多数的写Python的都知道这个特性,所以这篇文章是给不知道的同学写的,知道的就跳过吧。

用Python3.6版本这么久了,竟然才知道有这么一个特别方便的特性

f-string, 上面是官方文档,我用翻译翻了一下

------

格式化的字符串文字以前缀'f'为的格式字符串为前缀,并且与之接受的格式字符串类似str.format()。它们包含由花括号包围的替换字段。替换字段是表达式,在运行时进行评估,然后使用format()协议进行格式化 :

--------

从字符串中提取的表达式在f字符串出现的上下文中计算。这意味着表达式可以完全访问本地和全局变量。可以使用任何有效的Python表达式,包括函数和方法调用。

更详细的文档可以看这里

https://docs.python.org/3.6/reference/lexical_analysis.html#f-strings

之前最常用的就是formatat或者%,如下:

sql = ("insert into student ("
       "id, name, gender, tall, weight)"
       "values("
       " '%s', '%s', '%s', '%s', '%s');" %(id,name,gender,tall,weight)
       )

只有5个字段的表,都要写这么冗余的%s,所以一旦字段很多,那么发生字符串拼接的错误概率就会变大。这样看来并不友好。。。

然后我们来试试新特性,使用方法就是f'{}'

res = requests.get(f'https://www.kugou.com/yy/html/search.html#searchType=song&searchKeyWord={keyword}')

你可以访问本地和全局变量,表达式,函数都可以,这样是不是爽多了

还有其他更多的用法:

看这篇文章:

https://mlln.cn/2018/05/19/python3%20f-string%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95/

这个就讲的很详细了,我就不写了。

在Python3.8中

翻译:

添加=说明符到f-strings。f'{expr=}'扩展到表达式的文本,等号,然后是已计算表达式的repr

所以在Python3.8中添加了=,之后就可以使用f-strings,做简单的调试,加上=之后会自动打印结果。

还有一个我觉得其实写代码都没有注意过的新特性就是,现在字典是有序的,而以前的字典是无序的

翻译:

该字典类型现在使用基于“紧凑”表示由雷蒙德的Hettinger提议 这是第一次由PyPy实现。dict()与Python 3.5相比,新内存的使用量减少了20%到25%。

这个新实现的顺序保留方面被认为是一个实现细节,不应该依赖(这可能会在未来发生变化,但是在更改语言规范之前,希望在几种版本的语言中使用这个新的dict实现为所有当前和未来的Python实现强制命令保留语义;这也有助于保持与随机迭代顺序仍然有效的语言的旧版本的向后兼容性,例如Python 3.5)。

具体为什么是有序,为什么速度快了,看这篇文章:

https://www.cnblogs.com/Fushengliangnian/p/11202915.html

参考链接:

1、https://docs.python.org/3.8/whatsnew/3.6.html
2、https://blog.csdn.net/s740556472/article/details/81111493
3、https://www.cnblogs.com/Fushengliangnian/p/11202915.htm
精彩推荐

机器学习&深度学习&人工智能资料

python基础资料

数据分析资料

数据分析 —numpy基础(三)

数据分析 — numpy基础(二)

数据分析 — numpy基础(一)

所有爬虫文章的归类

本文分享自微信公众号 - Python爬虫scrapy(python_scrapy),作者:AndrewAndrea

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 爬虫爬取英文文档存为PDF,在读取PDF自动翻译文档

    这几天在爬了Python的官方文档,但是它里面全是英文,只有数字,没有汉字,原谅我这个英语渣渣搞不懂,只能靠翻译了,如果是复制到百度翻译的话太慢...

    andrew_a
  • 爬取网站文章将图片保存到本地并将HTML的src属性更改到本地

    每次当你爬取一篇文章时,不管是从csdn或者其他网站,基本内容都是保存在一个富文本编辑器中,将内容提取出来还是一个html,保存之后图片还在别人...

    andrew_a
  • 关于爬虫

    我是今年实习的时候接触的Python,接触了具体的代码,以前只知道Python比较好玩,但是没用过。然后在公司以后项目用的是Python的Django框架,就一...

    andrew_a
  • 安装oracle11g 遇到INS-13001环境不满足最低要求 解决方法

    在安装时点击setup.exe之后,出现了:[INS-13001]环境不满足最低要。

    拓荒者
  • 人工智能和数据科学的七大 Python 库

    本文作者Favio Vázquez从2018年开始发布《数据科学和人工智能每周文摘:Python & R》系列文章,为数据科学家介绍最好的库、rep...

    加米谷大数据
  • 【Python环境】Python面试题汇总(二)

    【 题目:031】 | 介绍一下except的用法和作用 try/except: 捕捉由PYTHON自身或写程序过程中引发的异常并恢复 e...

    陆勤_数据人网
  • 使用VMware15安装Linux(CentOS6.5)

    ![1593571534159](https://imgconvert.csdnimg.cn/aHR0cHM6Ly90aWFuY2l4aW9uZy5jb2Rpb...

    脚印
  • LeetCode - 删列造序

    LeetCode第944题,难度简单。名字很奇怪,刚刚看到这道题,打算写公众号的时候,第一时间根本想不起来这题目想干嘛呀。

    晓痴
  • 让Python提速超过30倍的必杀技:Cython

    人工智能最火的语言,自然是被誉为迄今为止最容易使用的代码之一的Python。Python代码素来以直观、高可读性著称。

    新智元
  • GitHub热榜第一,标星近万:这个用Python做交互式图形的项目火了

    这一工具名为Bokeh,官方介绍称,它能读取大型数据集或者流数据,以简单快速的方式为网页提供优美、高交互性能的图形。

    代码医生工作室

扫码关注云+社区

领取腾讯云代金券