Python
༺დ小浪人༻
这个作者很懒,什么都没留下…
展开
-
Python 的条件赋值(选择性赋值)
在Python中可以通过使用精简版 if...else...语句来实现条件赋值,类似于一些语言的三目运算符>>> flag = 1>>> t = 'yes' if text == 1 else 'no'>>> t'no'>>> >>> x = 'yes' if text != 1 else 'no'>>> x'yes'>>> ...原创 2020-08-04 21:22:42 · 10963 阅读 · 0 评论 -
Python的特殊属性: __slots__
在Python中不知存在着特殊方法(魔术方法),还存在着特殊属性:__slots__在Python中,用户自定义的类的属性会默认保存在 __dict__ 属性中。__dict__ 属性对应的是一个用来储存类属性的字典。字典内的值可以通过简单的语句instanceName.__dict__直接查看,和查看一个普通的类属性一样。而 __slots__ 属性的作用就是:取代__dict__属性,将类属性保存到 __slots__中。__slots__属性是一个元组,具体用法如下:# Py...原创 2020-08-03 00:05:47 · 196 阅读 · 0 评论 -
在Python中,if a in b 的效率更高还是直接比较更高?
import timedef main_1(): li = [x for x in range(5000000)] start = time.clock() if 2500000 in li: end = time.clock() print('1-执行时间: ', end-start)def main_2(): x = 2500000 start = time.clock() if x > 0 and x &l.原创 2020-07-26 01:44:10 · 3153 阅读 · 0 评论 -
Python 创建多维空列表
# 以三维空列表为例3d_list = [ [ [] for j in range(9) ] for i in range(9) ]列表推导式的生成值可以是空列表 [],因此只要利用列表推导式的复合循环即可轻松达到目的原创 2020-07-23 01:04:45 · 7404 阅读 · 3 评论 -
【Python3.8 官方文档4.7.3.4】位置参数 name 和 **kwds 之间由于存在关键字名称 name 而可能产生潜在冲突
在 Python3.8 的官方文档中的 4.7.3.4的一个示例中:摘自原文:最后,请考虑这个函数定义,它的位置参数 name 和 **kwds 之间由于存在关键字名称 name 而可能产生潜在冲突:def foo(name, **kwds): return 'name' in kwds任何调用都不可能让它返回 True,因为关键字 'name' 将总是绑定到第一个形参。起初并不太理解这个函数,为什么说“任何调用都不可能让它返回 True”。在学习了 *和 **...原创 2020-07-16 16:21:54 · 365 阅读 · 0 评论 -
在Python,循环语句 for 和 while 竟然可以搭配 else 语句!!
循环语句可能带有 else 子句;它会在循环耗尽了可迭代对象 (使用 for) 或循环条件变为假值 (使用 while) 时被执行,但不会在循环被 break 语句终止时被执行。 以下搜索素数的循环就是这样的一个例子:>>> for n in range(2, 10):... for x in range(2, n):... if n % x == 0:... print(n, 'equals', x, '*', n//x)..原创 2020-07-15 16:08:46 · 2008 阅读 · 0 评论 -
Python中的比较操作的可传递性(a < b == c)
像 a < b == c这种比较操作在Python中是合法的这条操作的含义是:是否 a 小于 b 并且 b 等于 c原创 2020-07-15 14:54:44 · 3545 阅读 · 2 评论 -
Python中的del语句——变量删除
Python中的del语句作用是删除变量,而不是删除数据>>> a = 1 # 变量a赋值>>> b = a # 将a赋值给b>>> del a # 删除a变量>>> b # 查看b变量的值1>>> a # 查看a变量Traceback (most recent call last): File "<stdin>原创 2020-07-15 14:26:15 · 2277 阅读 · 0 评论