重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“有趣的Python用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有趣的Python用法有哪些”吧!
创新互联建站主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、营销推广、网站程序开发、HTML5响应式重庆网站建设公司、手机网站制作设计、微商城、网站托管及网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为PE包装袋行业客户提供了网站营销服务。1.for-else用法
循环正常结束则执行else语句。一般用于循环找符合条件的元素,如果找到则break
调出循环,不会触发else
;如果没有找到(完整运行循环)则print not found
《Effictive Python》一书中对for-else用法提出了质疑,主要观点是可以通过封装成函数来取代这一用法,而封装成函数是更加通用易懂的做法,所以一般不会使用for-else用法。
2.try-else用法
如果没有触发异常就执行else
3.解包用法
类似这样a,b,c = ['a', 'b', 'c']
4.单行if-else
a = 1 b = 3 if a == 1 else 2 print('it is one' if a == 1 else 'no')
5.迭代器传入函数中不用加括号
# 一般是这样 a = (i for i in range(10)) sum(a) # 我们可以这样 sum((i for i in range(10))) # 但我们还可以这样 sum(i for i in range(10)) # 类似的有 ' '.join(str(i) for i in range(10))
7.or的用法
python中x or y
表示如果x为真就是x的值,否则为y的值
我们会经常看到类似这样的用法(比如函数的一个value
参数没有设置默认值,这样使用就允许它不赋值)
value = value or {} # 相当于 value = value if value else {}
8.and的用法
python中x and y
表示如果x是假,结果就是x的值,否则就是y的值
x and y and z
多个and连接时,如果全是真结果就是最后一个的值;如果中间有假的值,结果就是第一个假的值
举一个例子
def not_empty(a): return a and a.strip() not_empty(' a ') # 值为 'a' not_empty(None) # 不会报错(如果 return a.strip() 就会报错) # 在处理None的问题上相当于 def not_empty(a): if a is None: return None else: return a.strip()
细细品味and和or的差别,他们逻辑类似,但是实现的功能是不可以相互替代的
or 是结果如果不满意有个善后工作
and是要做一件事之前先检验一下,不能做就不让它做
9.if value:
# 要用 if value: # 不要用 if value == True:
这里总结一下这种情况下什么时候是True
,什么时候是False
False: 0 0.0 '' [] {} () set() None False
True:
' ' 'anything' [''] [0] (None, )
没有内容的可迭代对象
另外要注意一点,我们用if
判断一个对象是不是None
的时候,要if a is None
而不要直接if a
,因为如果是后者,有非常多不是None
的情况也会判定为False
,比如空字符串、空列表等,为了精确指定None
还是要用前者,这也是一种规范。
10.下划线的特殊使用
python中下划线是一种特殊的变量和符号,有一些特殊的用途
11.文档字符串
python有一种独一无二的注释方式,在包、模块、函数、类中第一句,使用'''doc'''
这样三引号注释,就可以在对象中用__doc__
的方式提取
比较规范的写法是这样的(这里参考grequests
模块的写法)
def myfun(a, b): '''add two numbers :param a: one number :param b: another number :returns: a number ''' print(a + b) print(myfun.__doc__) # 结果为 add two numbers :param a: one number :param b: another number :returns: a number
其实参数还有其他的写法,如numpy
库的写法,可以看
这里
除此之外,函数注释还有另一种方式,函数名可以直接调用某个参数的注释
1.sum的本质
本质:sum(iterable, start=0)
将可迭代对象使用+
连接
所以sum([[1,2],[3,4]], [])
返回结果为[1, 2, 3, 4]
2.range(start, stop[, step])
可以直接用for i in range(10, 0, -1)
降序循环
3.enumerate循环索引
for index, item in enumerate(['a', 'b', 'c']): print(index, item) 输出: 0 a 1 b 2 c
4.管道操作
func1(func2(func3(a)))写成类似a %>% func3 %>% func2 %>% func1,清晰展示函数执行的顺序,增强可读性
python本身不带有这样的用法,只是一些库提供了这样的用法,比如pandas和syntax_suga
感谢各位的阅读,以上就是“有趣的Python用法有哪些”的内容了,经过本文的学习后,相信大家对有趣的Python用法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!