快来看啊!原来Python里还有这些的一些有趣的东西!

简介: 快来看啊!原来Python里还有这些的一些有趣的东西!

相信大家使用python也或多或少有一段时间了,只是用它来写代码,却没有发现它里面其实有很多神奇的事情

Python 作为一门开源的语言,它的社区为其贡献了一些十分幽默的东西。之前有一篇《Python中的惊喜彩蛋》已经给大家做过介绍了,这次我们就来看看新的更好玩的东西吧~


TIPS:如果您想观察彩蛋,可以加上休眠时间。



640.jpg



来只乌龟压压惊


Python 有一个酷酷的很有趣的库,叫turtle,他是用来画图的,但是他的本质就是只小乌龟哦!没想到它真的能看出小乌龟吧!来看看吧:

import turtle
import time
t =turtle.Pen()
t.shape("turtle")
for i in range(1000):
    time.sleep(1)
    t.forward(i)


(仔细看!

640.png




数字最大是多少

在Python中,无穷大的hash是10^5×π。有趣的是, float(“-inf”)的hash在Python 3版本里是“-10^5×π”而在Python 2版本里是“-10^5×e”。(虽然Python2在20天以前已经不在维护了~)


>>> infinity = float('infinity')
>>> hash(infinity)
314159
>>> hash(float('-inf'))
-314159
3

使用re.DEBUG查看正则表达式的匹配过程

正则表达式是Python的一大特色,但是调试起来会很痛苦,很容易得出一个bug。幸运的是,Python可以打印出正则表达式的解析树,通过re.debug来显示re.compile的完整过程。一旦你理解了语法,你就可以发现你的错误。

re.compile("^\[font(?:=(?P<size>"
    "[-+][0-9]{1,2}))?\](.*?)[/font]",
    re.DEBUG)
at at_beginning
literal 91
literal 102
literal 111
literal 110
literal 116
max_repeat 0 1
  subpattern None
    literal 61
    subpattern 1
      in
        literal 45
        literal 43
      max_repeat 1 2
        in
          range (48, 57)
literal 93
subpattern 2
  min_repeat 0 65535
    any None
in
  literal 47
  literal 102
  literal 111
  literal 110
  literal 116



enumerate函数

enumerate()是python的内置函数

enumerate在字典上是枚举、列举的意思

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

enumerate多用于在for循环中得到计数


>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>>list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>>list(enumerate(seasons, start=1))       # 小标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]




面试官灵魂拷问:函数默认参数

面试官们经常在试中出这样的一道题目:

def hello(a=[]):
    a.append(1)
    return a

调用这个函数的结果是多少,我再调用一次,结果是多少?

很明显结果不可能都是[1]

print(hello())
[1]
print(hello())
[1, 1]
print(hello())
[1, 1, 1]



万能的eval()函数

将字符串str当成有效的表达式来求值并返回计算结果。

它可以把字符串里面的任何结构都变出来,还可以计算表达式的值。非常的灵活好用。例子如下:

str1 = "[1,2,3,4,5]"
print(eval(str1), type(eval(str1)))
[1, 2, 3, 4, 5] <class 'list'>
str2 = "1+2-3*4/(2-5)"
print(eval(str2), type(eval(str2)))
7.0 <class 'float'>
str3 = "{1:'a', 2:'c'}"
print(eval(str3), type(eval(str3)))
{1: 'a', 2: 'c'} <class 'dict'>



Python的爱情观

python也有自己的爱情观,这个大家就不知道了吧!!!哈哈。

import this
love = this

这就是爱!

this is love
True

爱是对的!不对!

love is True
False

爱是错的!不对!

love is False
False

爱不分对错!嗯!

love is not True or False
True

爱就是爱啊!

love is love
True


大家如果感觉还不错的话,就请点个'在看'吧!感谢!

相关文章
|
2月前
|
机器学习/深度学习 数据挖掘 算法框架/工具
Python
Python
16 1
|
9月前
|
机器学习/深度学习 数据采集 人工智能
【python简单介绍】
【python简单介绍】
55 0
|
JSON NoSQL MongoDB
每天一个Python小技巧(3)
每天一个Python小技巧(3)
122 0
每天一个Python小技巧(3)
|
Python
用python画福字
春节快到了,一年一度的支付宝集五福活动就要来了,阿牛也是突发奇想,看能不能用python的turtle库画个"福"字,试了很久,我的这个“福“”字终于看起来可以了,现将源码分享给大家,拿过去放到python的环境中就可以直接运行哦!嘿嘿嘿!这五福手到擒来啦!
177 0
用python画福字
|
Python
python练习
python练习
140 0
python练习
|
机器学习/深度学习 人工智能 运维
[Python]介绍
python特点 既然介绍python,我们肯定先要知道python相比其他语言到底有什么优点以及缺点。 优点:
227 0
[Python]介绍
|
Python 数据采集
python HTML解析器
一般的爬虫解析 html 用  sgmlib 或者 lxml 解析  lxml 解析速度是 BS 的 20 倍以上 http://www.
784 0
|
数据安全/隐私保护 Python
|
JavaScript Python
【Python】Python3之i18n
最近在完成阿里云MVP共创任务定pgAdmin4定制任务的时候,接触到了Python的本地化与国际化,了解了Python多语言化的基本知识,记录一下分享。其中涉及Python基础类库gettext,大家可访问link。
1388 0
|
Python
Python小技巧
One For All!!! 导包 取别名 from math as foobar from module1 import open as open1 from module2 import open as open2 查找Python的模块位置 >>> import sys,pprint >>> pprint.
814 0