有趣的python项目_开源项目精选:Wtfpython——更有趣的 Python 教程

Wtfpython讲解了大量的Python编译器的内容。其实它们不一定很实用,只要程序员按照规范的语法输入基本上是不会碰到其中的“BUG“的,不过其中有一部分内容是真的很有趣或者可能有用,这里将其中几个较为有用或有趣的摘录下来,看看能否激起大家前去一阅的兴趣。

Tips:

1.python中对“-”号的定义:Pyhon的自由度真的很高啊,不过这个自由度是建立在定义严格的基础上的。-”号是“+”号的反向,具体一点,就是这样:

wtfpython_first.png

2.多线程处理:多个Python线程不会同时运行你的Python代码。多线程看起来很直观,可以派生出几个线程,让他们同时执行你的Python代码,但是由于Python存在全局解释器锁(Global Interpreter Lock),你所做的只是让你的线程在相同的内核上轮流执行。Python线程适用于IO绑定任务,但为了实现CPU绑定任务的Python实际并行化,您可能需要使用Python 多处理模块(multiprocessing module)。

有关全局解释器锁的内容可以查看官方文档:

3.关于count函数:

‘abc’.count(”) == 4.

Count函数用于统计字符串中某个子串的出现次数,以下代码模拟了该函数的执行过程,或许可以解释这个问题:

def count(s, sub):

result = 0

for i in range(len(s) + 1 – len(sub)):

result += (s[i:i + len(sub)] == sub)

return result

4.两个特殊字符串:

nan与inf意义分别是“不存在”与“无穷大”,这两个概念在被强制转换为float类型后生效。即:

a=float(‘inf’) 正无穷大

b=float(‘-inf’)负无穷大

c=float(‘nan’)不存在的数

这样的话会有:

>>>a+3

inf

>>>b+3

-inf

>>>c+3

nan

Ps:无限的哈希值是10 5 xπ

5.+=的优先级要比+高,除非你把+号连接的内容打上括号。

6.以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 not True or False; love is love  # Love is complicated(复杂的)

True

算一个梗吧,哈哈。

7.global的使用:

在函数外定义的变量,可以被函数引用,但是如果函数内有同名变量的赋值(不论位置),引用都会触发错误。

例:

a = 1

def some_func():

return a

def another_func():

a += 1

return a

运行:

>>> some_func()

1

>>> another_func()

UnboundLocalError: local variable ‘a’ referenced before assignment

除非改成这样:

def another_func()

global a

a += 1

return a

8、关于哈希:

some_dict = {}

some_dict[5.5] = “Ruby”

some_dict[5.0] = “JavaScript”

some_dict[5] = “Python”

运行:

>>> some_dict[5.5]

“Ruby”

>>> some_dict[5.0]

“Python”

>>> some_dict[5]

“Python”

由于5.0的哈希值与5相同,因此JavaScript被Python覆盖了(emmmm,满满的恶意)

测试两键哈希是否相同用hash(a)==hash(b)即可。

由于存取只以哈希值为标准,因此字典也被称作哈希表。

9.当并列的语句都含有return时,以最后一句的内容为准。

def some_func():

try:

return ‘from_try’

finally:

return ‘from_finally’

运行:

>>> some_func()

‘from_finally’

更多内容:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值