经常逛GitHub的可能关注一个牛叉的项目,叫 What the f*ck Python!

这个项目列出了几乎所有python中那些鲜为人知的功能特性,有些功能第一次遇见时,你会冒出 what the f**k 的感叹。

因为这些例子看起来反人类直觉。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

但是如果你理解了它背后的真正原理,你又会惊叹what the f**k, 竟然还有这么骚的操作。

来看看几个例子吧。

微妙的字符串

>>> a = "wtf"
>>> b = "wtf"
>>> a is b
True>>> a = "wtf!"
>>> b = "wtf!"
>>> a is b
False>>> a, b = "wtf!", "wtf!"
>>> a is b
True # 3.7 版本返回结果为 False.
复制代码

出乎意料的"is"

>>> a = 256
>>> b = 256
>>> a is b
True>>> a = 257
>>> b = 257
>>> a is b
False>>> a = 257; b = 257
>>> a is b
True
复制代码

说好的元组不可变呢

some_tuple = ("A", "tuple", "with", "values")
another_tuple = ([1, 2], [3, 4], [5, 6])>>> some_tuple[2] = "change this"
TypeError: 'tuple' object does not support item assignment
>>> another_tuple[2].append(1000) # 这里不出现错误
>>> another_tuple
([1, 2], [3, 4], [5, 6, 1000])
>>> another_tuple[2] += [99, 999]
TypeError: 'tuple' object does not support item assignment
>>> another_tuple
([1, 2], [3, 4], [5, 6, 1000, 99, 999])
复制代码

消失的全局变量

e = 7
try:raise Exception()
except Exception as e:pass
复制代码

输出

>>> print(e)
NameError: name 'e' is not defined
复制代码

到底返回哪个值

def some_func():try:return 'from_try'finally:return 'from_finally'
复制代码

输出

>>> some_func()
'from_finally'
复制代码

诸如此类的例子一共有50多个

如果你能把这50多个特性背后的原理机制全部了解清楚,我相信你的python功力一定会上升一个层次。

https://github.com/leisurelicht/wtfpython-cn

python中那些鲜为人知的功能特性相关推荐

  1. python中strip的用法_Python中你不知道的strip()函数的妙用

    [开胃小菜] 当提到python中strip方法,想必凡接触过python的同行都知道它主要用来切除空格.有以下两种方法来实现. 方法一:用内置函数if name == 'main' : str = ...

  2. python中append函数合并列表且列表内数字从高到低_35个高级Python知识点总结

    No.1 一切皆对象 众所周知,Java中强调"一切皆对象",但是Python中的面向对象比Java更加彻底,因为Python中的类(class)也是对象,函数(function) ...

  3. python工程师薪资坑吗-Python中反人类直觉的特性,你踩过坑吗?

    Python是一个基于C语言实现的解释型高级语言, 提供了很多舒适的功能特性,使用起来非常方便.但有的时候, Python的输出结果,让我们感觉一头雾水,其中原因自然是Python语言内部实现导致的, ...

  4. python中格式化字符串_Python中所有字符串格式化的指南

    python中格式化字符串 Strings are one of the most essential and used datatypes in programming. It allows the ...

  5. python中什么最重要_Python 3中被忽视了的三大重要功能

    全文共2201字,预计学习时长6分钟 图源:unsplash Python 3上线已有一段时间,大多数开发人员(特别是那些首次编程的人)已经在使用它了.不过,你确定已经对Python 3研究透彻了吗? ...

  6. Python中的类、实例以及方法,MRO继承解析顺序以及Mixin类

    Contents 1. 什么是类和实例 2. 类的实例方法.类方法和静态方法 3. MRO是什么,描述其查找顺序 4. Mixin是什么,描述其应用场景 5. References 1. 什么是类和实 ...

  7. Python中 5个非常有用的单行代码

    Python中 5个非常有用的单行代码 1. 什么是单行代码? 2. 了解和使用单行代码的好处 3. 5个单行代码示例 参考 作为开发人员,你想提高生产力吗?掌握这 5 个 Python 一行代码,你 ...

  8. Python中的数据可视化工具与方法——常用的数据分析包numpy、pandas、statistics的理解实现和可视化工具matplotlib的使用

    Python中的数据可视化工具与方法 本文主要总结了: 1.本人在初学python时对常用的数据分析包numpy.pandas.statistics的学习理解以及简单的实例实现 2.可视化工具matp ...

  9. python中错误useofeval_Python-使用pd.eval()在熊猫中进行动态表达评估

    小编典典 这个答案潜入各种特性和功能的提供pd.eval,df.query和df.eval. 设置 示例将涉及这些DataFrame(除非另有说明). np.random.seed(0) df1 = ...

最新文章

  1. java apache压缩多个文件大小_Java压缩多个文件并导出
  2. 数据结构和算法:递归和迭代算法示例
  3. 飞桨PaddlePaddle送算力 | 每日登录即送12小时,连续5天还有加送!
  4. 箭头函数特殊性与普通函数的区别
  5. 支持markdown的服务器,Vuejs中使用markdown服务器端渲染的示例
  6. C/C++课程设计 之职工管理系统
  7. 练字格子纸模板pdf_这么好用的模板,我要好好保存下来!
  8. Python零基础学习笔记(三十九)—— time
  9. HeidiSQL软件推荐( MySQL 服务器和数据库管理的图形化界面)
  10. NOSQL数据库习题
  11. 解决ajaxSubmit无法传递自动回填和下拉框的数据
  12. PHP文件运行步骤及数据库的连接
  13. windows server 2008 安装及VS2008和VS 2008 SP1安装
  14. 2019主流浏览器市场占有率及其内核
  15. html 百分比 rem,rem的坑,为什么要设置成百分比,为什么又是62.5%
  16. 金蝶KIS软件操作小技巧
  17. Python科学计算库(Numpy)基础篇(IDE为Pycharm)- 数组数值计算
  18. USB与串口的区别简要总结
  19. Android SELinux 的认知以及 init 的相关知识,Linux 环境利用这2个模块进行白名单测试 -- 架构分析
  20. 个人向的前端的坑坑洼洼的记录(1)

热门文章

  1. 数据结构与算法-时间复杂度
  2. python删除列表中的元素
  3. MongoDB 副本集管理
  4. BZOJ 3450: Tyvj1952 Easy [DP 概率]
  5. python学习---简介
  6. Cisco-CCNP之OSPF链路状态路由协议(二)
  7. C#制作Windows service服务系列二:演示一个定期执行的windows服务及调试(windows service)(转载)...
  8. Exchange 2007 删除 某时间段 特定主题 的邮件
  9. jQuery 方法 属性
  10. VC 实现文件夹属性的获取与更改